@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
  scroll-padding-top: 0rem;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #000;
  font-size: 2rem;
  background: rgba(233, 233, 233, 0.8901960784);
}

.contenedor {
  width: 90%;
  max-width: 100rem;
  margin: 0 auto;
}

p {
  color: #000;
  line-height: 1.5;
}

h1, h2, h3 {
  margin: 0 0 5rem 0;
  font-weight: 900;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 4.6rem;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
}

body > section {
  padding: 10rem 0;
}

section {
  scroll-margin-top: 120px;
}

.header {
  background: #fff;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  border-bottom: 0.3rem solid #FF7A3D;
}
.header .contenedor {
  padding: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 768px) {
  .header .contenedor {
    flex-wrap: nowrap;
  }
}

.logo img {
  height: 6rem;
  width: auto;
}

.menu-toggle {
  font-size: 3rem;
  color: #FF7A3D;
  background: none;
  border: none;
  cursor: pointer;
}
@media (min-width: 825px) {
  .menu-toggle {
    display: none;
  }
}

.navegacion {
  width: 100%;
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-top: 1rem;
}
.navegacion a {
  font-family: "Montserrat", sans-serif;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  color: #000;
  transition: color 0.2s;
}
.navegacion a:hover, .navegacion a.active {
  color: #FF7A3D;
}
.navegacion.activo {
  display: flex;
}
@media (min-width: 825px) {
  .navegacion {
    width: auto;
    display: flex !important;
    flex-direction: row;
    margin-top: 0;
  }
}

.btn-contacto {
  padding: 12px;
  background: #FF7A3D;
  color: #fff !important;
  border-radius: 6px;
  display: block;
  width: 100%;
  text-align: center;
}
.btn-contacto:hover {
  background: #e96a25;
}
@media (min-width: 825px) {
  .btn-contacto {
    width: auto;
    display: inline-block;
    padding: 8px 18px;
  }
}

/* ========== */
.submenu {
  position: relative;
  text-align: center;
}

.submenu-items {
  display: none;
  flex-direction: column;
  gap: 1rem;
}
.submenu-items a {
  font-size: 14px;
  white-space: nowrap;
}

@media (min-width: 825px) {
  .submenu:hover .submenu-items {
    display: flex;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
    min-width: 220px;
    border-radius: 6px;
  }
}
.submenu > a::after {
  content: " ▼";
  font-size: 10px;
}

@media (max-width: 767px) {
  .submenu > a::after {
    display: none;
  }
  .submenu-items {
    display: none !important;
  }
}
.navegacion a[href="index.html"] {
  /* móvil y tablet */
  display: none;
  /* escritorio */
}
@media (min-width: 1200px) {
  .navegacion a[href="index.html"] {
    display: inline-block;
  }
}

/* ================================
   SECCION INNOVACION
================================ */
.innovacion {
  position: relative;
  width: 100%;
  padding-bottom: 40rem;
}

/* ================================
   IMAGEN DE FONDO
================================ */
.innovacion-bg img {
  width: 100%;
  height: auto;
  max-height: 80rem;
  object-fit: cover;
  display: block;
  transform: translateY(-10rem);
}

@media (max-width: 768px) {
  .innovacion-bg img {
    max-height: 35rem;
  }
}
@media (max-width: 480px) {
  .innovacion-bg img {
    max-height: 30rem;
  }
}
/* ================================
   TARJETA / CARD
================================ */
.innovacion-card {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%) translateY(-3rem);
  z-index: 2;
  background: rgba(10, 35, 70, 0.95);
  padding: 4rem;
  width: 90%;
  max-width: 600rem;
  border-radius: 1rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}
@media (min-width: 825px) {
  .innovacion-card {
    width: 90%;
    max-width: 230rem;
    transform: translateX(-50%) translateY(-12rem);
  }
}

/* ================================
   CONTENIDO DE LA CARD
================================ */
.innovacion-card h2 {
  font-size: 3rem;
  color: #fff;
}

.innovacion-card span {
  color: #FF7A3D;
}

.innovacion-card p {
  margin-bottom: 1.5rem;
  color: #fff;
}

/* BOTONES */
.btn-contactanos {
  display: inline-block;
  padding: 12px;
  background: #FF7A3D;
  color: #fff !important;
  border-radius: 6px;
  text-decoration: none;
  margin-top: 1rem;
}
.btn-contactanos:hover {
  background: #e96a25;
}

/* ESTADISTICAS */
.estadisticas {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.stat {
  display: flex;
  flex-direction: column;
}

.stat strong {
  font-size: 2.5rem;
  font-weight: 700;
  color: #FF7A3D;
}

.stat span {
  font-size: 1.6rem;
  color: #fff;
}

/* ================================
   MOBILE
================================ */
@media (max-width: 480px) {
  .innovacion {
    padding-bottom: 0;
  }
  .innovacion-card {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    transform: translateY(-4rem);
    width: 100%;
    max-width: 100%;
    margin-top: -6rem;
    padding: 3rem;
    border-radius: 0;
  }
  .extra {
    display: none;
  }
  .ver-mas-btn {
    display: block;
    margin: 1rem 0;
    color: #FF7A3D;
    cursor: pointer;
    font-weight: 600;
    text-decoration: none;
  }
  .ver-mas-btn:hover {
    text-decoration: underline;
  }
}
/* ================================
   UTILIDADES
================================ */
.ver-mas-movil summary {
  cursor: pointer;
  color: #FF7A3D;
  font-weight: 600;
  margin-top: 1rem;
}

.ver-mas-movil summary::marker {
  display: none;
}

@media (min-width: 768px) {
  .extra {
    display: block;
  }
  .ver-mas-btn {
    display: none;
  }
}
.mostrar {
  display: block !important;
}

/* =================================
   linea de separacion
================================= */
.scroll-linea {
  width: 100%;
  height: 6px;
  background: #e5e5e5;
  position: relative;
  overflow: hidden;
}

.scroll-progreso {
  width: 0%;
  height: 100%;
  background: #FF7A3D;
  transition: width 4s ease-out;
}

/* =================================
   SECCION SERVICIOS
================================= */
.contenido-servicios {
  position: relative;
  padding: 6rem 0;
  overflow: visible;
  /* contenedor limitado */
  width: 95%;
  max-width: 140rem;
  margin: 0 auto;
  /* fondo que se expande a toda la pantalla */
}
.contenido-servicios::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background-color: #E6D5CF;
  z-index: -1;
}
.contenido-servicios h2 {
  text-align: center;
  margin: 0 auto 1.5rem auto;
}
.contenido-servicios p {
  font-size: 1.5rem;
  text-align: justify;
  max-width: 80rem;
  margin: 0 auto 1.5rem auto;
}

/* =================================
   GRID
================================= */
.cards-servicios {
  padding: 1rem;
  display: grid;
  gap: 2rem;
}
@media (min-width: 825px) {
  .cards-servicios {
    padding: 2rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
  }
}

/* =================================
   CARD
================================= */
.card-servicio {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 1.8rem;
  border-radius: 1.5rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  transition: transform 0.25s, box-shadow 0.25s;
}
@media (min-width: 825px) {
  .card-servicio {
    padding: 2.5rem;
  }
}
.card-servicio:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px #FF7A3D;
}
.card-servicio h3 {
  margin-bottom: 1rem;
  font-size: 1.9rem;
}
@media (min-width: 825px) {
  .card-servicio h3 {
    font-size: 2.2rem;
  }
}
.card-servicio p {
  font-size: 1.5rem;
}
@media (min-width: 825px) {
  .card-servicio p {
    font-size: 1.8rem;
  }
}
.card-servicio ul {
  text-align: left;
  padding-left: 1.5rem;
}

/* =================================
   ICONO
================================= */
.card-servicio svg {
  width: 3rem;
  height: 3rem;
  color: #FF7A3D;
  margin-bottom: 1rem;
}
@media (min-width: 825px) {
  .card-servicio svg {
    width: 4rem;
    height: 4rem;
  }
}

/* =================================
   LISTA
================================= */
li {
  font-size: 1.5rem;
}
@media (min-width: 825px) {
  li {
    font-size: 1.8rem;
  }
}

/* =================================
   BOTON
================================= */
.btn-servicios {
  margin-top: auto;
  padding: 10px;
  font-size: 1.5rem;
  background: white;
  color: #FF7A3D !important;
  border: 2px solid #FF7A3D;
  border-radius: 6px;
  text-decoration: none;
  display: block;
  width: 100%;
  text-align: center;
}
@media (min-width: 825px) {
  .btn-servicios {
    padding: 12px;
    font-size: 1.6rem;
  }
}
.btn-servicios:hover {
  background: #FF7A3D;
  color: #fff !important;
}

.viñeta div {
  display: flex;
  flex-direction: column;
}

/* 🔥 SECTION (solo fondo) */
.contenido-aeropuerto {
  position: relative;
  min-height: clamp(60rem, 90vh, 100rem);
}

/* 🔥 OVERLAY */
.contenido-aeropuerto::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

/* 🔥 CONTENIDO */
.contenedor-aeropuerto {
  width: 95%;
  max-width: 140rem;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 100vh;
  gap: 2rem;
}
@media (min-width: 825px) {
  .contenedor-aeropuerto {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    text-align: left;
  }
}

/* CONTENIDO TEXTO */
.contenido-aereo h1 {
  margin-top: 2rem;
  font-size: 2.8rem;
  color: white;
}
@media (min-width: 825px) {
  .contenido-aereo h1 {
    font-size: 3.6rem;
  }
}
.contenido-aereo .inicial {
  color: white;
}
.contenido-aereo p {
  margin-top: 1rem;
  font-size: 1.6rem;
}
@media (min-width: 825px) {
  .contenido-aereo p {
    font-size: 1.8rem;
  }
}

/* IMAGEN */
.imagen-aeropuerto {
  border-radius: 4rem;
  width: 100%;
  height: auto;
  margin-top: 2rem;
}
@media (min-width: 825px) {
  .imagen-aeropuerto {
    height: 40rem;
    object-fit: cover;
  }
}

