@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

body {
  font-family: "Inter", "Universal Sans Display", -apple-system,
    BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f5f5f5;
}

/* Navbar Styles */
.navbar {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.nav-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  height: 70px;
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nav-brand-main {
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.5px;
}

.nav-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  justify-content: center;
}

.nav-menu li {
  margin: 0 15px;
}

.nav-menu a {
  text-decoration: none;
  color: #666;
  font-weight: 500;
  transition: color 0.3s ease;
}

.nav-menu a:hover {
  color: #667eea;
}

/* Hamburger Menu */
.hamburger-menu {
  display: none;
  flex-direction: column;
  align-items: flex-end;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
  width: auto;
  min-width: 40px;
  flex-shrink: 0;
}

.hamburger-menu:hover {
  background-color: #f8f9fa;
}

.hamburger-menu span {
  width: 25px;
  height: 3px;
  background-color: #333;
  margin: 3px 0;
  transition: 0.3s;
}

/* Mobile Menu Styles */
@media (max-width: 768px) {
  .hamburger-menu {
    display: flex;
  }

  .nav-menu {
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    background-color: white;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    display: none;
    padding: 0;
    margin: 0;
  }

  .nav-menu.active {
    display: flex;
  }

  .nav-menu li {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }

  .nav-menu a {
    display: block;
    padding: 15px 20px;
    width: 100%;
    margin: 0;
    text-align: center;
    box-sizing: border-box;
  }

  .nav-menu li:hover {
    background-color: #f8f9fa;
  }

  .nav-menu a:hover {
    background-color: transparent;
  }
}

/* Language selector styles */
.language-selector {
  display: flex;
  gap: 5px;
  margin-left: auto;
}

.lang-btn {
  background: none;
  border: 2px solid #fff;
  color: #ccc;
  padding: 5px 10px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.lang-btn:hover {
  background: #fff;
  color: #333;
}

.lang-btn.active {
  background: #fff;
  color: #333;
  border: 3px solid #444;
}

/* Mobile responsive for language selector */
@media (max-width: 768px) {
  .nav-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .language-selector {
    margin-left: 0;
    order: 2;
  }

  .hamburger-menu {
    order: 3;
    margin-left: 10px;
  }
}

/* Banner Styles */
.banner-section {
  position: relative;
  height: 400px;
  overflow: hidden;
}

.banner-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}

.banner-content {
  text-align: center;
  color: white;
  max-width: 600px;
  padding: 0 20px;
}

.banner-content h1 {
  font-size: 3rem;
  font-weight: 700;
  margin: 0 0 20px 0;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.banner-content p {
  font-size: 1.3rem;
  margin: 0;
  opacity: 0.95;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.reserve-btn {
  background-color: #6c757d;
  color: white;
  border: none;
  padding: 15px 30px;
  font-size: 1.2rem;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  margin-top: 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3);
}

.reserve-btn:hover {
  background-color: #5a6268;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(108, 117, 125, 0.5);
}

/* Main content container */
#reservation-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* Footer Styles */
.page-footer {
  background-color: #343a40;
  color: white;
  padding: 40px 0 20px 0;
  margin-top: 60px;
}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  padding: 0 20px;
}

.footer-section h3 {
  color: white;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 15px;
  border-bottom: 2px solid #6c757d;
  padding-bottom: 8px;
}

.footer-section p {
  color: #e9ecef;
  margin: 8px 0;
  line-height: 1.6;
}

#reservation-form {
  display: block;
}

#reservation-container.hidden {
  display: none;
}

#reservation-form input {
  display: block;
  margin-bottom: 5px;
  padding: 8px;
  width: 300px;
}

.input-info {
  font-size: 0.75em;
  color: #666;
  margin: 0 0 15px 0;
  font-style: italic;
  max-width: 300px;
  line-height: 1.4;
}

.item-section {
  border: 1px solid #ccc;
  padding: 15px;
  margin-bottom: 20px;
}

