/*! 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 {
  background-color: #0B0B0F;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #B8C0FF;
  font-size: 2rem;
}
body.overflow-hidden {
  overflow: hidden;
}

p {
  color: #B8C0FF;
  line-height: 1.5;
}

.contenedor {
  width: 95%;
  max-width: 90rem;
  margin: 0 auto;
}

a {
  text-decoration: none;
}

h1, h2, h3 {
  margin: 0 0 5rem 0;
  font-weight: 900;
}

h1 {
  font-size: 3rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 5rem;
  text-align: center;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
}

body > section {
  padding: 10rem 0;
}

.header {
  background-color: #0F6F6A;
}
@media (min-width: 768px) {
  .header.fixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    box-shadow: 0.1rem 0.2rem 0.3rem #333;
  }
}
.header .contenido-header {
  padding: 2rem;
}
@media (min-width: 768px) {
  .header .contenido-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.header h1 {
  color: #FFFFFF;
  text-align: center;
}
@media (min-width: 768px) {
  .header h1 {
    text-align: left;
    margin: 0;
  }
}

.navegacion-principal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media (min-width: 768px) {
  .navegacion-principal {
    flex-direction: row;
  }
}
.navegacion-principal a {
  color: #FFFFFF;
  font-size: 1.8rem;
}
.navegacion-principal a:hover, .navegacion-principal a.active {
  color: #fdda00;
}

.video {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.video video {
  width: 100%;
  height: 60rem;
  object-fit: cover;
  object-position: 80% center;
}

.video .overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, rgba(117, 47, 151, 0.6), rgba(117, 47, 151, 0.9));
  display: flex;
  align-items: center;
}

@media (min-width: 1200px) {
  .video video {
    width: 100%;
  }
}

.contenido-video {
  z-index: 10;
}
.contenido-video h2 {
  color: #FFFFFF;
  font-size: 7rem;
  margin: 0;
}
.contenido-video p {
  color: #FFFFFF;
  background-color: rgba(179, 18, 46, 0.3);
  display: inline-block;
  padding: 1rem;
  font-size: 2.5rem;
  margin-top: 1rem;
  font-weight: 700;
  border-radius: .5rem;
}

.sobre-festival {
  width: 95%;
  max-width: 90rem;
  margin: 0 auto;
}
.sobre-festival .imagen {
  display: flex;
  align-items: center;
}

.mr {
  border-radius: .3rem;
}

@media (min-width: 768px) {
  .sobre-festival {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5rem;
  }
}

.contenido-festival {
  margin-top: 5rem;
}
.contenido-festival h2 {
  margin-bottom: 2rem;
}
.contenido-festival .fecha {
  color: #ffffff;
  font-weight: 700;
}

.play {
  display: flex;
  justify-content: center;
  background-color: #B3122E;
}
.play h3, .play .dia {
  text-align: center;
  color: #FFFFFF;
}
.play .dia {
  font-size: 3rem;
  text-transform: uppercase;
}

.player {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  background: #14141A;
  padding: 1.5rem;
  border-radius: 1.2rem;
  border: .1rem solid #00A8A0;
  color: #EAEAF0;
}

.btn-play {
  background: #FF2E63;
  color: #0B0B0F;
  border: none;
  padding: .8rem 1.2rem;
  border-radius: 1rem;
  cursor: pointer;
  font-weight: bold;
  transition: 0.2s;
}

.btn-play:hover {
  background: #00A8A0;
  color: #0B0B0F;
}

/*ecualizador*/
.eq {
  display: flex;
  gap: 3px;
  align-items: flex-end;
  height: 20px;
}

.eq span {
  width: 3px;
  height: 100%;
  background: #00A8A0;
  animation: eq 1s infinite ease-in-out;
}