/* LISTA */
.aeropuerto {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* VIÑETAS */
.viñeta {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  text-align: left;
}

/* ICONO */
.viñeta svg {
  width: 2rem;
  height: 2rem;
  color: #FF7A3D;
  flex-shrink: 0;
}
@media (min-width: 825px) {
  .viñeta svg {
    width: 2.4rem;
    height: 2.4rem;
  }
}

/* CONTENEDOR TEXTO */
.viñeta div {
  display: flex;
  flex-direction: column;
}

/* TITULO */
.viñeta strong {
  font-size: 1.6rem;
}
@media (min-width: 825px) {
  .viñeta strong {
    font-size: 2rem;
  }
}

/* TEXTO */
.viñeta span {
  font-size: 1.4rem;
}
@media (min-width: 825px) {
  .viñeta span {
    font-size: 1.8rem;
  }
}

/* BOTON */
.btn-contactanosaereo {
  display: inline-block;
  padding: 10px 20px;
  background: #FF7A3D;
  color: #fff !important;
  border-radius: 6px;
  text-decoration: none;
  font-size: 2rem;
}
@media (min-width: 825px) {
  .btn-contactanosaereo {
    font-size: 1.6rem;
  }
}
.btn-contactanosaereo:hover {
  background: #e96a25;
}

/* ICONO TITULO */
.avion {
  width: 3rem;
  height: 3rem;
}
@media (min-width: 825px) {
  .avion {
    width: 4rem;
    height: 4rem;
  }
}

/* 🔥 CARRUSEL COMO FONDO */
.innovacion-imagen {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* Carrusel */
.carousel,
.carousel-inner,
.carousel-item {
  height: 100%;
}

.carousel-item img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

/* 📱 MOBILE */
@media (max-width: 480px) {
  .contenido-aeropuerto {
    min-height: 70vh;
  }
  .contenedor-aeropuerto {
    min-height: 70vh;
  }
}
.logofooter img {
  height: 6rem;
  width: auto;
}

.footer {
  background-color: #101828;
  padding: 1rem 0;
  border-top: 0.8rem solid #FF7A3D;
}
.footer h3 {
  font-size: 1.8rem;
}

.contenedor {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem;
}

@media (min-width: 825px) {
  .footer .contenedor {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
    gap: 10rem;
  }
}

.footer-col {
  text-align: center;
  color: white;
  margin-bottom: 3rem;
}
@media (min-width: 825px) {
  .footer-col {
    text-align: left;
    margin-bottom: 0;
  }
}

.footer p,
.footer li {
  text-align: justify;
  color: rgb(219, 214, 214);
  line-height: 1.6;
  font-size: 1.2rem;
}

.footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 825px) {
  .footer ul {
    align-items: flex-start;
    gap: 1.2rem;
  }
}

.footer ul li a {
  color: rgb(219, 214, 214);
  text-decoration: none;
  font-size: 1.2rem;
  transition: 0.2s;
}
.footer ul li a:hover {
  color: #FF7A3D;
}

.footer-bottom {
  background-color: #101828;
  border-top: 0.3rem solid #FF7A3D;
  padding: 1.2rem 0;
}
.footer-bottom p {
  margin: 0;
  font-size: 14px;
  color: #ddd;
}

.footer-bottom .contenedor {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 825px) {
  .footer-bottom .contenedor {
    flex-direction: row;
    justify-content: space-between;
  }
}

.redes {
  display: flex;
  gap: 1.5rem;
}
.redes a {
  color: #fff;
  font-size: 1.2rem;
  transition: 0.2s;
}
.redes a:hover {
  color: #FF7A3D;
}

.footer h3 {
  margin-bottom: 0.8rem;
}

.footer ul {
  margin: 0;
}

.footer ul li {
  margin: 0;
}

.footer p {
  margin: 0.4rem 0;
}

.pagina-contacto {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.pagina-contacto .contacto {
  flex: 1;
}

.contacto {
  padding: 2.2rem 2rem;
  padding-top: 12rem;
  background: #f6f7f9;
}
.contacto h1 {
  font-size: 4rem;
  margin-bottom: 2rem;
}
.contacto h2 {
  font-size: 2.3rem;
  margin-bottom: 0.2rem;
}
.contacto p, .contacto strong, .contacto .viñeta {
  font-size: 1.5rem;
}
.contacto p span, .contacto strong span, .contacto .viñeta span {
  font-size: 1.5rem;
}

.contacto-grid {
  max-width: 110rem;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
}

.contacto-info h1 span {
  color: #ff7a3d;
}

.viñeta {
  background: #fff;
  padding: 1.5rem;
  margin-bottom: 1rem;
  border-radius: 10px;
}

.formulario {
  background: white;
  padding: 2rem;
  border-radius: 1.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.campo-doble {
  display: flex;
  gap: 1rem;
}

input, select, textarea {
  margin-top: 2rem;
  width: 100%;
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}

textarea {
  margin-top: 1rem;
  height: 15rem;
  resize: none;
}

.btn {
  margin-top: 2rem;
  width: 100%;
  padding: 1rem;
  background: #ff7a3d;
  border: none;
  color: white;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  .contacto-grid {
    grid-template-columns: 1fr;
  }
}
.redes-contacto {
  display: flex;
  gap: 1.2rem;
  margin-top: 2rem;
}
.redes-contacto a {
  display: inline-flex;
  transition: transform 0.2s;
}
.redes-contacto a:hover {
  transform: scale(1.5);
}

.colab {
  background-color: #ffdfc2;
}

.contenido-colaboracion {
  margin: 2rem auto;
  text-align: center;
}
.contenido-colaboracion h2 {
  font-size: 3rem;
  margin-bottom: 2rem;
}
@media (min-width: 825px) {
  .contenido-colaboracion h2 {
    font-size: 4rem;
  }
}
.contenido-colaboracion p {
  max-width: 80rem;
  margin: 0 auto;
  font-size: 1.6rem;
  text-align: justify;
  margin-bottom: 2rem;
  font-weight: bold;
}
@media (min-width: 825px) {
  .contenido-colaboracion p {
    font-size: 1.8rem;
  }
}

@media (max-width: 480px) {
  .contenido-colaboracion {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .contenido-colaboracion p {
    text-align: left;
  }
}
/* ---------------- BLOQUE AEROPUERTOS ---------------- */
.bloque p {
  text-align: center;
}
.bloque h3 {
  margin-top: 1rem;
  font-size: 2rem;
  color: #FF7A3D;
}

/* ---------------- CARRUSEL RESPONSIVO ---------------- */
#carouselAeropuertos {
  width: 100%;
  height: 250px; /* base móvil */
  overflow: hidden;
}

#carouselAeropuertos .carousel-inner,
#carouselAeropuertos .carousel-item {
  height: 100%;
}

#carouselAeropuertos .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* tablets */
@media (min-width: 768px) {
  #carouselAeropuertos {
    height: 400px;
  }
}
/* desktop */
@media (min-width: 1024px) {
  #carouselAeropuertos {
    height: 720px !important;
  }
}
/* ---------------- SCROLL ESTADOS ---------------- */
.scroll-contenedor {
  transform: translateY(-7rem);
  overflow: hidden;
  width: 100%;
}

.scroll {
  display: flex;
  width: max-content;
  align-items: center;
  animation: carrusel 45s linear infinite;
}

.grupo {
  display: flex;
}

.item {
  flex: 0 0 200px;
  margin-right: 40px;
}

@keyframes carrusel {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.scroll:hover {
  animation-play-state: paused;
}

.item {
  margin-top: 3rem;
  flex: 0 0 160px;
  padding: 15px;
  border: 2px solid #FF7A3D;
  border-radius: 12px;
  background: #fafafa;
  text-align: center;
}
.item p {
  text-align: center;
}
.item .estado {
  font-weight: bolder;
}
@media (min-width: 825px) {
  .item {
    flex: 0 0 220px;
    padding: 20px;
  }
}

.item svg {
  width: 35px;
  height: 35px;
  fill: #FF7A3D;
  margin-bottom: 10px;
}
@media (min-width: 825px) {
  .item svg {
    width: 40px;
    height: 40px;
  }
}

/* ---------------- BLOQUE INFO ---------------- */
.bloque-info {
  width: 95%;
  max-width: 140rem;
  margin: 0 auto;
  margin-top: -15rem;
  padding: 25px;
  border: 2px solid #ddd;
  border-radius: 12px;
  background: linear-gradient(90deg, #fca24f, #f54e00);
  text-align: center;
  color: white;
}
.bloque-info h3 {
  margin-bottom: 2rem;
  font-size: 2rem;
}
.bloque-info span {
  color: white;
  font-weight: bolder;
}
@media (min-width: 825px) {
  .bloque-info {
    margin-top: -15rem;
    padding: 30px;
  }
}

.bloque-info p {
  max-width: 600px;
  margin: 15px auto 40px;
}

/* ---------------- ICONOS ---------------- */
.iconos-info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  justify-items: center;
}
@media (min-width: 825px) {
  .iconos-info {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}
@media (min-width: 1200px) {
  .iconos-info {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
  }
}

.icono-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.4rem;
  max-width: 200px;
  text-align: center;
}

/* centrar quinto icono en grid */
.iconos-info .icono-info:last-child {
  grid-column: 1/-1;
  justify-self: center;
}
@media (min-width: 1200px) {
  .iconos-info .icono-info:last-child {
    grid-column: auto;
  }
}

.icono-info svg {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
}
@media (min-width: 825px) {
  .icono-info svg {
    width: 45px;
    height: 45px;
  }
}

/* ---------------- BOTON ---------------- */
.btn-contactocolab {
  padding: 12px 18px;
  background: #FF7A3D;
  color: #fff !important;
  border-radius: 6px;
  text-decoration: none;
  margin-top: 2rem;
  display: inline-block;
}
.btn-contactocolab:hover {
  background: #e96a25;
}
@media (min-width: 825px) {
  .btn-contactocolab {
    padding: 10px 22px;
  }
}

.contenido-colab {
  text-align: center;
  font-size: 2rem;
}

.contenido-fyb {
  position: relative;
  margin-top: 10rem;
  margin-bottom: 6rem;
  padding: 4rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.contenido-fyb h1 {
  color: #eee;
}
.contenido-fyb .fyb-imagen {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.contenido-fyb .fyb-imagen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.6);
}
.contenido-fyb .fyb-contenido {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 1200px;
  width: 100%;
}
@media (min-width: 1200px) {
  .contenido-fyb {
    padding: 6rem 4rem;
  }
}

.contenido-fyb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.titulo-garantia {
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 3rem;
  font-size: 28px;
  color: #FF7A3D;
}

.contenido-garantia {
  width: 95%;
  max-width: 140rem;
  margin: 0 auto;
}
.contenido-garantia p {
  margin-bottom: 2rem;
}
@media (min-width: 825px) {
  .contenido-garantia {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
  }
}

.garantias {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-top: 3rem;
}
.garantias h3,
.garantias p {
  font-size: 1.5rem;
}

.garantia-box {
  background-color: #fff;
  border: 2px solid #FF7A3D;
  padding: 25px;
  width: 320px;
  text-align: center;
  text-align: justify;
  border-radius: 10px;
  transition: 0.3s;
}

.garantia-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px #FF7A3D;
}

.garantia-box img {
  width: 50px;
  margin-bottom: 10px;
}

.garantia-box h3 {
  margin-bottom: 10px;
}

/* ANIMACIÓN GENERAL */
@keyframes moverLinea {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
/* =========================
   LINEA PRODUCTOS
========================= */
.scroll-linea-productos {
  margin-top: -6rem;
  margin-bottom: -5rem;
  width: 100%;
  height: 20px;
  background: #FF7A3D; /* reemplaza v.$naranja */
  position: relative;
  overflow: hidden;
}

.scroll-linea-productos::before {
  content: "";
  position: absolute;
  width: 200%;
  height: 100%;
  background: linear-gradient(90deg, transparent, white, transparent);
  animation: moverLinea 3s linear infinite;
}

/* =========================
   LINEA SOLUCIONES
========================= */
.scroll-linea-soluciones {
  margin-bottom: 0rem;
  width: 100%;
  height: 20px;
  background: rgb(61, 61, 61);
  position: relative;
  overflow: hidden;
}

.scroll-linea-soluciones::before {
  content: "";
  position: absolute;
  width: 200%;
  height: 100%;
  background: linear-gradient(90deg, transparent, #FF7A3D, transparent);
  animation: moverLinea 3s linear infinite;
}

/*-----------------Tabla de productos---------------------*/
.tabla-especificaciones h2 {
  text-align: center;
  margin-bottom: 2rem;
}

/* Contenedor principal */
.tabla-carrusel-container {
  display: flex;
  gap: 2rem;
  align-items: center;
  /* Centra verticalmente el carrusel */
  justify-content: center;
  flex-wrap: wrap;
}

.tablas-productos {
  flex: 2;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 700px;
  padding: 1rem;
}

.tablas-productos table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin: 1rem 0;
}

th,
td {
  border: 2px solid #000;
  padding: 6px;
  text-align: center;
}

th {
  background: #ff7a3d;
  font-weight: bold;
}

.col-modelo {
  background: #ff7a3d;
}

.categoria {
  background: #ff7a3d;
  font-weight: bold;
  width: 140px;
}

/* Carrusel */
/* Carrusel */
.carousel-basculas {
  flex: 1;
  max-width: 400px;
  width: 100%;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 25px; /* bordes redondeados */
  border: 0.5rem solid #FF7A3D; /* borde naranja */
  overflow: hidden; /* importante para recortar la imagen dentro del borde */
  background-color: #ffd0ba; /* color de relleno para los espacios */
}

.carousel-basculas img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* llena todo el contenedor */
  border-radius: 20px;
}

/* Responsive */
@media (max-width: 1200px) {
  /* Escritorio grande y tablet */
  .carousel-container {
    max-width: 350px;
    aspect-ratio: 16/9;
    /* mantiene proporción más pequeña */
  }
}
@media (max-width: 900px) {
  /* Tablet y móvil */
  .tabla-carrusel-container {
    flex-direction: column;
    align-items: center;
  }
  .carousel-basculas {
    margin-top: 2rem;
    max-width: 90%;
  }
}
.carousel-indicators button {
  background: #FF7A3D !important;
}