/* Calendar Styles */
.calendar-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  gap: 15px;
}

.calendar-nav {
  background: #f8f9fa;
  border: 1px solid #333;
  border-radius: 4px;
  padding: 2px 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
}

.calendar-nav:hover {
  background-color: #f0f0f0;
}

.calendar-nav:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Bulk Selection Buttons */
.bulk-selection-buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 15px;
  background-color: #f8f9fa;
  border-radius: 5px;
  clear: both;
}

.bulk-btn {
  padding: 8px 12px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  transition: background-color 0.2s;
}

.bulk-btn:hover {
  background-color: #0056b3;
}

/* Multi-Day Booking Controls */
.booking-controls {
  margin-bottom: 20px;
}

.booking-mode-toggle {
  margin-bottom: 15px;
  padding: 10px;
  background-color: #e9ecef;
  border-radius: 5px;
}

.booking-mode-toggle label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
  cursor: pointer;
}

.date-range-picker {
  padding: 15px;
  background-color: #f8f9fa;
  border-radius: 5px;
  margin-bottom: 15px;
}

.date-time-input {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.date-time-input label {
  min-width: 50px;
  font-weight: bold;
}

.date-time-input input,
.date-time-input select {
  padding: 5px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.apply-range-btn {
  background-color: #28a745;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
}

.apply-range-btn:hover {
  background-color: #218838;
}

.range-info {
  padding: 10px;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  margin-bottom: 10px;
  color: #155724;
}

/* Item Selector Styles */
.item-selector {
  margin-bottom: 30px;
  padding: 20px;
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 2px solid #dee2e6;
}

.item-selector label {
  display: block;
  margin-bottom: 10px;
  font-size: 16px;
  color: #333;
}

.item-selector select {
  width: 100%;
  padding: 12px 15px;
  font-size: 14px;
  border: 2px solid #ced4da;
  border-radius: 6px;
  background-color: white;
  cursor: pointer;
  transition: border-color 0.2s;
}

.item-selector select:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.booking-section {
  margin-top: 20px;
}

.booking-section.hidden {
  display: none;
}

.selected-item-info {
  margin-bottom: 20px;
  padding: 15px;
  background-color: #e7f3ff;
  border-left: 4px solid #007bff;
  border-radius: 4px;
}

.selected-item-info h3 {
  margin: 0;
  color: #0056b3;
}

/* Multi-item summary styles */
.multi-item-summary {
  margin: 20px 0;
  padding: 20px;
  background-color: #f8f9fa;
  border: 2px solid #dee2e6;
  border-radius: 8px;
}

.multi-item-summary.hidden {
  display: none !important;
}

.multi-item-summary h3 {
  margin-top: 0;
  color: #333;
}

.selected-item {
  margin-bottom: 15px;
  padding: 10px;
  background-color: white;
  border-radius: 4px;
  border-left: 4px solid #007bff;
}

.selected-item-header {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
  gap: 8px;
}

.selected-item-name {
  font-weight: bold;
  color: #333;
  flex-grow: 1;
}

.delete-item-btn {
  background: none;
  border: none;
  font-size: 12px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 3px;
  transition: background-color 0.2s;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.delete-item-btn:hover {
  background-color: #f8d7da;
  color: #721c24;
}

.selected-item-details {
  font-size: 14px;
  color: #666;
  margin-bottom: 5px;
}

.price-breakdown {
  font-size: 13px;
  color: #28a745;
  margin: 5px 0;
  padding: 5px;
  background-color: #f0f8f4;
  border-radius: 4px;
  font-style: italic;
}

.selected-item-total {
  font-weight: bold;
  color: #007bff;
  text-align: right;
}

.total-summary {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 2px solid #dee2e6;
  text-align: right;
  font-size: 18px;
}

.booking-controls {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 2px solid #dee2e6;
}

.date-range-picker {
  display: none;
}

.date-range-picker.show {
  display: block;
}

.calendar-container {
  margin: 15px 0;
}

.calendar-header h4 {
  text-align: center;
  margin: 10px 0;
  color: #333;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  max-width: 400px;
  margin: 0 auto;
}

.calendar-day-header {
  padding: 8px;
  text-align: center;
  font-weight: bold;
  background-color: #f0f0f0;
  color: #666;
  font-size: 12px;
}

.calendar-day {
  padding: 8px;
  text-align: center;
  border: 1px solid #ddd;
  background-color: white;
  cursor: pointer;
  font-size: 14px;
  min-height: 35px;
}

.calendar-day.current-month {
  background-color: #f9f9f9;
  color: black;
}

.calendar-day.current-month:hover {
  background-color: #e9e9e9;
}

.calendar-day.other-month {
  background-color: #f5f5f5;
  color: #ccc;
  cursor: not-allowed;
}

.calendar-day.past-date {
  background-color: #f0f0f0;
  color: #999;
  cursor: not-allowed;
}

.calendar-day.today {
  /* border: 2px solid #0056b3; */
  font-weight: bold;
}

.calendar-day.active {
  background-color: #28a745;
  color: white;
  font-weight: bold;
}

.calendar-day:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Price Summary Styles */
.price-summary {
  background-color: #f8f9fa;
  border: 2px solid #28a745;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
}

.price-summary h3 {
  margin: 0 0 15px 0;
  color: #28a745;
  font-size: 24px;
}

.price-summary.hidden {
  display: none;
}

#selected-items-list {
  text-align: left;
  max-height: 200px;
  overflow-y: auto;
}

.selected-item {
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  margin: 5px 0;
  font-size: 14px;
}

.selected-item-name {
  font-weight: bold;
  color: #333;
}

.selected-item-details {
  color: #666;
  margin-top: 5px;
}

.time-slots-grid {
  column-count: 2;
  column-gap: 16px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
}

.time-slots-date-heading {
  column-span: all;
  text-align: center;
  margin: 0 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #28a745;
  color: #333;
  font-size: 20px;
  font-weight: 600;
}

.range-info-heading {
  column-span: all;
  text-align: center;
  margin: 0 0 20px 0;
  padding: 12px 16px;
  background-color: #e8f5e9;
  border-left: 4px solid #28a745;
  border-radius: 4px;
  color: #2c5f2d;
  font-size: 18px;
  font-weight: 600;
}

.time-slots-grid > * {
  break-inside: avoid;
  margin-bottom: 8px;
}

.time-slot {
  padding: 8px 12px;
  border: 2px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
  background-color: white;
  transition: all 0.2s ease;
  font-size: 14px;
  animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}

.time-slot.removing {
  animation: fadeOut 0.3s ease-out forwards;
}

.time-slot:hover:not(.booked) {
  transform: translateX(4px);
}

.time-slot.next-day {
  background-color: #f0f8ff;
  border-color: #87ceeb;
  padding-left: 20px;
  position: relative;
}

.time-slot.selected {
  background-color: #28a745;
  color: white;
  border-color: #1e7e34;
}

.time-slot.daily-slot {
  font-weight: 600;
  font-size: 15px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  border-color: #1e7e34;
}

.time-slot.daily-slot:hover {
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
}

.time-slot.booked {
  background-color: #dc3545;
  color: white;
  cursor: not-allowed;
}

.time-slot.past {
  background-color: #6c757d;
  opacity: 0.6;
  text-decoration: line-through;
}

button {
  background-color: #4caf50;
  color: white;
  padding: 14px 20px;
  margin: 8px 0;
  border: none;
  cursor: pointer;
  width: 100%;
}

button:hover {
  background-color: #45a049;
}

/* Payment styles */
#payment-element {
  margin: 20px 0;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background-color: #f9f9f9;
}

#payment-message {
  margin: 10px 0;
  padding: 10px;
  border-radius: 5px;
  font-weight: bold;
}