.eq span:nth-child(2) { animation-delay: .1s; background: #FF2E63; }
.eq span:nth-child(3) { animation-delay: .2s; background: #FFD300; }
.eq span:nth-child(4) { animation-delay: .3s; background: #00A8A0; }
.eq span:nth-child(5) { animation-delay: .4s; background: #FF2E63; }

.progress {
  width: 120px;
  accent-color: #00A8A0;
  cursor: pointer;
}

/*formulario*/
.form {
  background: #14141A;
  padding: 2.5rem;
  border-radius: 1.6rem;
  border: 1px solid #5A189A;
  width: 30rem;
  color: #EAEAF0;
}

.form h2 {
  text-align: center;
  margin-bottom: 20px;
  color: #FF2E63;
}

.form label {
  font-size: 12px;
  margin-top: 10px;
  display: block;
  color: #C9D1D9;
}

.form input {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border-radius: 10px;
  border: none;
  background: #0B0B0F;
  color: #EAEAF0;
  outline: none;
  border: 1px solid #333;
}

.form input:focus {
  border: 1px solid #00A8A0;
  box-shadow: 0 0 8px #00A8A0;
}

.form button {
  width: 100%;
  margin-top: 2rem;
  padding: 1rem;
  border: none;
  border-radius: 1rem;
  background: #FF2E63;
  color: #0B0B0F;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 0 1rem #FF2E63;
  transition: 0.2s;
}

@media (min-width: 768px) {
  .form button {
    width: auto; /* solo cambias esto */
  }
}

.form button:hover {
  background: #00A8A0;
  box-shadow: 0 0 1rem #00A8A0;
}

@media (min-width: 768px){
  .form {
    width: 60rem;
  }
}

@keyframes eq {
  0%, 100% { height: .5rem; }
  50% { height: 1.8rem; }
}

@media (min-width: 768px) {
  .escenarios-contenedor {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5rem;
  }
}

.escenario .nombre-escenario {
  font-size: 3rem;
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
}

.calendario li {
  padding: 2.5rem;
  font-weight: 700;
}
.calendario span {
  font-weight: 400;
}

.galeria {
  width: 95%;
  max-width: 90rem;
  margin: 0 auto;
}
.galeria-imagenes {
  display: grid;
  gap: 2rem;
}
@media (min-width: 480px) {
  .galeria-imagenes {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
  }
}
@media (min-width: 768px) {
  .galeria-imagenes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2rem;
  }
}
@media (min-width: 1200px) {
  .galeria-imagenes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 2rem;
  }
}
.galeria-imagenes img {
  height: 18rem;
  object-fit: cover;
  margin-bottom: 2rem;
  cursor: pointer;
}

.modal {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: grid;
  place-items: center;
  animation: fadeIn ease-in 0.5s;
}
.modal.fadeOut {
  animation: fadeOut ease-in 0.5s;
}
.modal img {
  max-width: 70rem;
}

.cerrar-btn {
  background-color: #FFFFFF;
  border: none;
  border-radius: 50%;
  color: #000000;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  font-weight: 700;
  display: grid;
  place-items: center;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.contenedor-formulario {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #B3122E;
}
.contenedor-formulario h3 {
  color: #B8C0FF;
}

.contenedor-form {
  display: flex;
  justify-content: center; /* horizontal */
  align-items: center;
  width: 95%;
  max-width: 90rem;
  margin: 0 auto;
}

.footer {
  background-color: #0B0B0F;
  padding: 1rem 0;
}
.footer p {
  color: #B8C0FF;
  text-align: center;
  margin: 0;
}

.whatsapp {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 60px;
  height: 60px;
  background: #25D366;
  color: white;
  font-size: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  z-index: 2000;
}

.whatsapp i {
  font-size: 3.5rem;
}

.btn-arriba {
  position: fixed;
  bottom: 10rem;
  right: 2rem;
  z-index: 1000;
}

.btn-arriba img {
  width: 6rem;
  height: 6rem;
  cursor: pointer;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDOi9Vc2Vycy91c3VhcmlvL0Rlc2t0b3AvcHJveWVjdG9zJTIwYSUyMGMlQzMlQjNkaWdvL3Byb3llY3RvLmRqL3NyYy9zY3NzL2Jhc2Uvbm9ybWFsaXplLnNjc3MiLCJDOi9Vc2Vycy91c3VhcmlvL0Rlc2t0b3AvcHJveWVjdG9zJTIwYSUyMGMlQzMlQjNkaWdvL3Byb3llY3RvLmRqL3NyYy9zY3NzL2Jhc2UvX2dsb2JhbGVzLnNjc3MiLCJDOi9Vc2Vycy91c3VhcmlvL0Rlc2t0b3AvcHJveWVjdG9zJTIwYSUyMGMlQzMlQjNkaWdvL3Byb3llY3RvLmRqL3NyYy9zY3NzL2Jhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiQzovVXNlcnMvdXN1YXJpby9EZXNrdG9wL3Byb3llY3RvcyUyMGElMjBjJUMzJUIzZGlnby9wcm95ZWN0by5kai9zcmMvc2Nzcy9sYXlvdXQvaGVhZGVyLnNjc3MiLCJDOi9Vc2Vycy91c3VhcmlvL0Rlc2t0b3AvcHJveWVjdG9zJTIwYSUyMGMlQzMlQjNkaWdvL3Byb3llY3RvLmRqL3NyYy9zY3NzL2Jhc2UvbWl4aW5zLnNjc3MiLCJDOi9Vc2Vycy91c3VhcmlvL0Rlc2t0b3AvcHJveWVjdG9zJTIwYSUyMGMlQzMlQjNkaWdvL3Byb3llY3RvLmRqL3NyYy9zY3NzL2xheW91dC92aWRlby5zY3NzIiwiQzovVXNlcnMvdXN1YXJpby9EZXNrdG9wL3Byb3llY3RvcyUyMGElMjBjJUMzJUIzZGlnby9wcm95ZWN0by5kai9zcmMvc2Nzcy9sYXlvdXQvZmVzdGl2YWwuc2NzcyIsIkM6L1VzZXJzL3VzdWFyaW8vRGVza3RvcC9wcm95ZWN0b3MlMjBhJTIwYyVDMyVCM2RpZ28vcHJveWVjdG8uZGovc3JjL3Njc3MvbGF5b3V0L2xpbmV1cC5zY3NzIiwiQzovVXNlcnMvdXN1YXJpby9EZXNrdG9wL3Byb3llY3RvcyUyMGElMjBjJUMzJUIzZGlnby9wcm95ZWN0by5kai9zcmMvc2Nzcy9sYXlvdXQvX2dhbGVyaWEuc2NzcyIsIkM6L1VzZXJzL3VzdWFyaW8vRGVza3RvcC9wcm95ZWN0b3MlMjBhJTIwYyVDMyVCM2RpZ28vcHJveWVjdG8uZGovc3JjL3Njc3MvbGF5b3V0L19ib2xldG9zLnNjc3MiLCJDOi9Vc2Vycy91c3VhcmlvL0Rlc2t0b3AvcHJveWVjdG9zJTIwYSUyMGMlQzMlQjNkaWdvL3Byb3llY3RvLmRqL3NyYy9zY3NzL2xheW91dC9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQztFQUNHO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUN6Vko7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7QUFBQTtFQUdJOzs7QUFFSjtFQUNJLGFDYmU7RURjZjtFQUNBO0VBQ0EsT0NUSTtFRFVKOztBQUVBO0VBQ0k7OztBQUdSO0VBQ0ksT0NqQkk7RURrQko7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FFckRKO0VBV0ksa0JEWEc7O0FFS0g7RURISTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQU9KO0VBQ0k7O0FDVko7RURTQTtJQUdJO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSSxPRGxCQztFQ21CRDs7QUNuQko7RURpQkE7SUFJUTtJQUNKOzs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUM5QkE7RUQwQko7SUFNUTs7O0FBRUo7RUFDSSxPRG5DQztFQ29DRDs7QUFDQTtFQUVJLE9EMUNEOzs7QUdEWDtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDRDtFQUNBO0VBTUE7RUFDQTs7QUFFRDtFQUNFO0VBQ0E7O0FEVEY7RUNPQTtJQUlJOzs7O0FBS1I7RUFDSTs7QUFFQTtFQUNFLE9IMUJHO0VHMkJIO0VBQ0E7O0FBR0Y7RUFDRSxPSGhDRztFR2lDSCxrQkhyQ0M7RUdzQ0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDM0NOO0VGdUJJO0VBQ0E7RUFDQTs7QUV4QkE7RUFDSTtFQUNBOztBRkVKO0VFTEo7SUY2QlE7SUFDQTtJQUNBLFlBSHdCOzs7O0FFaEJoQztFQUNLOztBQUNEO0VBQ0c7O0FBR0g7RUFDRSxPSm5CQztFSW9CRDs7O0FDbkJOO0VBQ0ksa0JMREc7O0FLRUg7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTs7O0FBSVA7RUhVSTtFQUNBO0VBQ0E7O0FBcEJBO0VHUUo7SUhnQlE7SUFDQTtJQUNBLFlBSHdCOzs7O0FHUmhDO0VBQ0s7O0FBQ0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUw7RUhLSTtFQUNBO0VBQ0E7O0FHSkE7RUFDQztFQUNBOztBQUVEO0VBQ0U7OztBQUlOO0VBQ0csa0JMekNROztBSzBDUjtFQUNDOzs7QUFJSjtFQUNHLGtCTGxESTs7QUttREg7RUFDQTs7O0FDcERKO0VKdUJJO0VBQ0E7RUFDQTs7QUl2QkE7RUoyQkk7RUFDQTtFQUNBLFlJNUJtQjs7QUpKdkI7RUlHQTtJSjJCSTtJQUNBO0lBQ0EsWUl6QnVCOzs7QUpEM0I7RUlIQTtJSjJCSTtJQUNBO0lBQ0EsWUl0QnVCOzs7QUpFM0I7RUlUQTtJSjJCSTtJQUNBO0lBQ0EsWUluQnVCOzs7QUFHdkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRzs7QUFFSDtFQUNJOzs7QUFJUjtFQUNJLGtCTm5DSztFTW9DTDtFQUNBO0VBQ0EsT052Q0k7RU13Q0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQ2xFSjtFQUNJLGtCUERHOztBT0VIO0VBQ0ksT1BFQzs7O0FPRVQ7RUxnQkk7RUFDQTtFQUNBOztBQXBCQTtFS0VKO0lMc0JRO0lBQ0E7SUFDQSxZQUh3Qjs7OztBS2RoQztFQUNLOztBQUNEO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQSxPUGxCQzs7QU9vQkw7QUFBQTtFQUVJOztBQUVBO0FBQUE7RUFDSTtFQUNBLE9QMUJIO0VPMkJHOztBQUdSO0VBQ0ssa0JQbkNGOztBT29DQztFQUNFO0VBQ0E7RUFDQTs7QUFJTjtFQUNJLGtCUHhDQzs7QU95Q0Q7RUxYSjtFQUNBO0VBQ0E7O0FLV1E7RUFDSTtFQUNBOztBQUlaO0VBQ0ksa0JQbERDO0VPbUREOztBQUVBO0VBQ0k7RUFDQTtFQUNBLGtCUDFESDtFTzJERztFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7O0FDcEVoQjtFQUNJLGtCUkVHO0VRREQ7O0FBQ0Y7RUFDSSxPUkdDO0VRRkQ7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXHJcblxyXG4vKiBEb2N1bWVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXHJcbiAqL1xyXG5cclxuIGh0bWwge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBTZWN0aW9uc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICAgKi9cclxuICBcclxuICBtYWluIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICAgIG1hcmdpbjogMC42N2VtIDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAgICovXHJcbiAgXHJcbiAgaHIge1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cclxuICAgIGhlaWdodDogMDsgLyogMSAqL1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgcHJlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgKi9cclxuICBcclxuICBhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxyXG4gICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYWJiclt0aXRsZV0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gICAqL1xyXG4gIFxyXG4gIGIsXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIGNvZGUsXHJcbiAga2JkLFxyXG4gIHNhbXAge1xyXG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuICBcclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAgICogYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIHN1YixcclxuICBzdXAge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcbiAgXHJcbiAgc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICB9XHJcbiAgXHJcbiAgc3VwIHtcclxuICAgIHRvcDogLTAuNWVtO1xyXG4gIH1cclxuICBcclxuICAvKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gICAqL1xyXG4gIFxyXG4gIGltZyB7XHJcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEZvcm1zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0LFxyXG4gIG9wdGdyb3VwLFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gICAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0IHsgLyogMSAqL1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICAgKi9cclxuICBcclxuICBidXR0b24sXHJcbiAgc2VsZWN0IHsgLyogMSAqL1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gIFt0eXBlPVwicmVzZXRcIl0sXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gICAqL1xyXG4gIFxyXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcclxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcclxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcclxuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gICAqL1xyXG4gIFxyXG4gIGZpZWxkc2V0IHtcclxuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIGxlZ2VuZCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xyXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cclxuICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMyAqL1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gICAqL1xyXG4gIFxyXG4gIHByb2dyZXNzIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAgICovXHJcbiAgXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxyXG4gICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cclxuICAgKi9cclxuICBcclxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAgICovXHJcbiAgXHJcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxyXG4gICAqL1xyXG4gIFxyXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKiBJbnRlcmFjdGl2ZVxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLypcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxyXG4gICAqL1xyXG4gIFxyXG4gIGRldGFpbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC8qXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIHN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gIH1cclxuICBcclxuICAvKiBNaXNjXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAgICovXHJcbiAgXHJcbiAgdGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXHJcbiAgICovXHJcbiAgXHJcbiAgW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9IiwiXHJcbkB1c2UgJ3ZhcmlhYmxlcycgYXMgdjtcclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1zaXplOiA2Mi41JTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBzY3JvbGwtcGFkZGluZy10b3A6IDByZW07XHJcbn1cclxuKiwgXHJcbio6YmVmb3JlLFxyXG4qOmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbn1cclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogdi4kZnVlbnRlX3ByaW5jaXBhbDtcclxuICAgIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBjb2xvcjogdi4kbmVncm87XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcblxyXG4gICAgJi5vdmVyZmxvdy1oaWRkZW57XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5wIHtcclxuICAgIGNvbG9yOiB2LiRuZWdybztcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuLmNvbnRlbmVkb3Ige1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICAgIG1heC13aWR0aDogOTByZW07XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5oMSwgaDIsIGgzIHtcclxuICAgIG1hcmdpbjogMCAwIDVyZW0gMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbn1cclxuaDEge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG59XHJcbmgyIHtcclxuICAgIGZvbnQtc2l6ZTogMy42cmVtO1xyXG59XHJcbmgzIHtcclxuICAgIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5pbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5ib2R5ID4gc2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAxMHJlbSAwXHJcbn0iLCJcclxuJGZ1ZW50ZV9wcmluY2lwYWw6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gQ29sb3Jlc1xyXG4kdmVyZGU6IzRDQjhCMztcclxuJHJvc2E6ICNGNTM3NTY7XHJcbiRhbWFyaWxsbzogI2ZkZGEwMDtcclxuJG1vcmFkbzogIzc1MkY5NztcclxuJG5lZ3JvOiAjMDAwMDAwO1xyXG4kYmxhbmNvOiAjRkZGRkZGO1xyXG5cclxuLy9tZWRpYSBxdWVyeXNcclxuJHRlbGVmb25vOiA0ODBweDtcclxuJHRhYmxldDogNzY4cHg7XHJcbiRkZXNrdG9wOiAxMjAwcHg7XHJcbiRkZXNrdG9weGw6IDE0MDBweDtcclxuIiwiXHJcbkB1c2UgXCJiYXNlL3ZhcmlhYmxlc1wiIGFzIHY7XHJcbkB1c2UgXCJiYXNlL21peGluc1wiIGFzIG07XHJcblxyXG4uaGVhZGVyIHtcclxuICAgIEBpbmNsdWRlIG0udGFibGV0e1xyXG4gICAgICAgICYuZml4ZWR7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IC4xcmVtIC4ycmVtIC4zcmVtICMzMzM7XHJcbiAgICB9XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdi4kdmVyZGU7XHJcbiBcclxuICAgIFxyXG4gICAgLmNvbnRlbmlkby1oZWFkZXJ7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgaDEge1xyXG4gICAgICAgIGNvbG9yOiB2LiRibGFuY287XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIG0udGFibGV0e1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm5hdmVnYWNpb24tcHJpbmNpcGFsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMnJlbTtcclxuICAgIEBpbmNsdWRlIG0udGFibGV0e1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogdi4kYmxhbmNvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2LiRhbWFyaWxsbztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzIHY7XHJcblxyXG5AbWl4aW4gdGVsZWZvbm8ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IHYuJHRlbGVmb25vKXtcclxuICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxufTtcclxuXHJcbkBtaXhpbiB0YWJsZXQge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IHYuJHRhYmxldCl7XHJcbiAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbn07XHJcblxyXG5AbWl4aW4gZGVza3RvcCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogdi4kZGVza3RvcCl7XHJcbiAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbn07XHJcblxyXG5AbWl4aW4gZGVza3RvcHhsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiB2LiRkZXNrdG9weGwpe1xyXG4gICAgICAgICAgIEBjb250ZW50XHJcbiAgICAgICAgfVxyXG59O1xyXG5cclxuQG1peGluIGNvbnRlbmVkb3Ige1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICAgIG1heC13aWR0aDogOTByZW07XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuQG1peGluIGdyaWQoJGNvbHVtbmFzOiAxLCAkZ2FwOiA1cmVtKSB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29sdW1uYXMsIDFmcik7XHJcbiAgICAgICAgY29sdW1uLWdhcDogJGdhcDtcclxufVxyXG5cclxuQG1peGluIHJlc2V0ZWFyLWxpc3Rhe1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbiIsIlxyXG5AdXNlIFwiYmFzZS92YXJpYWJsZXNcIiBhcyB2O1xyXG5AdXNlIFwiYmFzZS9taXhpbnNcIiBhcyBtO1xyXG5AdXNlIFwic2Fzczpjb2xvclwiO1xyXG5cclxuLnZpZGVvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi1oZWlnaHQ6IDUwcmVtO1xyXG4gICAgbWF4LWhlaWdodDogNTByZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgaW5zZXQ6IDA7XHJcbiAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG4gICAgICAgIDI3MGRlZyxcclxuICAgICAgICByZ2JhKHYuJG1vcmFkbywgNjAlKSxcclxuICAgICAgICByZ2JhKGNvbG9yLmFkanVzdCh2LiRtb3JhZG8pLCA5MCUpIFxyXG4gICAgICAgIFxyXG4gICAgICk7XHJcbiAgICAgZGlzcGxheTogZmxleDtcclxuICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgdmlkZW8ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIEBpbmNsdWRlIG0uZGVza3RvcHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVuaWRvLXZpZGVvIHtcclxuICAgIHotaW5kZXg6IDEwO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgY29sb3I6IHYuJGJsYW5jbztcclxuICAgICAgZm9udC1zaXplOiA3cmVtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGNvbG9yOiB2LiRibGFuY287XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHYuJHJvc2E7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbn0iLCJcclxuQHVzZSBcImJhc2UvdmFyaWFibGVzXCIgYXMgdjtcclxuQHVzZSBcImJhc2UvbWl4aW5zXCIgYXMgbTtcclxuXHJcbi5zb2JyZS1mZXN0aXZhbCB7XHJcbiAgICAuaW1hZ2Vue1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG0uY29udGVuZWRvcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgICAgIEBpbmNsdWRlIG0uZ3JpZCgyKVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVuaWRvLWZlc3RpdmFsIHtcclxuICAgICBtYXJnaW4tdG9wOiA1cmVtO1xyXG4gICAgaDIge1xyXG4gICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuZmVjaGEge1xyXG4gICAgICBjb2xvcjogdi4kdmVyZGU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbn0iLCJcclxuQHVzZSBcImJhc2UvdmFyaWFibGVzXCIgYXMgdjtcclxuQHVzZSBcImJhc2UvbWl4aW5zXCIgYXMgbTtcclxuQHVzZSBcInNhc3M6Y29sb3JcIjtcclxuXHJcbi5saW5ldXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdi4kcm9zYTtcclxuICAgIGgzLCAuZGlhe1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IHYuJGJsYW5jbztcclxuICAgIH1cclxuICAgIC5kaWF7XHJcbiAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXNjZW5hcmlvcy1jb250ZW5lZG9yIHtcclxuICAgIEBpbmNsdWRlIG0uY29udGVuZWRvcjtcclxuICAgIEBpbmNsdWRlIG0udGFibGV0e1xyXG4gICAgICAgIEBpbmNsdWRlIG0uZ3JpZCgyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmVzY2VuYXJpbyB7XHJcbiAgICAgcGFkZGluZy10b3A6IDJyZW07XHJcbiAgICAubm9tYnJlLWVzY2VuYXJpb3tcclxuICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLmNhbGVuZGFyaW8ge1xyXG4gICAgQGluY2x1ZGUgbS5yZXNldGVhci1saXN0YTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgcGFkZGluZzogMi41cmVtO1xyXG4gICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICBzcGFue1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmctYW1hcmlsbG8ge1xyXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2LiRhbWFyaWxsbztcclxuICAgbGk6bnRoLWNoaWxkKG9kZCl7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5hZGp1c3Qodi4kYW1hcmlsbG8sICRsaWdodG5lc3M6IDEwJSk7XHJcbiAgIH1cclxufVxyXG5cclxuLmJnLXZlcmRle1xyXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB2LiR2ZXJkZTtcclxuICAgIGxpOm50aC1jaGlsZChvZGQpe1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IuYWRqdXN0KHYuJHZlcmRlLCAkbGlnaHRuZXNzOiAxMCUpO1xyXG4gICB9XHJcbn1cclxuIiwiXHJcbkB1c2UgXCJiYXNlL3ZhcmlhYmxlc1wiIGFzIHY7XHJcbkB1c2UgXCJiYXNlL21peGluc1wiIGFzIG07XHJcblxyXG4uZ2FsZXJpYSB7XHJcbiAgICBAaW5jbHVkZSBtLmNvbnRlbmVkb3I7XHJcbiAgICAmLWltYWdlbmVze1xyXG4gICAgICAgIEBpbmNsdWRlIG0uZ3JpZCgxLCAycmVtKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbS50ZWxlZm9ub3tcclxuICAgICAgICAgICAgQGluY2x1ZGUgbS5ncmlkKDIsIDJyZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtLnRhYmxldHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbS5ncmlkKDMsIDJyZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtLmRlc2t0b3B7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG0uZ3JpZCg0LCAycmVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThyZW07XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kYWwge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHYuJG5lZ3JvLCAuNSk7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgIGFuaW1hdGlvbjogZmFkZUluIGVhc2UtaW4gLjVzO1xyXG4gICAgJi5mYWRlT3V0IHtcclxuICAgICAgIGFuaW1hdGlvbjogZmFkZU91dCBlYXNlLWluIC41cztcclxuICAgIH1cclxuICAgIGltZ3tcclxuICAgICAgICBtYXgtd2lkdGg6IDcwcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2VycmFyLWJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2LiRibGFuY287XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBjb2xvcjogdi4kbmVncm87XHJcbiAgICB3aWR0aDogNHJlbTtcclxuICAgIGhlaWdodDogNHJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIDAle1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgMTAwJXtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIDAle1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJXtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59IiwiXHJcbkB1c2UgXCJiYXNlL3ZhcmlhYmxlc1wiIGFzIHY7XHJcbkB1c2UgXCJiYXNlL21peGluc1wiIGFzIG07XHJcblxyXG4uY29udGVuZWRvci1ib2xldG9zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHYuJHZlcmRlO1xyXG4gICAgaDMge1xyXG4gICAgICAgIGNvbG9yOiB2LiRibGFuY287XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib2xldG9zIHtcclxuICAgIEBpbmNsdWRlIG0uY29udGVuZWRvcjtcclxuICAgIEBpbmNsdWRlIG0udGFibGV0IHtcclxuICAgICAgICBAaW5jbHVkZSBtLmdyaWQoMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYXNlIHtcclxuICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgJjpob3ZlcntcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB9XHJcbiAgICAucGFzZS1ub21icmV7XHJcbiAgICAgICAgZm9udC1zaXplOiAzLjZyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHYuJGJsYW5jbztcclxuICAgIH1cclxuICAgIC5wYXNlLWhlYWRlcixcclxuICAgIC5wYXNlLWZvb3RlcntcclxuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6IHYuJGJsYW5jbztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXNlLWhlYWRlciB7XHJcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYuJHJvc2E7XHJcbiAgICAgICAgcHtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcclxuICAgICAgICAgIHBhZGRpbmc6IC41cmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYXNlLWJvZHkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYuJGJsYW5jbztcclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbS5yZXNldGVhci1saXN0YTtcclxuICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFzZS1mb290ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYuJGJsYW5jbztcclxuICAgICAgICBwYWRkaW5nOiAycmVtO1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHYuJG1vcmFkbztcclxuICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHYuJG1vcmFkbywgMjApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkB1c2UgXCJiYXNlL3ZhcmlhYmxlc1wiIGFzIHY7XHJcblxyXG4uZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHYuJHJvc2E7XHJcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDtcclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiB2LiRibGFuY287XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufSJdLCJmaWxlIjoiYXBwLmNzcyJ9 */