/*-------------------------------------*/
.contenido-cardsproduc {
  max-width: 1200px;
  margin: auto;
  padding: 2rem;
  text-align: left;
}
.contenido-cardsproduc h2 {
  margin-top: 10rem;
  margin-bottom: 0.5rem;
}
.contenido-cardsproduc p {
  margin-bottom: 5rem;
}

.cards-produc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: stretch;
  margin-bottom: 10rem;
}
.cards-produc h3 {
  margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
  .cards-produc {
    grid-template-columns: 1fr;
  }
}
.card-produc {
  background: #fff;
  padding: 2rem;
  border-radius: 20px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
}

.card-produc h3 {
  margin-top: 2rem;
}

.card-produc p {
  margin: 0.5rem 0 1rem;
  color: #FF7A3D;
}

.card-produc ul {
  margin-top: auto;
  padding-left: 1.5rem;
}

.card-produc img {
  width: 100%;
  height: 300px;
  object-fit: contain;
}

/*-------------------------------------------------*/
.certificacion {
  width: 100%;
  margin-top: 2rem;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 15px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: center;
  text-align: justify;
}
.certificacion p {
  font-size: 1.1rem;
}
.certificacion strong {
  color: #FF7A3D;
}
@media (min-width: 825px) {
  .certificacion {
    grid-template-columns: auto 1fr auto;
  }
}

/* Ajustes responsive */
@media (max-width: 1024px) {
  .contenido-fyb {
    padding: 4rem 2rem;
  }
  .certificacion {
    padding: 1.5rem;
  }
}
@media (max-width: 768px) {
  .contenido-fyb {
    padding: 3rem 1rem;
  }
  .certificacion {
    padding: 1rem;
    grid-template-columns: 1fr;
    text-align: center;
  }
}
.cert-lateral {
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
}
.cert-lateral .icon {
  font-size: 40px;
  display: block;
  margin-bottom: 0.5rem;
}