#payment-message.hidden {
  display: none;
}

/* Thank You Page Styles */
.thank-you-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

.thank-you-page.hidden {
  display: none;
}

.thank-you-content {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 15px;
  padding: 40px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.thank-you-content h1 {
  color: #28a745;
  font-size: 2.5em;
  margin-bottom: 20px;
}

.thank-you-message {
  font-size: 1.2em;
  color: #666;
  margin-bottom: 30px;
}

.confirmation-details {
  background: white;
  border-radius: 10px;
  padding: 30px;
  margin: 30px 0;
  text-align: left;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.confirmation-details h2 {
  color: #333;
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 2px solid #28a745;
  padding-bottom: 10px;
}

.info-section {
  margin: 20px 0;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 8px;
}

.info-section h3 {
  color: #495057;
  margin-bottom: 15px;
}

.reservation-item {
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  margin: 10px 0;
}

.reservation-item-name {
  font-weight: bold;
  color: #333;
  font-size: 1.1em;
}

.reservation-details {
  color: #666;
  margin: 8px 0;
}

.unlock-code {
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 5px;
  padding: 8px 12px;
  margin: 8px 0;
  font-family: monospace;
  font-size: 16px;
  font-weight: bold;
  color: #856404;
}

.important-notes {
  background: #e8f5e8;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
}

.important-notes h3 {
  color: #155724;
  margin-bottom: 15px;
}

.important-notes ul {
  color: #155724;
  margin: 0;
  padding-left: 20px;
}

.important-notes li {
  margin: 8px 0;
}

.new-reservation-btn {
  background: #28a745;
  color: white;
  border: none;
  padding: 15px 30px;
  font-size: 16px;
  border-radius: 8px;
  cursor: pointer;
  margin-top: 20px;
  transition: background-color 0.3s;
}

.new-reservation-btn:hover {
  background: #218838;
}

#submit-button:disabled {
  background-color: #cccccc;
  cursor: not-allowed;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJzdHlsZS5wcmVmaXhlZC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEA0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwXCIpO1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJVbml2ZXJzYWwgU2FucyBEaXNwbGF5XCIsIC1hcHBsZS1zeXN0ZW0sXG4gICAgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuXG4vKiBOYXZiYXIgU3R5bGVzICovXG4ubmF2YmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4ubmF2LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBoZWlnaHQ6IDcwcHg7XG59XG5cbi5uYXYtbG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbn1cblxuLm5hdi1icmFuZC1tYWluIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMzMzO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5uYXYtbWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZmxleDogMTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5uYXYtbWVudSBsaSB7XG4gIG1hcmdpbjogMCAxNXB4O1xufVxuXG4ubmF2LW1lbnUgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbn1cblxuLm5hdi1tZW51IGE6aG92ZXIge1xuICBjb2xvcjogIzY2N2VlYTtcbn1cblxuLyogSGFtYnVyZ2VyIE1lbnUgKi9cbi5oYW1idXJnZXItbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogNDBweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5oYW1idXJnZXItbWVudTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG59XG5cbi5oYW1idXJnZXItbWVudSBzcGFuIHtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBtYXJnaW46IDNweCAwO1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4vKiBNb2JpbGUgTWVudSBTdHlsZXMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGFtYnVyZ2VyLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAubmF2LW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDcwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAubmF2LW1lbnUuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLm5hdi1tZW51IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAubmF2LW1lbnUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5uYXYtbWVudSBsaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgfVxuXG4gIC5uYXYtbWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vKiBMYW5ndWFnZSBzZWxlY3RvciBzdHlsZXMgKi9cbi5sYW5ndWFnZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmxhbmctYnRuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgY29sb3I6ICNjY2M7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmxhbmctYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5sYW5nLWJ0bi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyOiAzcHggc29saWQgIzQ0NDtcbn1cblxuLyogTW9iaWxlIHJlc3BvbnNpdmUgZm9yIGxhbmd1YWdlIHNlbGVjdG9yICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmxhbmd1YWdlLXNlbGVjdG9yIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIC5oYW1idXJnZXItbWVudSB7XG4gICAgb3JkZXI6IDM7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLyogQmFubmVyIFN0eWxlcyAqL1xuLmJhbm5lci1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYmFubmVyLWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5iYW5uZXItb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYmFubmVyLWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG4uYmFubmVyLWNvbnRlbnQgaDEge1xuICBmb250LXNpemU6IDNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLmJhbm5lci1jb250ZW50IHAge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwLjk1O1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ucmVzZXJ2ZS1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgxMDgsIDExNywgMTI1LCAwLjMpO1xufVxuXG4ucmVzZXJ2ZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWE2MjY4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xufVxuXG4vKiBNYWluIGNvbnRlbnQgY29udGFpbmVyICovXG4jcmVzZXJ2YXRpb24tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4vKiBGb290ZXIgU3R5bGVzICovXG4ucGFnZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDQwcHggMCAyMHB4IDA7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG5cbi5mb290ZXItY29udGVudCB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7XG4gIGdhcDogMzBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG4uZm9vdGVyLXNlY3Rpb24gaDMge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzZjNzU3ZDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cblxuLmZvb3Rlci1zZWN0aW9uIHAge1xuICBjb2xvcjogI2U5ZWNlZjtcbiAgbWFyZ2luOiA4cHggMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuI3Jlc2VydmF0aW9uLWZvcm0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3Jlc2VydmF0aW9uLWNvbnRhaW5lci5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcmVzZXJ2YXRpb24tZm9ybSBpbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgd2lkdGg6IDMwMHB4O1xufVxuXG4uaW5wdXQtaW5mbyB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5pdGVtLXNlY3Rpb24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiBDYWxlbmRhciBTdHlsZXMgKi9cbi5jYWxlbmRhci1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZ2FwOiAxNXB4O1xufVxuXG4uY2FsZW5kYXItbmF2IHtcbiAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogIzMzMztcbn1cblxuLmNhbGVuZGFyLW5hdjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG5cbi5jYWxlbmRhci1uYXY6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIEJ1bGsgU2VsZWN0aW9uIEJ1dHRvbnMgKi9cbi5idWxrLXNlbGVjdGlvbi1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjbGVhcjogYm90aDtcbn1cblxuLmJ1bGstYnRuIHtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi5idWxrLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU2YjM7XG59XG5cbi8qIE11bHRpLURheSBCb29raW5nIENvbnRyb2xzICovXG4uYm9va2luZy1jb250cm9scyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5ib29raW5nLW1vZGUtdG9nZ2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uYm9va2luZy1tb2RlLXRvZ2dsZSBsYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGF0ZS1yYW5nZS1waWNrZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5kYXRlLXRpbWUtaW5wdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5kYXRlLXRpbWUtaW5wdXQgbGFiZWwge1xuICBtaW4td2lkdGg6IDUwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZGF0ZS10aW1lLWlucHV0IGlucHV0LFxuLmRhdGUtdGltZS1pbnB1dCBzZWxlY3Qge1xuICBwYWRkaW5nOiA1cHggOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5hcHBseS1yYW5nZS1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFwcGx5LXJhbmdlLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg4Mzg7XG59XG5cbi5yYW5nZS1pbmZvIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MzZTZjYjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzE1NTcyNDtcbn1cblxuLyogSXRlbSBTZWxlY3RvciBTdHlsZXMgKi9cbi5pdGVtLXNlbGVjdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4uaXRlbS1zZWxlY3RvciBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uaXRlbS1zZWxlY3RvciBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjZWQ0ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG59XG5cbi5pdGVtLXNlbGVjdG9yIHNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgMTIzLCAyNTUsIDAuMSk7XG59XG5cbi5ib29raW5nLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uYm9va2luZy1zZWN0aW9uLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWxlY3RlZC1pdGVtLWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdmM2ZmO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwMDdiZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnNlbGVjdGVkLWl0ZW0taW5mbyBoMyB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMwMDU2YjM7XG59XG5cbi8qIE11bHRpLWl0ZW0gc3VtbWFyeSBzdHlsZXMgKi9cbi5tdWx0aS1pdGVtLXN1bW1hcnkge1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyOiAycHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4ubXVsdGktaXRlbS1zdW1tYXJ5LmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm11bHRpLWl0ZW0tc3VtbWFyeSBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uc2VsZWN0ZWQtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzAwN2JmZjtcbn1cblxuLnNlbGVjdGVkLWl0ZW0taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBnYXA6IDhweDtcbn1cblxuLnNlbGVjdGVkLWl0ZW0tbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzMzMztcbiAgZmxleC1ncm93OiAxO1xufVxuXG4uZGVsZXRlLWl0ZW0tYnRuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmRlbGV0ZS1pdGVtLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7XG4gIGNvbG9yOiAjNzIxYzI0O1xufVxuXG4uc2VsZWN0ZWQtaXRlbS1kZXRhaWxzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ucHJpY2UtYnJlYWtkb3duIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzI4YTc0NTtcbiAgbWFyZ2luOiA1cHggMDtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmOGY0O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnNlbGVjdGVkLWl0ZW0tdG90YWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG90YWwtc3VtbWFyeSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmJvb2tpbmctY29udHJvbHMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZWUyZTY7XG59XG5cbi5kYXRlLXJhbmdlLXBpY2tlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kYXRlLXJhbmdlLXBpY2tlci5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYWxlbmRhci1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDtcbn1cblxuLmNhbGVuZGFyLWhlYWRlciBoNCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uY2FsZW5kYXItZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG4gIGdhcDogMnB4O1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNhbGVuZGFyLWRheS1oZWFkZXIge1xuICBwYWRkaW5nOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5jYWxlbmRhci1kYXkge1xuICBwYWRkaW5nOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtaW4taGVpZ2h0OiAzNXB4O1xufVxuXG4uY2FsZW5kYXItZGF5LmN1cnJlbnQtbW9udGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5jYWxlbmRhci1kYXkuY3VycmVudC1tb250aDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWU5ZTk7XG59XG5cbi5jYWxlbmRhci1kYXkub3RoZXItbW9udGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBjb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNhbGVuZGFyLWRheS5wYXN0LWRhdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNhbGVuZGFyLWRheS50b2RheSB7XG4gIC8qIGJvcmRlcjogMnB4IHNvbGlkICMwMDU2YjM7ICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY2FsZW5kYXItZGF5LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jYWxlbmRhci1kYXk6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi8qIFByaWNlIFN1bW1hcnkgU3R5bGVzICovXG4ucHJpY2Utc3VtbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyOGE3NDU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByaWNlLXN1bW1hcnkgaDMge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIGNvbG9yOiAjMjhhNzQ1O1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5wcmljZS1zdW1tYXJ5LmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNzZWxlY3RlZC1pdGVtcy1saXN0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5zZWxlY3RlZC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luOiA1cHggMDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2VsZWN0ZWQtaXRlbS1uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uc2VsZWN0ZWQtaXRlbS1kZXRhaWxzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnRpbWUtc2xvdHMtZ3JpZCB7XG4gIGNvbHVtbi1jb3VudDogMjtcbiAgY29sdW1uLWdhcDogMTZweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA2MDBweDtcbn1cblxuLnRpbWUtc2xvdHMtZGF0ZS1oZWFkaW5nIHtcbiAgY29sdW1uLXNwYW46IGFsbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzI4YTc0NTtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnJhbmdlLWluZm8taGVhZGluZyB7XG4gIGNvbHVtbi1zcGFuOiBhbGw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGY1ZTk7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzI4YTc0NTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb2xvcjogIzJjNWYyZDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udGltZS1zbG90cy1ncmlkID4gKiB7XG4gIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRpbWUtc2xvdCB7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLWluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgfVxufVxuXG4udGltZS1zbG90LnJlbW92aW5nIHtcbiAgYW5pbWF0aW9uOiBmYWRlT3V0IDAuM3MgZWFzZS1vdXQgZm9yd2FyZHM7XG59XG5cbi50aW1lLXNsb3Q6aG92ZXI6bm90KC5ib29rZWQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG59XG5cbi50aW1lLXNsb3QubmV4dC1kYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmOGZmO1xuICBib3JkZXItY29sb3I6ICM4N2NlZWI7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGltZS1zbG90LnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sb3I6ICMxZTdlMzQ7XG59XG5cbi50aW1lLXNsb3QuZGFpbHktc2xvdCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMjhhNzQ1IDAlLCAjMjBjOTk3IDEwMCUpO1xuICBib3JkZXItY29sb3I6ICMxZTdlMzQ7XG59XG5cbi50aW1lLXNsb3QuZGFpbHktc2xvdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkYzM1NDUgMCUsICNjODIzMzMgMTAwJSk7XG59XG5cbi50aW1lLXNsb3QuYm9va2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4udGltZS1zbG90LnBhc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBvcGFjaXR5OiAwLjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgbWFyZ2luOiA4cHggMDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDVhMDQ5O1xufVxuXG4vKiBQYXltZW50IHN0eWxlcyAqL1xuI3BheW1lbnQtZWxlbWVudCB7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG59XG5cbiNwYXltZW50LW1lc3NhZ2Uge1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuI3BheW1lbnQtbWVzc2FnZS5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUaGFuayBZb3UgUGFnZSBTdHlsZXMgKi9cbi50aGFuay15b3UtcGFnZSB7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4udGhhbmsteW91LXBhZ2UuaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRoYW5rLXlvdS1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2U5ZWNlZiAxMDAlKTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgcGFkZGluZzogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50aGFuay15b3UtY29udGVudCBoMSB7XG4gIGNvbG9yOiAjMjhhNzQ1O1xuICBmb250LXNpemU6IDIuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4udGhhbmsteW91LW1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmNvbmZpcm1hdGlvbi1kZXRhaWxzIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG1hcmdpbjogMzBweCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5jb25maXJtYXRpb24tZGV0YWlscyBoMiB7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjhhNzQ1O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLmluZm8tc2VjdGlvbiB7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5pbmZvLXNlY3Rpb24gaDMge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnJlc2VydmF0aW9uLWl0ZW0ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLnJlc2VydmF0aW9uLWl0ZW0tbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cblxuLnJlc2VydmF0aW9uLWRldGFpbHMge1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luOiA4cHggMDtcbn1cblxuLnVubG9jay1jb2RlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjNjZDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZWFhNztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgbWFyZ2luOiA4cHggMDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM4NTY0MDQ7XG59XG5cbi5pbXBvcnRhbnQtbm90ZXMge1xuICBiYWNrZ3JvdW5kOiAjZThmNWU4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG4uaW1wb3J0YW50LW5vdGVzIGgzIHtcbiAgY29sb3I6ICMxNTU3MjQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5pbXBvcnRhbnQtbm90ZXMgdWwge1xuICBjb2xvcjogIzE1NTcyNDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5pbXBvcnRhbnQtbm90ZXMgbGkge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4ubmV3LXJlc2VydmF0aW9uLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMyOGE3NDU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbn1cblxuLm5ldy1yZXNlcnZhdGlvbi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjE4ODM4O1xufVxuXG4jc3VibWl0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4iXX0= */