.cert-texto h2 {
  font-size: 2.8rem;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.cert-texto p {
  font-size: 1.4rem;
  line-height: 1.6;
}

.cert-badges {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cert-badge {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: #fff;
  padding: 12px 18px;
  border-radius: 10px;
  font-weight: 600;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.cert-texto h2 {
  line-height: 1.2;
}

.cert-badge svg {
  width: 20px;
  height: 20px;
  stroke: #FF7A3D;
}

/*-----------------------------------------------------------*/
.config-box {
  max-width: 1100px;
  margin: 0 auto 3rem auto;
}

.instalacion {
  width: 100%;
  background-color: #e9c9be;
  padding: 4rem 0;
}

.instalacion-container {
  max-width: 1200px;
  margin: auto;
  padding: 0 2rem;
}

.instalacion h2 {
  text-align: center;
  margin-bottom: 2rem;
}

.config-header {
  background: #ff7a3d;
  color: black;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  border-bottom: 3px solid black;
}

.config-content {
  display: flex;
  align-items: center;
  gap: 3rem;
  background-color: #e9c9be;
  padding: 2rem;
}
.config-content p,
.config-content li {
  font-size: 1.5rem;
}

.config-diagrama {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: justify;
}

.config-diagrama img {
  width: 100%;
  max-width: 350px;
  margin-bottom: 1.5rem;
  border-radius: 30px; /* bordes redondeados */
  border: 2px solid #FF7A3D; /* borde naranja */
}

.config-imagen {
  flex: 1.3;
  display: flex;
  justify-content: center;
}

.config-imagen img {
  width: 100%;
  max-width: 40rem;
  border-radius: 30px; /* bordes redondeados */
  border: 5px solid #FF7A3D; /* borde naranja */
}

.footer-inst {
  background: #ff7a3d;
  text-align: center;
  padding: 8px;
  margin-top: 2rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .config-content {
    flex-direction: column;
    text-align: center;
  }
  .config-imagen img {
    max-width: 100%;
  }
}
.div-cotizacion {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
}

.btn-cotizacion {
  padding: 12px;
  background: #FF7A3D;
  color: #fff !important;
  border-radius: 10px;
  text-decoration: none;
  margin-top: auto;
}
.btn-cotizacion:hover {
  background: #e96a25;
}

@media (max-width: 1024px) {
  /* TITULOS */
  h1 {
    font-size: clamp(2.4rem, 6vw, 3rem);
    line-height: 1.2;
    margin-top: 1rem;
    margin-bottom: -1rem;
  }
  h2 {
    font-size: clamp(2rem, 5vw, 2.6rem);
    line-height: 1.2;
  }
  h3 {
    font-size: clamp(1.6rem, 4vw, 2rem);
  }
  /* PARRAFOS */
  p {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
    line-height: 1.6;
  }
  li {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
    line-height: 1.6;
  }
  /* CERTIFICACION */
  .cert-texto h2 {
    font-size: clamp(2rem, 6vw, 2.6rem);
  }
  .cert-texto p {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
  /* GARANTIAS */
  .garantia-box h3 {
    font-size: clamp(1.6rem, 4vw, 2rem);
  }
  .garantia-box p {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
  /* CARDS PRODUCTOS */
  .card-produc h3 {
    font-size: clamp(1.6rem, 4vw, 2rem);
  }
  .card-produc p {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
  .config-content p,
  .config-content li {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
}
/* TABLET */
@media (max-width: 1024px) {
  h1 {
    font-size: clamp(2.4rem, 6vw, 3rem);
    line-height: 1.2;
    margin-top: 1rem;
    margin-bottom: -1rem;
  }
  h2 {
    font-size: clamp(2rem, 5vw, 2.6rem);
    line-height: 1.2;
  }
  h3 {
    font-size: clamp(1.6rem, 4vw, 2rem);
  }
  p,
  li {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
    line-height: 1.6;
  }
  /* Secciones específicas */
  .cert-texto h2 {
    font-size: clamp(2rem, 6vw, 2.6rem);
  }
  .cert-texto p {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
  .garantia-box h3 {
    font-size: clamp(1.6rem, 4vw, 2rem);
  }
  .garantia-box p {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
  .card-produc h3 {
    font-size: clamp(1.6rem, 4vw, 2rem);
  }
  .card-produc p {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
  .config-content p,
  .config-content li {
    font-size: clamp(1.4rem, 3vw, 1.6rem);
  }
}
/* MOVIL */
@media (max-width: 768px) {
  h1 {
    font-size: clamp(2rem, 7vw, 2.6rem);
  }
  h2 {
    font-size: clamp(1.8rem, 6vw, 2.2rem);
  }
  h3 {
    font-size: clamp(1.5rem, 5vw, 1.8rem);
  }
  p,
  li {
    font-size: clamp(1.3rem, 4vw, 1.5rem);
  }
}
.roman-badge {
  display: inline-block;
  padding: 0.2rem 1rem;
  margin-left: 0.5rem;
  border-radius: 50%;
  border: 2px solid black;
  color: black;
  font-weight: bold;
  font-size: 0.9rem;
  text-align: center;
  vertical-align: middle;
  background: transparent;
}

.mantenimiento-hero {
  margin-top: 10rem;
  width: 100%;
  min-height: 60vh;
  background: url("../../src/img/fondomantenimiento.jpg") center center/cover no-repeat;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 4rem;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 3rem 2rem;
  color: #fff;
}

.hero-overlay h1 {
  font-size: clamp(3.5rem, 8vw, 10rem);
  color: #FF7A3D;
  margin-bottom: 1rem;
  line-height: 1.1;
}

.hero-overlay p {
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  max-width: min(700px, 90%);
  color: white;
  margin: 0 auto;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .mantenimiento-hero {
    margin-top: 8rem;
    min-height: 30rem;
  }
  .hero-overlay {
    padding: 2rem 1rem;
  }
}
.mantenimiento-cards {
  max-width: 1200px;
  margin: 0 auto 5rem auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding: 0 1rem;
}

.card-mantenimiento {
  background: #f3f5f8;
  padding: 2rem;
  border-radius: 15px;
  border: 5px solid #FF7A3D;
  text-align: center;
  transition: 0.3s ease;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  height: 90%;
}

.card-mantenimiento:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px #FF7A3D;
}

.card-mantenimiento .icono {
  font-size: 3rem;
  margin-bottom: 1rem;
  color: #FF7A3D;
}

.card-mantenimiento h3 {
  margin-bottom: 0.8rem;
  font-size: 1.5rem;
}

.card-mantenimiento p {
  font-size: 1.2rem;
}

@media (min-width: 768px) {
  .mantenimiento-cards {
    grid-template-columns: repeat(3, 1fr);
  }
  .hero-overlay h1 {
    font-size: 3.5rem;
  }
}
/*---------------------------*/
/*---------------------------*/
.marcas-scroll {
  width: 95%;
  max-width: 140rem;
  margin: 0 auto;
  background: #f3f5f8;
  padding: 3rem 0;
  text-align: center;
  width: 100%;
  margin: 4rem auto;
  position: relative;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.marcas-scroll.sticky-superior {
  position: sticky;
  top: 100px;
  z-index: 90;
}

/* estado normal */
.marcas-scroll.normal {
  position: relative;
}

.marcas-titulo {
  font-size: 0.9rem;
  letter-spacing: 2px;
  color: #6c7a89;
  margin-bottom: 2rem;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
}

.marcas-wrapper {
  overflow: hidden;
  width: 100%;
}

.marcas-track {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  flex-wrap: wrap;
}

.marcas-track span {
  font-size: 1.8rem;
  font-weight: 700;
  color: #555;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .marcas-track {
    gap: 2rem;
  }
  .marcas-track span {
    font-size: 1.2rem;
  }
}
/*-------------------------------------*/
.servicios-bg {
  position: relative;
  width: 100%;
  padding: 6rem 0;
  overflow: hidden;
}

.servicios-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../../src/img/paisajeservicios.jpg") center center/cover no-repeat;
  z-index: -2;
}

.servicios-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: -1;
}

.servicios {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

.titulo-seccion h2 {
  font-size: 2.5rem;
  margin-bottom: 3rem;
  position: relative;
}

.titulo-seccion h2::after {
  content: "";
  width: 60px;
  height: 4px;
  background: #FF7A3D;
  position: absolute;
  left: 0;
  bottom: -10px;
  border-radius: 5px;
}

.servicios-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.servicio-card {
  background: #f3f5f8;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: 0.3s ease;
}

.servicio-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.servicio-img {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f8f9fa;
  height: 250px;
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}

.servicio-img img {
  width: 80%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.servicio-contenido {
  padding: 2rem;
}

.servicio-contenido h3 {
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

.servicio-contenido p {
  margin-bottom: 1rem;
  color: #555;
}

.servicio-contenido ul {
  list-style: none;
  padding: 0;
}

.servicio-contenido li {
  margin-bottom: 0.6rem;
  position: relative;
  padding-left: 25px;
}

.servicio-contenido li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #FF7A3D;
  font-weight: bold;
}

.normativa-box {
  margin-top: 4rem;
  background: #fff;
  border-left: 6px solid #FF7A3D;
  padding: 2rem;
  border-radius: 12px;
  display: flex;
  gap: 2rem;
  align-items: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}
.normativa-box h4 {
  font-size: 1.8rem;
}
.normativa-box p {
  font-size: 1.5rem;
}

.normativa-badge {
  background: #FF7A3D;
  padding: 10px 15px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 1rem;
}
.normativa-badge span {
  color: white;
}

.normativa-texto span {
  color: #FF7A3D;
}
.normativa-texto h4 {
  margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
  .servicios-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.contenido-mantenimiento {
  text-align: center;
  background-color: #E6D5CF;
}

.scroll-linea-mantenimiento {
  width: 100%;
  height: 4px;
  background: #ddd;
  position: relative;
  overflow: hidden;
}

.scroll-progreso-mantenimiento {
  height: 100%;
  width: 0%;
  background: black;
  transition: width 1s ease-out;
}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJiYXNlL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2dsb2JhbGVzLnNjc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJiYXNlL19taXhpbnMuc2NzcyIsImxheW91dC9faW5pY2lhbC5zY3NzIiwibGF5b3V0L19zZXJ2aWNpb3Muc2NzcyIsImxheW91dC9fYWVyb3B1ZXJ0by5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fY29udGFjdG8uc2NzcyIsImxheW91dC9fY29sYWJvcmFjaW9uZXMuc2NzcyIsImxheW91dC9fcHJvZHVjdG9zLnNjc3MiLCJsYXlvdXQvX21hbnRlbmltaWVudG8uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUN6VkY7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7QUFBQTtFQUdJOzs7QUFJSjtFQUNJLGFDYmlCO0VEY2pCO0VBQ0E7RUFDQSxPQ2RJO0VEZUo7RUFDQTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0ksT0MxQkk7RUQyQko7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O0FBQUE7QUFHQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFNQTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU1BOzs7QUFLRjtBQUVFO0VBQ0U7RUFDQTs7O0FBTUo7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQ0E7QUFFRTtFQUNBO0lBQ0U7SUFDQTtBQUNBOzs7QUFJSjtBQUVFO0VBQ0E7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTs7O0FBT0Y7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7O0FBSUo7RUFDRTtJQUNFOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBSUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFPRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFLE9UNVpNOztBRU1OO0VPcVlKO0lBcUJJOzs7O0FBSUo7QUFDQTtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0FBR0E7RUFDRTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBRUU7OztBQU1KO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBRUU7RUFDQSxZVHptQlE7RVMwbUJSO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUtKO0FBRUU7RUFFQTtJQUVFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztBQUdGO0VBRUE7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7QUFHRjtFQUVBO0lBQ0U7O0VBR0Y7SUFDRTs7QUFHRjtFQUVBO0lBQ0U7O0VBR0Y7SUFDRTs7QUFHRjtFQUVBO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtBQUFBO0lBRUU7OztBQU1KO0FBQ0E7RUFFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0FBQUE7SUFFRTtJQUNBOztBQUdGO0VBQ0E7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7QUFBQTtJQUVFOzs7QUFLSjtBQUNBO0VBRUU7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7QUFBQTtJQUVFOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3h4QkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUtGO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFLSjtBQUNBO0FBQ0E7RVJqRlE7RUFDQTtFQUNBO0VRa0ZOO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBTUY7QUFDQTtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFFRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUU7RUFDRTs7QUFFRjtFQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTs7O0FBT0Y7RUFDRSxPVi9VTTs7QVVrVlY7RUFDRTs7O0FBS0Y7RUFDRTtJQUNFOzs7QUFJSjtFQUNFO0VBSUE7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICovXHJcblxyXG5tYWluIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gIGhlaWdodDogMDsgLyogMSAqL1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxuLyogTWlzY1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59IiwiQHVzZSAndmFyaWFibGVzJyBhcyB2O1xyXG5cclxuaHRtbCB7XHJcbiAgICBmb250LXNpemU6IDYyLjUlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogMHJlbTtcclxufVxyXG4qLCBcclxuKjpiZWZvcmUsXHJcbio6YWZ0ZXIge1xyXG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcclxufVxyXG5cclxuXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6IHYuJGZ1ZW50ZV9wcmluY2lwYWw7XHJcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgY29sb3I6IHYuJG5lZ3JvO1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgYmFja2dyb3VuZDogI2U5ZTllOWUzO1xyXG59XHJcblxyXG4uY29udGVuZWRvciB7XHJcbiAgd2lkdGg6IDkwJTtcclxuICBtYXgtd2lkdGg6IDEwMHJlbTtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxucCB7XHJcbiAgICBjb2xvcjogdi4kbmVncm87XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG5cclxuaDEsIGgyLCBoMyB7XHJcbiAgICBtYXJnaW46IDAgMCA1cmVtIDA7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG59XHJcbmgxIHtcclxuICAgIGZvbnQtc2l6ZTogNHJlbTtcclxufVxyXG5oMiB7XHJcbiAgICBmb250LXNpemU6IDQuNnJlbTtcclxufVxyXG5cclxuaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuYm9keSA+IHNlY3Rpb24ge1xyXG4gICAgcGFkZGluZzogMTByZW0gMFxyXG59IiwiXHJcblxyXG4kZnVlbnRlX3ByaW5jaXBhbCA6ICBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcclxuXHJcbiRuZWdybzogIzAwMDtcclxuJG5hcmFuamE6ICNGRjdBM0Q7XHJcblxyXG4vL01lZGlhIFF1ZXJpZXNcclxuXHJcbiR0ZWxlZm9ubzogNDgwcHg7XHJcbiR0YWJsZXQ6IDgyNXB4O1xyXG4kZGVza3RvcDogMTIwMHB4O1xyXG4kZGVza3RvcHhsOiAxNDAwcHg7XHJcbiIsIkB1c2UgJ2Jhc2UvdmFyaWFibGVzJyBhcyB2O1xyXG5AdXNlICdiYXNlL21peGlucycgYXMgbTtcclxuXHJcblxyXG5zZWN0aW9uIHtcclxuICBzY3JvbGwtbWFyZ2luLXRvcDogMTIwcHg7XHJcbn1cclxuXHJcblxyXG4uaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gIGJvcmRlci1ib3R0b206ICAuM3JlbSBzb2xpZCB2LiRuYXJhbmphO1xyXG5cclxuICAuY29udGVuZWRvciB7XHJcbiAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5sb2dvIGltZyB7XHJcbiAgaGVpZ2h0OiA2cmVtO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG5cclxuLm1lbnUtdG9nZ2xlIHtcclxuICBmb250LXNpemU6IDNyZW07XHJcbiAgY29sb3I6IHYuJG5hcmFuamE7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAaW5jbHVkZSBtLnRhYmxldCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5uYXZlZ2FjaW9uIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDJyZW07XHJcbiAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgYSB7XHJcbiAgICBmb250LWZhbWlseTogdi4kZnVlbnRlX3ByaW5jaXBhbDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogdi4kbmVncm87XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgY29sb3I6IHYuJG5hcmFuamE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2byB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uYnRuLWNvbnRhY3RvIHtcclxuICBwYWRkaW5nOiAxMnB4O1xyXG4gIGJhY2tncm91bmQ6IHYuJG5hcmFuamE7XHJcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIFxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2U5NmEyNTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0IHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogOHB4IDE4cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09ICovXHJcblxyXG4uc3VibWVudSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuXHJcbi5zdWJtZW51LWl0ZW1zIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAxcmVtO1xyXG5cclxuICBhIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gIC5zdWJtZW51OmhvdmVyIC5zdWJtZW51LWl0ZW1zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDAsMCwwLC4wOCk7XHJcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5zdWJtZW51ID4gYTo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiIOKWvFwiO1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgLnN1Ym1lbnUgPiBhOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcblxyXG4gIC5zdWJtZW51LWl0ZW1zIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5uYXZlZ2FjaW9uIGFbaHJlZj1cImluZGV4Lmh0bWxcIl0ge1xyXG4gIFxyXG4gIC8qIG3Ds3ZpbCB5IHRhYmxldCAqL1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gIC8qIGVzY3JpdG9yaW8gKi9cclxuICBAaW5jbHVkZSBtLmRlc2t0b3Age1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxufSIsIkB1c2UgJ3ZhcmlhYmxlcycgYXMgdjtcclxuXHJcblxyXG5AbWl4aW4gdGVsZWZvbm8ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IHYuJHRlbGVmb25vICl7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZXQge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IHYuJHRhYmxldCApe1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZGVza3RvcCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogdi4kZGVza3RvcCApe1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZGVza3RvcHhsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiB2LiRkZXNrdG9weGwgKXtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNvbnRlbmVkb3Ige1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNDByZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkKCRjb2x1bW5hcyA6IDEsICRnYWIgOiA1cmVtKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5hcywgMWZyKTtcclxuICAgICAgICAgICAgZ2FwOiAkZ2FiO1xyXG59XHJcbiIsIkB1c2UgJ2Jhc2UvdmFyaWFibGVzJyBhcyB2O1xyXG5AdXNlICdiYXNlL21peGlucycgYXMgbTtcclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU0VDQ0lPTiBJTk5PVkFDSU9OXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW5ub3ZhY2lvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctYm90dG9tOiA0MHJlbTsgLy8gZXNwYWNpbyBwYXJhIGNhcmQgZGVza3RvcFxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBJTUFHRU4gREUgRk9ORE9cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pbm5vdmFjaW9uLWJnIGltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvOyAvLyBhbHR1cmEgZmxleGlibGVcclxuICBtYXgtaGVpZ2h0OiA4MHJlbTsgLy8gZGVza3RvcFxyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTByZW0pO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAuaW5ub3ZhY2lvbi1iZyBpbWcge1xyXG4gICAgbWF4LWhlaWdodDogMzVyZW07IC8vIHRhYmxldFxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLmlubm92YWNpb24tYmcgaW1nIHtcclxuICAgIG1heC1oZWlnaHQ6IDMwcmVtOyAvLyBtw7N2aWxcclxuICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRBUkpFVEEgLyBDQVJEXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pbm5vdmFjaW9uLWNhcmQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7ICAgICAgICAgIC8vIGNlbnRybyBob3Jpem9udGFsXHJcbiAgYm90dG9tOiAxcmVtO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSAgdHJhbnNsYXRlWSgtM3JlbSk7IC8vIGNlbnRyYWRvIGV4YWN0b1xyXG4gIHotaW5kZXg6IDI7XHJcblxyXG4gIGJhY2tncm91bmQ6IHJnYmEoMTAsIDM1LCA3MCwgMC45NSk7XHJcbiAgcGFkZGluZzogNHJlbTtcclxuXHJcbiAgd2lkdGg6IDkwJTsgICAgICAgICAvLyBhbmNobyBmbHVpZG9cclxuICBtYXgtd2lkdGg6IDYwMHJlbTsgICAvLyBudW5jYSBtw6FzIGRlIDUwcmVtXHJcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsMCwwLDAuMjUpO1xyXG5cclxuICBAaW5jbHVkZSBtLnRhYmxldCB7XHJcbiAgICB3aWR0aDogOTAlOyAgICAgICAvLyBhbmNobyBmbHVpZG8gdGFibGV0XHJcbiAgICBtYXgtd2lkdGg6IDIzMHJlbTsgLy8gaWd1YWwgcXVlIGRlc2t0b3BcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMnJlbSk7IC8vIGxpZ2VyYW1lbnRlIGFycmliYVxyXG4gIH1cclxufVxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDT05URU5JRE8gREUgTEEgQ0FSRFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmlubm92YWNpb24tY2FyZCBoMiB7XHJcbiAgZm9udC1zaXplOiAzcmVtO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uaW5ub3ZhY2lvbi1jYXJkIHNwYW4ge1xyXG4gIGNvbG9yOiB2LiRuYXJhbmphO1xyXG59XHJcblxyXG4uaW5ub3ZhY2lvbi1jYXJkIHAge1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLyogQk9UT05FUyAqL1xyXG4uYnRuLWNvbnRhY3Rhbm9zIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogMTJweDtcclxuICBiYWNrZ3JvdW5kOiB2LiRuYXJhbmphO1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlOTZhMjU7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBFU1RBRElTVElDQVMgKi9cclxuLmVzdGFkaXN0aWNhcyB7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBnYXA6IDJyZW07XHJcbn1cclxuXHJcbi5zdGF0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5zdGF0IHN0cm9uZyB7XHJcbiAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBjb2xvcjogdi4kbmFyYW5qYTtcclxufVxyXG5cclxuLnN0YXQgc3BhbiB7XHJcbiAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE1PQklMRVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcblxyXG4gIC5pbm5vdmFjaW9uIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBlbGltaW5hbW9zIGVzcGFjaW8gZXh0cmFcclxuICB9XHJcblxyXG4gIC5pbm5vdmFjaW9uLWNhcmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBmbHVqbyBub3JtYWxcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICBib3R0b206IGF1dG87XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRyZW0pO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAtNnJlbTsgLy8gb3ZlcmxheSBtw6FzIHN1YXZlXHJcbiAgICBwYWRkaW5nOiAzcmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcblxyXG4gIC5leHRyYSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLnZlci1tYXMtYnRuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICBjb2xvcjogdi4kbmFyYW5qYTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG5cclxuICAudmVyLW1hcy1idG46aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBVVElMSURBREVTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udmVyLW1hcy1tb3ZpbCBzdW1tYXJ5IHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IHYuJG5hcmFuamE7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBtYXJnaW4tdG9wOiAxcmVtO1xyXG59XHJcblxyXG4udmVyLW1hcy1tb3ZpbCBzdW1tYXJ5OjptYXJrZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5leHRyYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC52ZXItbWFzLWJ0biB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLm1vc3RyYXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn0iLCJAdXNlICdiYXNlL3ZhcmlhYmxlcycgYXMgdjtcclxuQHVzZSAnYmFzZS9taXhpbnMnIGFzIG07XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIGxpbmVhIGRlIHNlcGFyYWNpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLnNjcm9sbC1saW5lYXtcclxuICB3aWR0aDoxMDAlO1xyXG4gIGhlaWdodDo2cHg7XHJcbiAgYmFja2dyb3VuZDojZTVlNWU1O1xyXG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuLnNjcm9sbC1wcm9ncmVzb3tcclxuICB3aWR0aDowJTtcclxuICBoZWlnaHQ6MTAwJTtcclxuICBiYWNrZ3JvdW5kOiB2LiRuYXJhbmphO1xyXG5cclxuICB0cmFuc2l0aW9uOiB3aWR0aCA0cyBlYXNlLW91dDtcclxufVxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU0VDQ0lPTiBTRVJWSUNJT1NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY29udGVuaWRvLXNlcnZpY2lvcyB7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiA2cmVtIDA7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gIC8qIGNvbnRlbmVkb3IgbGltaXRhZG8gKi9cclxuICBAaW5jbHVkZSBtLmNvbnRlbmVkb3I7XHJcblxyXG4gIC8qIGZvbmRvIHF1ZSBzZSBleHBhbmRlIGEgdG9kYSBsYSBwYW50YWxsYSAqL1xyXG4mOjpiZWZvcmV7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIHRvcDogMDtcclxuICBsZWZ0OiA1MCU7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogMTAwJTsgICAvLyDihpAgaW1wb3J0YW50ZVxyXG5cclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U2RDVDRjtcclxuXHJcbiAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbiAgaDJ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxLjVyZW0gYXV0bztcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgbWF4LXdpZHRoOiA4MHJlbTtcclxuICAgIG1hcmdpbjogMCBhdXRvIDEuNXJlbSBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBHUklEXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhcmRzLXNlcnZpY2lvcyB7XHJcblxyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBnYXA6IDJyZW07XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0e1xyXG4gICAgcGFkZGluZzogMnJlbTtcclxuICAgIEBpbmNsdWRlIG0uZ3JpZCgzKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ0FSRFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXJkLXNlcnZpY2lvIHtcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgcGFkZGluZzogMS44cmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcclxuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMCwwLDAsLjE4KTtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cywgYm94LXNoYWRvdyAuMjVzO1xyXG5cclxuICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgIHBhZGRpbmc6IDIuNXJlbTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggdi4kbmFyYW5qYTtcclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBmb250LXNpemU6IDEuOXJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgICAgZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwe1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbS50YWJsZXR7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBJQ09OT1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXJkLXNlcnZpY2lvIHN2ZyB7XHJcblxyXG4gIHdpZHRoOiAzcmVtO1xyXG4gIGhlaWdodDogM3JlbTtcclxuICBjb2xvcjogdi4kbmFyYW5qYTtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgaGVpZ2h0OiA0cmVtO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMSVNUQVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbmxpe1xyXG5cclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXR7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQk9UT05cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYnRuLXNlcnZpY2lvcyB7XHJcblxyXG4gIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuXHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgY29sb3I6IHYuJG5hcmFuamEgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDJweCBzb2xpZCB2LiRuYXJhbmphO1xyXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXR7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHYuJG5hcmFuamE7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi52acOxZXRhIGRpdiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4iLCJAdXNlICdiYXNlL3ZhcmlhYmxlcycgYXMgdjtcclxuQHVzZSAnYmFzZS9taXhpbnMnIGFzIG07XHJcblxyXG4vKiDwn5SlIFNFQ1RJT04gKHNvbG8gZm9uZG8pICovXHJcblxyXG4uY29udGVuaWRvLWFlcm9wdWVydG8ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiBjbGFtcCg2MHJlbSwgOTB2aCwgMTAwcmVtKTtcclxufVxyXG5cclxuLyog8J+UpSBPVkVSTEFZICovXHJcblxyXG4uY29udGVuaWRvLWFlcm9wdWVydG86OmJlZm9yZXtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBpbnNldDogMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNTApO1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi8qIPCflKUgQ09OVEVOSURPICovXHJcblxyXG4uY29udGVuZWRvci1hZXJvcHVlcnRvIHtcclxuICBAaW5jbHVkZSBtLmNvbnRlbmVkb3I7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG4gbWluLWhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIGdhcDogMnJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuLyogQ09OVEVOSURPIFRFWFRPICovXHJcblxyXG4uY29udGVuaWRvLWFlcmVve1xyXG5cclxuICBoMXtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgICBmb250LXNpemU6IDIuOHJlbTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgICAgZm9udC1zaXplOiAzLjZyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4uaW5pY2lhbHtcclxuICBjb2xvcjogd2hpdGU7XHJcbiBcclxufVxyXG4gIHB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgZm9udC1zaXplOiAxLjZyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbS50YWJsZXR7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogSU1BR0VOICovXHJcblxyXG4uaW1hZ2VuLWFlcm9wdWVydG97XHJcbiAgYm9yZGVyLXJhZGl1czogNHJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXR7XHJcbiAgICBoZWlnaHQ6IDQwcmVtO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBMSVNUQSAqL1xyXG5cclxuLmFlcm9wdWVydG8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6IDEuNXJlbTtcclxufVxyXG5cclxuLyogVknDkUVUQVMgKi9cclxuXHJcbi52acOxZXRhIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIGdhcDogMXJlbTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4vKiBJQ09OTyAqL1xyXG5cclxuLnZpw7FldGEgc3ZnIHtcclxuICB3aWR0aDogMnJlbTtcclxuICBoZWlnaHQ6IDJyZW07XHJcbiAgY29sb3I6IHYuJG5hcmFuamE7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0e1xyXG4gICAgd2lkdGg6IDIuNHJlbTtcclxuICAgIGhlaWdodDogMi40cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLyogQ09OVEVORURPUiBURVhUTyAqL1xyXG5cclxuLnZpw7FldGEgZGl2IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi8qIFRJVFVMTyAqL1xyXG5cclxuLnZpw7FldGEgc3Ryb25nIHtcclxuICBmb250LXNpemU6IDEuNnJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXR7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgfVxyXG59XHJcblxyXG4vKiBURVhUTyAqL1xyXG5cclxuLnZpw7FldGEgc3BhbiB7XHJcbiAgZm9udC1zaXplOiAxLjRyZW07XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0e1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgfVxyXG59XHJcblxyXG4vKiBCT1RPTiAqL1xyXG5cclxuLmJ0bi1jb250YWN0YW5vc2FlcmVve1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgYmFja2dyb3VuZDogdi4kbmFyYW5qYTtcclxuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgZm9udC1zaXplOiAycmVtO1xyXG5cclxuICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTk2YTI1O1xyXG4gIH1cclxufVxyXG5cclxuLyogSUNPTk8gVElUVUxPICovXHJcblxyXG4uYXZpb257XHJcbiAgd2lkdGg6IDNyZW07XHJcbiAgaGVpZ2h0OiAzcmVtO1xyXG5cclxuICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgaGVpZ2h0OiA0cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLyog8J+UpSBDQVJSVVNFTCBDT01PIEZPTkRPICovXHJcblxyXG4uaW5ub3ZhY2lvbi1pbWFnZW4ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBpbnNldDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMDtcclxufVxyXG5cclxuLyogQ2FycnVzZWwgKi9cclxuXHJcbi5jYXJvdXNlbCxcclxuLmNhcm91c2VsLWlubmVyLFxyXG4uY2Fyb3VzZWwtaXRlbXtcclxuICBoZWlnaHQ6MTAwJTtcclxufVxyXG5cclxuLmNhcm91c2VsLWl0ZW0gaW1ne1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgaGVpZ2h0OjEwMCUgIWltcG9ydGFudDtcclxuICBvYmplY3QtZml0OmNvdmVyO1xyXG59XHJcblxyXG4vKiDwn5OxIE1PQklMRSAqL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpe1xyXG5cclxuICAuY29udGVuaWRvLWFlcm9wdWVydG97XHJcbiAgICBtaW4taGVpZ2h0OiA3MHZoO1xyXG4gIH1cclxuXHJcbiAgLmNvbnRlbmVkb3ItYWVyb3B1ZXJ0b3tcclxuICAgIG1pbi1oZWlnaHQ6IDcwdmg7XHJcbiAgfVxyXG5cclxufSIsIkB1c2UgJ2Jhc2UvdmFyaWFibGVzJyBhcyB2O1xyXG5AdXNlICdiYXNlL21peGlucycgYXMgbTtcclxuXHJcblxyXG5cclxuLmxvZ29mb290ZXIgaW1nIHtcclxuICBoZWlnaHQ6IDZyZW07XHJcbiAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi5mb290ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxMDE4Mjg7XHJcbiAgcGFkZGluZzogMXJlbSAwO1xyXG4gIGJvcmRlci10b3A6IC44cmVtIHNvbGlkIHYuJG5hcmFuamE7XHJcblxyXG4gIGgze1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGVuZWRvciB7XHJcbiAgbWF4LXdpZHRoOiAxMjByZW07XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZzogMCAycmVtO1xyXG59XHJcblxyXG4uZm9vdGVyIC5jb250ZW5lZG9yIHtcclxuICBAaW5jbHVkZSBtLnRhYmxldCB7XHJcbiAgICBAaW5jbHVkZSBtLmdyaWQoMyk7XHJcbiAgICBnYXA6IDEwcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb2wge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogd2hpdGU7XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDNyZW07IC8vIPCflKUgc2VwYXJhY2nDs24gZW50cmUgYmxvcXVlcyBlbiBtw7N2aWxcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIPCflKUgc2UgZWxpbWluYSBwb3JxdWUgeWEgaGF5IGdyaWRcclxuICB9XHJcbn1cclxuLmZvb3RlciBwLFxyXG4uZm9vdGVyIGxpIHtcclxuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gIGNvbG9yOiByZ2IoMjE5LCAyMTQsIDIxNCk7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICBmb250LXNpemU6IDEuMnJlbTtcclxufVxyXG5cclxuXHJcblxyXG4uZm9vdGVyIHVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIFxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyDwn5SlIGNlbnRyYSBob3Jpem9udGFsbWVudGVcclxuICBnYXA6IDFyZW07IC8vIPCflKUgc2VwYXJhY2nDs24gZW50cmUgaXRlbXNcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIGVuIHRhYmxldC9kZXNrdG9wIHZ1ZWx2ZSBhIGxhIGl6cXVpZXJkYVxyXG4gICAgZ2FwOiAxLjJyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uZm9vdGVyIHVsIGxpIGEge1xyXG4gIGNvbG9yOiByZ2IoMjE5LCAyMTQsIDIxNCk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gIHRyYW5zaXRpb246IC4ycztcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogdi4kbmFyYW5qYTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uZm9vdGVyLWJvdHRvbSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEwMTgyODtcclxuICBib3JkZXItdG9wOiAuM3JlbSBzb2xpZCB2LiRuYXJhbmphO1xyXG4gIHBhZGRpbmc6IDEuMnJlbSAwO1xyXG4gIFxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjZGRkO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5mb290ZXItYm90dG9tIC5jb250ZW5lZG9yIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDFyZW07XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnJlZGVzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMS41cmVtO1xyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAuMnM7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiB2LiRuYXJhbmphO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvb3RlciBoMyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG59XHJcblxyXG4uZm9vdGVyIHVsIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5mb290ZXIgdWwgbGkge1xyXG4gIG1hcmdpbjogMDsgLy8geWEgdXNhcyBnYXAsIG5vIG5lY2VzaXRhcyBtw6FzIGVzcGFjaW9cclxufVxyXG5cclxuLmZvb3RlciBwIHtcclxuICBtYXJnaW46IDAuNHJlbSAwO1xyXG59IiwiQHVzZSAnYmFzZS92YXJpYWJsZXMnIGFzIHY7XHJcbkB1c2UgJ2Jhc2UvbWl4aW5zJyBhcyBtO1xyXG5cclxuLnBhZ2luYS1jb250YWN0byB7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAuY29udGFjdG8ge1xyXG4gICAgZmxleDogMTtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0byB7XHJcbiAgcGFkZGluZzogMi4ycmVtIDJyZW07XHJcbiAgcGFkZGluZy10b3A6IDEycmVtO1xyXG4gIGJhY2tncm91bmQ6ICNmNmY3Zjk7XHJcblxyXG4gICAgaDF7XHJcbiAgICAgICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgaDJ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjNyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjJyZW07XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBwLHN0cm9uZywudmnDsWV0YXtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICBzcGFue1xyXG4gICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3RvLWdyaWQge1xyXG4gIG1heC13aWR0aDogMTEwcmVtO1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICBnYXA6IDVyZW07XHJcbn1cclxuXHJcblxyXG4uY29udGFjdG8taW5mbyBoMSBzcGFuIHtcclxuICBjb2xvcjogI2ZmN2EzZDtcclxufVxyXG5cclxuLnZpw7FldGEge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgcGFkZGluZzogMS41cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuXHJcbi5mb3JtdWxhcmlvIHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBwYWRkaW5nOiAycmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcclxuICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsMCwwLC4xKTtcclxufVxyXG5cclxuLmNhbXBvLWRvYmxlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMXJlbTtcclxufVxyXG5cclxuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICBoZWlnaHQ6IDE1cmVtO1xyXG4gIHJlc2l6ZTogbm9uZTtcclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgYmFja2dyb3VuZDogI2ZmN2EzZDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo3NjhweCl7XHJcbiAgLmNvbnRhY3RvLWdyaWR7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5yZWRlcy1jb250YWN0byB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDEuMnJlbTtcclxuICBtYXJnaW4tdG9wOiAycmVtO1xyXG5cclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiQHVzZSAnYmFzZS92YXJpYWJsZXMnIGFzIHY7XHJcbkB1c2UgJ2Jhc2UvbWl4aW5zJyBhcyBtO1xyXG5cclxuLmNvbGFie1xyXG4gIFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZjMlxyXG4gIFxyXG59XHJcblxyXG4uY29udGVuaWRvLWNvbGFib3JhY2lvbiB7XHJcblxyXG4gIFxyXG4gIG1hcmdpbjogMnJlbSBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblxyXG4gIFxyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1heC13aWR0aDogODByZW07XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICBAaW5jbHVkZSBtLnRhYmxldCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLmNvbnRlbmlkby1jb2xhYm9yYWNpb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XHJcbiAgfVxyXG5cclxuICAuY29udGVuaWRvLWNvbGFib3JhY2lvbiBwIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7IC8vIG9wY2lvbmFsLCBtZWpvcmEgbGVjdHVyYSBlbiBtw7N2aWxcclxuICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0gQkxPUVVFIEFFUk9QVUVSVE9TIC0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5ibG9xdWUge1xyXG4gICAgXHJcbiAgcCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICBoMyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgY29sb3I6IHYuJG5hcmFuamE7XHJcbiAgfVxyXG5cclxuICBcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLSBDQVJSVVNFTCBSRVNQT05TSVZPIC0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbiNjYXJvdXNlbEFlcm9wdWVydG9zIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDI1MHB4OyAvKiBiYXNlIG3Ds3ZpbCAqL1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbiNjYXJvdXNlbEFlcm9wdWVydG9zIC5jYXJvdXNlbC1pbm5lcixcclxuI2Nhcm91c2VsQWVyb3B1ZXJ0b3MgLmNhcm91c2VsLWl0ZW0ge1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuI2Nhcm91c2VsQWVyb3B1ZXJ0b3MgLmNhcm91c2VsLWl0ZW0gaW1nIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbi8qIHRhYmxldHMgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgI2Nhcm91c2VsQWVyb3B1ZXJ0b3Mge1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxuICB9XHJcbn1cclxuXHJcbi8qIGRlc2t0b3AgKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICNjYXJvdXNlbEFlcm9wdWVydG9zIHtcclxuICAgIGhlaWdodDogNzIwcHggIWltcG9ydGFudDsgXHJcbiAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tIFNDUk9MTCBFU1RBRE9TIC0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zY3JvbGwtY29udGVuZWRvcntcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdyZW0pO1xyXG4gIG92ZXJmbG93OmhpZGRlbjtcclxuICB3aWR0aDoxMDAlO1xyXG4gIFxyXG4gIFxyXG59XHJcblxyXG4uc2Nyb2xse1xyXG4gIGRpc3BsYXk6ZmxleDtcclxuICB3aWR0aDptYXgtY29udGVudDtcclxuICBhbGlnbi1pdGVtczpjZW50ZXI7XHJcbiAgYW5pbWF0aW9uOiBjYXJydXNlbCA0NXMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG4uZ3J1cG97XHJcbiAgZGlzcGxheTpmbGV4O1xyXG59XHJcblxyXG4uaXRlbXtcclxuICBmbGV4OjAgMCAyMDBweDtcclxuICBtYXJnaW4tcmlnaHQ6NDBweDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBjYXJydXNlbHtcclxuXHJcbiAgZnJvbXtcclxuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO1xyXG4gIH1cclxuXHJcbiAgdG97XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4uc2Nyb2xsOmhvdmVye1xyXG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZDtcclxufVxyXG5cclxuLml0ZW0ge1xyXG4gIG1hcmdpbi10b3A6IDNyZW07XHJcbiAgZmxleDogMCAwIDE2MHB4O1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgdi4kbmFyYW5qYTtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIFxyXG4gIHAge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmVzdGFkbyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgZmxleDogMCAwIDIyMHB4O1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5pdGVtIHN2ZyB7XHJcbiAgd2lkdGg6IDM1cHg7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG4gIGZpbGw6ICNGRjdBM0Q7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tIEJMT1FVRSBJTkZPIC0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5ibG9xdWUtaW5mbyB7XHJcbiAgQGluY2x1ZGUgbS5jb250ZW5lZG9yO1xyXG4gIG1hcmdpbi10b3A6IC0xNXJlbTtcclxuICBwYWRkaW5nOiAyNXB4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmY2EyNGYsICNmNTRlMDApO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogd2hpdGU7XHJcblxyXG4gIGgze1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICB9XHJcbiAgXHJcbiAgc3BhbiB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgbWFyZ2luLXRvcDogLTE1cmVtO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi5ibG9xdWUtaW5mbyBwIHtcclxuICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gIG1hcmdpbjogMTVweCBhdXRvIDQwcHg7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0gSUNPTk9TIC0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5pY29ub3MtaW5mbyB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gIGdhcDogMjVweDtcclxuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0IHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICBnYXA6IDMwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtLmRlc2t0b3Age1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxufVxyXG5cclxuLmljb25vLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIG1heC13aWR0aDogMjAwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiBjZW50cmFyIHF1aW50byBpY29ubyBlbiBncmlkICovXHJcbi5pY29ub3MtaW5mbyAuaWNvbm8taW5mbzpsYXN0LWNoaWxke1xyXG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XHJcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XHJcblxyXG4gIEBpbmNsdWRlIG0uZGVza3RvcHtcclxuICAgIGdyaWQtY29sdW1uOmF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4uaWNvbm8taW5mbyBzdmcge1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICBAaW5jbHVkZSBtLnRhYmxldCB7XHJcbiAgICB3aWR0aDogNDVweDtcclxuICAgIGhlaWdodDogNDVweDtcclxuICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0gQk9UT04gLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmJ0bi1jb250YWN0b2NvbGFiIHtcclxuICBwYWRkaW5nOiAxMnB4IDE4cHg7XHJcbiAgYmFja2dyb3VuZDogdi4kbmFyYW5qYTtcclxuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2U5NmEyNTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0IHtcclxuICAgIHBhZGRpbmc6IDEwcHggMjJweDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW5pZG8tY29sYWJ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMnJlbTsgXHJcbn1cclxuXHJcbiIsIkB1c2UgJ2Jhc2UvdmFyaWFibGVzJyBhcyB2O1xyXG5AdXNlICdiYXNlL21peGlucycgYXMgbTtcclxuXHJcblxyXG5cclxuXHJcbi5jb250ZW5pZG8tZnliIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIG5lY2VzYXJpbyBwYXJhIHF1ZSBlbCBmb25kbyBhYnNvbHV0byBxdWVkZSBkZW50cm9cclxuICBcclxuICBtYXJnaW4tdG9wOiAxMHJlbTtcclxuICBtYXJnaW4tYm90dG9tOiA2cmVtO1xyXG4gIHBhZGRpbmc6IDRyZW0gMnJlbTsgLy8gbcOhcyBlc3BhY2lvIHBhcmEgcXVlIGxvcyB0ZXh0b3Mgbm8gc2Ugc3VwZXJwb25nYW4gYWwgYm9yZGVcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8vIGNlbnRyYSBsb3MgdGV4dG9zIHNvYnJlIGxhIGltYWdlblxyXG5cclxuICBoMXtcclxuICAgIGNvbG9yOiAjZWVlO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9uZG8gYWJzb2x1dG9cclxuICAuZnliLWltYWdlbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBpbnNldDogMDsgLy8gdG9wOjA7IHJpZ2h0OjA7IGJvdHRvbTowOyBsZWZ0OjA7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IC8vIGNlbnRyYSBsYSBpbWFnZW5cclxuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuNik7IC8vIG9wY2lvbmFsOiBvc2N1cmVjZSBlbCBmb25kbyBwYXJhIHF1ZSBlbCB0ZXh0byByZXNhbHRlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb250ZW5pZG8gcG9yIGVuY2ltYSBkZWwgZm9uZG9cclxuICAuZnliLWNvbnRlbmlkbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIHBvciBlbmNpbWEgZGVsIGZvbmRvXHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDJyZW07XHJcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbS5kZXNrdG9wIHtcclxuICAgIHBhZGRpbmc6IDZyZW0gNHJlbTtcclxuICB9XHJcblxyXG4gIFxyXG59XHJcblxyXG5cclxuLmNvbnRlbmlkby1meWI6OmJlZm9yZXtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBpbnNldDogMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNTApO1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi50aXR1bG8tZ2FyYW50aWEge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAzcmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDNyZW07XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGNvbG9yOiB2LiRuYXJhbmphO1xyXG59XHJcblxyXG5cclxuLmNvbnRlbmlkby1nYXJhbnRpYSB7XHJcblxyXG4gIEBpbmNsdWRlIG0uY29udGVuZWRvcjtcclxuXHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbS50YWJsZXQge1xyXG4gICAgQGluY2x1ZGUgbS5ncmlkKDMpO1xyXG5cclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuXHJcblxyXG4uZ2FyYW50aWFzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gIGdhcDogMS41cmVtO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tdG9wOiAzcmVtO1xyXG5cclxuXHJcbiAgaDMsXHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLmdhcmFudGlhLWJveCB7XHJcbiAgXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBib3JkZXI6IDJweCBzb2xpZCB2LiRuYXJhbmphO1xyXG4gIHBhZGRpbmc6IDI1cHg7XHJcbiAgd2lkdGg6IDMyMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgdHJhbnNpdGlvbjogMC4zcztcclxuXHJcbn1cclxuXHJcbi5nYXJhbnRpYS1ib3g6aG92ZXIge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICBib3gtc2hhZG93OiAwIDEwcHggMjBweCB2LiRuYXJhbmphO1xyXG59XHJcblxyXG4uZ2FyYW50aWEtYm94IGltZyB7XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmdhcmFudGlhLWJveCBoMyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLyogQU5JTUFDScOTTiBHRU5FUkFMICovXHJcbkBrZXlmcmFtZXMgbW92ZXJMaW5lYSB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExJTkVBIFBST0RVQ1RPU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zY3JvbGwtbGluZWEtcHJvZHVjdG9zIHtcclxuXHJcbiAgbWFyZ2luLXRvcDogLTZyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogLTVyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG4gIGJhY2tncm91bmQ6ICNGRjdBM0Q7IC8qIHJlZW1wbGF6YSB2LiRuYXJhbmphICovXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zY3JvbGwtbGluZWEtcHJvZHVjdG9zOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAyMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICA5MGRlZyxcclxuICAgIHRyYW5zcGFyZW50LFxyXG4gICAgd2hpdGUsXHJcbiAgICB0cmFuc3BhcmVudFxyXG4gICk7XHJcbiAgYW5pbWF0aW9uOiBtb3ZlckxpbmVhIDNzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMSU5FQSBTT0xVQ0lPTkVTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNjcm9sbC1saW5lYS1zb2x1Y2lvbmVzIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMjBweDtcclxuICBiYWNrZ3JvdW5kOiByZ2IoNjEsIDYxLCA2MSk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zY3JvbGwtbGluZWEtc29sdWNpb25lczo6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMjAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG4gICAgOTBkZWcsXHJcbiAgICB0cmFuc3BhcmVudCxcclxuICAgICNGRjdBM0QsXHJcbiAgICB0cmFuc3BhcmVudFxyXG4gICk7XHJcbiAgYW5pbWF0aW9uOiBtb3ZlckxpbmVhIDNzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tVGFibGEgZGUgcHJvZHVjdG9zLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnRhYmxhLWVzcGVjaWZpY2FjaW9uZXMge1xyXG4gIGgyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8qIENvbnRlbmVkb3IgcHJpbmNpcGFsICovXHJcbi50YWJsYS1jYXJydXNlbC1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAycmVtO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgLyogQ2VudHJhIHZlcnRpY2FsbWVudGUgZWwgY2FycnVzZWwgKi9cclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi50YWJsYXMtcHJvZHVjdG9zIHtcclxuICBmbGV4OiAyO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6IDJyZW07XHJcbiAgbWF4LXdpZHRoOiA3MDBweDtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG5cclxufVxyXG5cclxuLnRhYmxhcy1wcm9kdWN0b3MgdGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIG1hcmdpbjogMXJlbSAwO1xyXG5cclxufVxyXG5cclxudGgsXHJcbnRkIHtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xyXG4gIHBhZGRpbmc6IDZweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cclxufVxyXG5cclxudGgge1xyXG4gIGJhY2tncm91bmQ6ICNmZjdhM2Q7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG5cclxufVxyXG5cclxuLmNvbC1tb2RlbG8ge1xyXG4gIGJhY2tncm91bmQ6ICNmZjdhM2Q7XHJcbn1cclxuXHJcbi5jYXRlZ29yaWEge1xyXG4gIGJhY2tncm91bmQ6ICNmZjdhM2Q7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgd2lkdGg6IDE0MHB4O1xyXG59XHJcblxyXG4vKiBDYXJydXNlbCAqL1xyXG4vKiBDYXJydXNlbCAqL1xyXG4uY2Fyb3VzZWwtYmFzY3VsYXMge1xyXG4gIGZsZXg6IDE7XHJcbiAgbWF4LXdpZHRoOiA0MDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDsgLyogYm9yZGVzIHJlZG9uZGVhZG9zICovXHJcbiAgYm9yZGVyOiAuNXJlbSBzb2xpZCAjRkY3QTNEOyAvKiBib3JkZSBuYXJhbmphICovXHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogaW1wb3J0YW50ZSBwYXJhIHJlY29ydGFyIGxhIGltYWdlbiBkZW50cm8gZGVsIGJvcmRlICovXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDBiYTsgLyogY29sb3IgZGUgcmVsbGVubyBwYXJhIGxvcyBlc3BhY2lvcyAqL1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtYmFzY3VsYXMgaW1nIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7IC8qIGxsZW5hIHRvZG8gZWwgY29udGVuZWRvciAqL1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbn1cclxuLyogUmVzcG9uc2l2ZSAqL1xyXG5AbWVkaWEobWF4LXdpZHRoOjEyMDBweCkge1xyXG5cclxuICAvKiBFc2NyaXRvcmlvIGdyYW5kZSB5IHRhYmxldCAqL1xyXG4gIC5jYXJvdXNlbC1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcclxuICAgIC8qIG1hbnRpZW5lIHByb3BvcmNpw7NuIG3DoXMgcGVxdWXDsWEgKi9cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6OTAwcHgpIHtcclxuXHJcbiAgLyogVGFibGV0IHkgbcOzdmlsICovXHJcbiAgLnRhYmxhLWNhcnJ1c2VsLWNvbnRhaW5lciB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5jYXJvdXNlbC1iYXNjdWxhcyB7XHJcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgfVxyXG59XHJcblxyXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBidXR0b24ge1xyXG4gIGJhY2tncm91bmQ6ICNGRjdBM0QgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuXHJcbi5jb250ZW5pZG8tY2FyZHNwcm9kdWMge1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwYWRkaW5nOiAycmVtO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gIGgyIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmNhcmRzLXByb2R1YyB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgZ2FwOiAycmVtO1xyXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcmVtO1xyXG5cclxuICBoMyB7XHJcblxyXG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgLmNhcmRzLXByb2R1YyB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uY2FyZC1wcm9kdWMge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgcGFkZGluZzogMnJlbTtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgLjI1KTtcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG5cclxuLmNhcmQtcHJvZHVjIGgzIHtcclxuICBtYXJnaW4tdG9wOiAycmVtO1xyXG5cclxufVxyXG5cclxuLmNhcmQtcHJvZHVjIHAge1xyXG4gIG1hcmdpbjogMC41cmVtIDAgMXJlbTtcclxuICBjb2xvcjogI0ZGN0EzRDtcclxufVxyXG5cclxuLmNhcmQtcHJvZHVjIHVsIHtcclxuICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG59XHJcblxyXG5cclxuLmNhcmQtcHJvZHVjIGltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAzMDBweDtcclxuICBvYmplY3QtZml0OiBjb250YWluO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmNlcnRpZmljYWNpb24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgcGFkZGluZzogMnJlbTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyAvLyBzZW1pLXRyYW5zcGFyZW50ZSBwYXJhIHF1ZSBzZSB2ZWEgZWwgZm9uZG9cclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgZ2FwOiAxcmVtO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICB9XHJcblxyXG4gIHN0cm9uZyB7XHJcbiAgICBjb2xvcjogdi4kbmFyYW5qYTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG0udGFibGV0IHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi8qIEFqdXN0ZXMgcmVzcG9uc2l2ZSAqL1xyXG5AbWVkaWEobWF4LXdpZHRoOjEwMjRweCkge1xyXG4gIC5jb250ZW5pZG8tZnliIHtcclxuICAgIHBhZGRpbmc6IDRyZW0gMnJlbTtcclxuICB9XHJcblxyXG4gIC5jZXJ0aWZpY2FjaW9uIHtcclxuICAgIHBhZGRpbmc6IDEuNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpIHtcclxuICAuY29udGVuaWRvLWZ5YiB7XHJcbiAgICBwYWRkaW5nOiAzcmVtIDFyZW07XHJcbiAgfVxyXG5cclxuICAuY2VydGlmaWNhY2lvbiB7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uY2VydC1sYXRlcmFsIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAuOHJlbTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG5cclxuICAuaWNvbiB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5jZXJ0LXRleHRvIGgyIHtcclxuICBmb250LXNpemU6IDIuOHJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuXHJcbi5jZXJ0LXRleHRvIHAge1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbn1cclxuXHJcblxyXG4uY2VydC1iYWRnZXMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6IDFyZW07XHJcbn1cclxuXHJcbi5jZXJ0LWJhZGdlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAuNnJlbTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDEycHggMThweDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIC4wOCk7XHJcbn1cclxuXHJcbi5jZXJ0LXRleHRvIGgyIHtcclxuICBsaW5lLWhlaWdodDogMS4yO1xyXG59XHJcblxyXG4uY2VydC1iYWRnZSBzdmcge1xyXG4gIHdpZHRoOiAyMHB4O1xyXG4gIGhlaWdodDogMjBweDtcclxuICBzdHJva2U6ICNGRjdBM0Q7XHJcbn1cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG4uY29uZmlnLWJveCB7XHJcbiAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG8gM3JlbSBhdXRvO1xyXG4gIFxyXG59XHJcblxyXG4uaW5zdGFsYWNpb24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWM5YmU7IC8vIGZvbmRvIGNvbXBsZXRvXHJcbiAgcGFkZGluZzogNHJlbSAwO1xyXG59XHJcblxyXG4uaW5zdGFsYWNpb24tY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcGFkZGluZzogMCAycmVtO1xyXG59XHJcblxyXG4uaW5zdGFsYWNpb24gaDIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG5cclxuLmNvbmZpZy1oZWFkZXIge1xyXG4gIGJhY2tncm91bmQ6ICNmZjdhM2Q7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBibGFjaztcclxufVxyXG5cclxuXHJcbi5jb25maWctY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogM3JlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTljOWJlO1xyXG4gIHBhZGRpbmc6IDJyZW07XHJcblxyXG4gIHAsXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5jb25maWctZGlhZ3JhbWEge1xyXG4gIGZsZXg6IDE7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHJcbn1cclxuXHJcbi5jb25maWctZGlhZ3JhbWEgaW1nIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICBib3JkZXItcmFkaXVzOiAzMHB4OyAvKiBib3JkZXMgcmVkb25kZWFkb3MgKi9cclxuICBib3JkZXI6IDJweCBzb2xpZCAjRkY3QTNEOyAvKiBib3JkZSBuYXJhbmphICovXHJcbiAgXHJcbn1cclxuXHJcblxyXG4uY29uZmlnLWltYWdlbiB7XHJcbiAgZmxleDogMS4zO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgXHJcbn1cclxuXHJcbi5jb25maWctaW1hZ2VuIGltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA0MHJlbTtcclxuICBib3JkZXItcmFkaXVzOiAzMHB4OyAvKiBib3JkZXMgcmVkb25kZWFkb3MgKi9cclxuICBib3JkZXI6IDVweCBzb2xpZCAjRkY3QTNEOyAvKiBib3JkZSBuYXJhbmphICovXHJcbn1cclxuXHJcblxyXG5cclxuLmZvb3Rlci1pbnN0IHtcclxuICBiYWNrZ3JvdW5kOiAjZmY3YTNkO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuQG1lZGlhKG1heC13aWR0aDo3NjhweCkge1xyXG4gIC5jb25maWctY29udGVudCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmNvbmZpZy1pbWFnZW4gaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uZGl2LWNvdGl6YWNpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4uYnRuLWNvdGl6YWNpb24ge1xyXG5cclxuICBwYWRkaW5nOiAxMnB4O1xyXG4gIGJhY2tncm91bmQ6IHYuJG5hcmFuamE7XHJcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBtYXJnaW4tdG9wOiBhdXRvO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlOTZhMjU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG5cclxuICAvKiBUSVRVTE9TICovXHJcblxyXG4gIGgxIHtcclxuICAgIFxyXG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjRyZW0sIDZ2dywgM3JlbSk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtO1xyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA1dncsIDIuNnJlbSk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDR2dywgMnJlbSk7XHJcbiAgfVxyXG5cclxuICAvKiBQQVJSQUZPUyAqL1xyXG5cclxuICBwIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAzdncsIDEuNnJlbSk7XHJcbiAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDN2dywgMS42cmVtKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgfVxyXG5cclxuICAvKiBDRVJUSUZJQ0FDSU9OICovXHJcblxyXG4gIC5jZXJ0LXRleHRvIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNnZ3LCAyLjZyZW0pO1xyXG4gIH1cclxuXHJcbiAgLmNlcnQtdGV4dG8gcCB7XHJcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgM3Z3LCAxLjZyZW0pO1xyXG4gIH1cclxuXHJcbiAgLyogR0FSQU5USUFTICovXHJcblxyXG4gIC5nYXJhbnRpYS1ib3ggaDMge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDR2dywgMnJlbSk7XHJcbiAgfVxyXG5cclxuICAuZ2FyYW50aWEtYm94IHAge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDN2dywgMS42cmVtKTtcclxuICB9XHJcblxyXG4gIC8qIENBUkRTIFBST0RVQ1RPUyAqL1xyXG5cclxuICAuY2FyZC1wcm9kdWMgaDMge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDR2dywgMnJlbSk7XHJcbiAgfVxyXG5cclxuICAuY2FyZC1wcm9kdWMgcCB7XHJcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgM3Z3LCAxLjZyZW0pO1xyXG4gIH1cclxuXHJcbiAgLmNvbmZpZy1jb250ZW50IHAsXHJcbiAgLmNvbmZpZy1jb250ZW50IGxpIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAzdncsIDEuNnJlbSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8qIFRBQkxFVCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA2dncsIDNyZW0pO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcclxuICB9XHJcblxyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgNXZ3LCAyLjZyZW0pO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCA0dncsIDJyZW0pO1xyXG4gIH1cclxuXHJcbiAgcCxcclxuICBsaSB7XHJcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgM3Z3LCAxLjZyZW0pO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICB9XHJcblxyXG4gIC8qIFNlY2Npb25lcyBlc3BlY8OtZmljYXMgKi9cclxuICAuY2VydC10ZXh0byBoMiB7XHJcbiAgICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDZ2dywgMi42cmVtKTtcclxuICB9XHJcblxyXG4gIC5jZXJ0LXRleHRvIHAge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDN2dywgMS42cmVtKTtcclxuICB9XHJcblxyXG4gIC5nYXJhbnRpYS1ib3ggaDMge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDR2dywgMnJlbSk7XHJcbiAgfVxyXG5cclxuICAuZ2FyYW50aWEtYm94IHAge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDN2dywgMS42cmVtKTtcclxuICB9XHJcblxyXG4gIC5jYXJkLXByb2R1YyBoMyB7XHJcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNnJlbSwgNHZ3LCAycmVtKTtcclxuICB9XHJcblxyXG4gIC5jYXJkLXByb2R1YyBwIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAzdncsIDEuNnJlbSk7XHJcbiAgfVxyXG5cclxuICAuY29uZmlnLWNvbnRlbnQgcCxcclxuICAuY29uZmlnLWNvbnRlbnQgbGkge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDN2dywgMS42cmVtKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vKiBNT1ZJTCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA3dncsIDIuNnJlbSk7XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6IGNsYW1wKDEuOHJlbSwgNnZ3LCAyLjJyZW0pO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDV2dywgMS44cmVtKTtcclxuICB9XHJcblxyXG4gIHAsXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjNyZW0sIDR2dywgMS41cmVtKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4ucm9tYW4tYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiAwLjJyZW0gMXJlbTsgXHJcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgICAgXHJcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAgICAgXHJcbiAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7IFxyXG4gIGNvbG9yOiBibGFjazsgICAgICAgIFxyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59IiwiQHVzZSAnYmFzZS92YXJpYWJsZXMnIGFzIHY7XHJcbkB1c2UgJ2Jhc2UvbWl4aW5zJyBhcyBtO1xyXG5cclxuLm1hbnRlbmltaWVudG8taGVybyB7XHJcbiAgbWFyZ2luLXRvcDogMTByZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogNjB2aDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL3NyYy9pbWcvZm9uZG9tYW50ZW5pbWllbnRvLmpwZycpIGNlbnRlciBjZW50ZXIgLyBjb3ZlciBuby1yZXBlYXQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG59XHJcblxyXG4uaGVyby1vdmVybGF5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaW5zZXQ6IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjc1KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogM3JlbSAycmVtO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uaGVyby1vdmVybGF5IGgxIHtcclxuICBmb250LXNpemU6IGNsYW1wKDMuNXJlbSwgOHZ3LCAxMHJlbSk7IFxyXG4gIGNvbG9yOiAjRkY3QTNEO1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTtcclxufVxyXG5cclxuLmhlcm8tb3ZlcmxheSBwIHtcclxuICBmb250LXNpemU6IGNsYW1wKDEuMnJlbSwgMi41dncsIDEuOHJlbSk7IFxyXG4gIG1heC13aWR0aDogbWluKDcwMHB4LCA5MCUpOyBcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC5tYW50ZW5pbWllbnRvLWhlcm8ge1xyXG4gICAgbWFyZ2luLXRvcDogOHJlbTtcclxuICAgIG1pbi1oZWlnaHQ6IDMwcmVtO1xyXG4gIH1cclxuICBcclxuICAuaGVyby1vdmVybGF5IHtcclxuICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4ubWFudGVuaW1pZW50by1jYXJkcyB7XHJcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG8gNXJlbSBhdXRvO1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgZ2FwOiAycmVtO1xyXG4gIHBhZGRpbmc6IDAgMXJlbTtcclxufVxyXG5cclxuLmNhcmQtbWFudGVuaW1pZW50byB7XHJcbiAgYmFja2dyb3VuZDogI2YzZjVmODtcclxuICBwYWRkaW5nOiAycmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgYm9yZGVyOiA1cHggc29saWQgdi4kbmFyYW5qYTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XHJcbiAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLDAsMCwwLjA1KTtcclxuICBcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiA5MCU7IFxyXG59XHJcblxyXG4uY2FyZC1tYW50ZW5pbWllbnRvOmhvdmVyIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgYm94LXNoYWRvdzogMCAxNXB4IDM1cHggdi4kbmFyYW5qYTtcclxufVxyXG5cclxuLmNhcmQtbWFudGVuaW1pZW50byAuaWNvbm8ge1xyXG4gIGZvbnQtc2l6ZTogM3JlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIGNvbG9yOiAjRkY3QTNEO1xyXG59XHJcblxyXG4uY2FyZC1tYW50ZW5pbWllbnRvIGgzIHtcclxuICBtYXJnaW4tYm90dG9tOiAuOHJlbTtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxufVxyXG5cclxuLmNhcmQtbWFudGVuaW1pZW50byBwIHtcclxuICBmb250LXNpemU6IDEuMnJlbTtcclxuICBcclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5tYW50ZW5pbWllbnRvLWNhcmRzIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgfVxyXG5cclxuICAuaGVyby1vdmVybGF5IGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4ubWFyY2FzLXNjcm9sbCB7XHJcbiAgQGluY2x1ZGUgbS5jb250ZW5lZG9yO1xyXG5cclxuICBiYWNrZ3JvdW5kOiAjZjNmNWY4O1xyXG4gIHBhZGRpbmc6IDNyZW0gMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogNHJlbSBhdXRvOyBcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLDAsMCwwLjEpO1xyXG59XHJcblxyXG5cclxuLm1hcmNhcy1zY3JvbGwuc3RpY2t5LXN1cGVyaW9ye1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAxMDBweDtcclxuICB6LWluZGV4OiA5MDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLyogZXN0YWRvIG5vcm1hbCAqL1xyXG4ubWFyY2FzLXNjcm9sbC5ub3JtYWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm1hcmNhcy10aXR1bG8ge1xyXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgY29sb3I6ICM2YzdhODk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubWFyY2FzLXdyYXBwZXIge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tYXJjYXMtdHJhY2sge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDRyZW07XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4ubWFyY2FzLXRyYWNrIHNwYW4ge1xyXG4gIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgY29sb3I6ICM1NTU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblxyXG4gIC5tYXJjYXMtdHJhY2t7XHJcbiAgICBnYXA6IDJyZW07XHJcbiAgfVxyXG5cclxuICAubWFyY2FzLXRyYWNrIHNwYW57XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICB9XHJcblxyXG59XHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uc2VydmljaW9zLWJnIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogNnJlbSAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zZXJ2aWNpb3MtYmc6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaW5zZXQ6IDA7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9zcmMvaW1nL3BhaXNhamVzZXJ2aWNpb3MuanBnJykgY2VudGVyIGNlbnRlciAvIGNvdmVyIG5vLXJlcGVhdDtcclxuICB6LWluZGV4OiAtMjtcclxufVxyXG5cclxuLnNlcnZpY2lvcy1iZzo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGluc2V0OiAwO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41NSk7XHJcbiAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi5zZXJ2aWNpb3Mge1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIHBhZGRpbmc6IDAgMXJlbTtcclxufVxyXG5cclxuLnRpdHVsby1zZWNjaW9uIGgyIHtcclxuICBmb250LXNpemU6IDIuNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRpdHVsby1zZWNjaW9uIGgyOjphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogNjBweDtcclxuICBoZWlnaHQ6IDRweDtcclxuICBiYWNrZ3JvdW5kOiAjRkY3QTNEO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogLTEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcblxyXG5cclxuLnNlcnZpY2lvcy1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gIGdhcDogMnJlbTtcclxuXHJcbiAgXHJcbn1cclxuXHJcblxyXG4uc2VydmljaW8tY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogI2YzZjVmODtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLDAsMCwwLjA1KTtcclxuICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcclxufVxyXG5cclxuLnNlcnZpY2lvLWNhcmQ6aG92ZXIge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcclxuICBib3gtc2hhZG93OiAwIDE1cHggNDBweCByZ2JhKDAsMCwwLDAuMSk7XHJcbn1cclxuXHJcbi5zZXJ2aWNpby1pbWcge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiAjZjhmOWZhOyBcclxuICBoZWlnaHQ6IDI1MHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweCAxNXB4IDAgMDtcclxufVxyXG5cclxuLnNlcnZpY2lvLWltZyBpbWcge1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uc2VydmljaW8tY29udGVuaWRvIHtcclxuICBwYWRkaW5nOiAycmVtO1xyXG59XHJcblxyXG4uc2VydmljaW8tY29udGVuaWRvIGgzIHtcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG59XHJcblxyXG4uc2VydmljaW8tY29udGVuaWRvIHAge1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgY29sb3I6ICM1NTU7XHJcbn1cclxuXHJcbi5zZXJ2aWNpby1jb250ZW5pZG8gdWwge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnNlcnZpY2lvLWNvbnRlbmlkbyBsaSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogLjZyZW07XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctbGVmdDogMjVweDtcclxufVxyXG5cclxuLnNlcnZpY2lvLWNvbnRlbmlkbyBsaTo6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIuKclFwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIGNvbG9yOiAjRkY3QTNEO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG5cclxuLm5vcm1hdGl2YS1ib3gge1xyXG4gIG1hcmdpbi10b3A6IDRyZW07XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXItbGVmdDogNnB4IHNvbGlkICNGRjdBM0Q7XHJcbiAgcGFkZGluZzogMnJlbTtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAycmVtO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLDAsMCwwLjA1KTtcclxuXHJcbiAgICBoNHtcclxuICAgICAgZm9udC1zaXplOiAxLjhyZW1cclxuICAgIH1cclxuICAgIHB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG4gIFxyXG59XHJcblxyXG4ubm9ybWF0aXZhLWJhZGdlIHtcclxuICBiYWNrZ3JvdW5kOiAjRkY3QTNEO1xyXG4gIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG4gIHNwYW57XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi5ub3JtYXRpdmEtdGV4dG8ge1xyXG5cclxuICBzcGFue1xyXG4gICAgY29sb3I6IHYuJG5hcmFuamE7XHJcbiAgfVxyXG5cclxuaDQge1xyXG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gIFxyXG59XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5zZXJ2aWNpb3MtZ3JpZCB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbmlkby1tYW50ZW5pbWllbnRve1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblxyXG4gIFxyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFNkQ1Q0Y7XHJcbiBcclxuXHJcbn1cclxuXHJcbi5zY3JvbGwtbGluZWEtbWFudGVuaW1pZW50b3tcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDRweDtcclxuICBiYWNrZ3JvdW5kOiAjZGRkOyAvLyBmb25kbyBiYXNlXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5zY3JvbGwtcHJvZ3Jlc28tbWFudGVuaW1pZW50b3tcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDAlO1xyXG4gIGJhY2tncm91bmQ6IGJsYWNrO1xyXG4gIHRyYW5zaXRpb246IHdpZHRoIDFzIGVhc2Utb3V0OyAvLyBzdWF2aXphIGVsIG1vdmltaWVudG9cclxufSJdLCJmaWxlIjoiYXBwLmNzcyJ9 */
