/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/esm/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/livingroom.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --gold: #C9A84C;
  --gold-light: #E8C97A;
  --gold-dim: #8B6914;
  --black: #080808;
  --dark: #0E0E0E;
  --surface: #141414;
  --surface2: #1A1A1A;
  --surface3: #222222;
  --border: rgba(201,168,76,0.18);
  --text: #F0EDE6;
  --text-muted: #8A8580;
  --red: #E05252;
  --green: #4CAF7A;
  --radius: 16px;
  --radius-sm: 10px;
}

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Space Grotesk", sans-serif;
  background-color: var(--black);
  background-image: radial-gradient(ellipse 70% 50% at 10% 20%, rgba(201, 168, 76, 0.06) 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 90% 70%, rgba(201, 168, 76, 0.04) 0%, transparent 50%), radial-gradient(ellipse 40% 30% at 50% 100%, rgba(139, 105, 20, 0.05) 0%, transparent 45%);
  background-attachment: fixed;
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox=%270 0 256 256%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.85%27 numOctaves=%274%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url%28%23n%29%27/%3E%3C/svg%3E");
  background-size: 180px 180px;
}

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--dark);
}

::-webkit-scrollbar-thumb {
  background: var(--gold-dim);
  border-radius: 3px;
}

/* ─── NAV ─── */
nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 40px;
  background: rgba(8, 8, 8, 0.85);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  transition: padding 0.3s;
}

.nav-logo {
  font-family: "Playfair Display", serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 2px;
  cursor: pointer;
  text-decoration: none;
}

.nav-logo span {
  color: var(--text);
  font-weight: 400;
}

.nav-links {
  display: flex;
  gap: 28px;
  align-items: center;
}

.nav-links a {
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.85rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: color 0.25s;
}

.nav-links a:hover {
  color: var(--gold);
}

.nav-admin-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--gold);
  padding: 8px 18px;
  border-radius: 8px;
  font-size: 0.8rem;
  letter-spacing: 1px;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.25s;
  font-family: "Space Grotesk", sans-serif;
}

.nav-admin-btn:hover {
  background: var(--gold);
  color: var(--black);
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}

.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--gold);
  border-radius: 2px;
  transition: all 0.3s;
}

/* ─── SECTION ANCHORS (fixed nav offset) ─── */
#hero,
#djs,
#gallery,
#contact {
  scroll-margin-top: 80px;
}

/* ─── HERO ─── */
#hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 120px 24px 60px;
  scroll-margin-top: 0;
}

.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero-bg-img {
  position: absolute;
  inset: -4%;
  width: 108%;
  height: 108%;
  object-fit: cover;
  object-position: center;
  animation: heroKenBurns 28s ease-in-out infinite alternate;
  will-change: transform;
}

.hero-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 8, 8, 0.72) 0%, rgba(8, 8, 8, 0.55) 40%, rgba(8, 8, 8, 0.78) 100%), radial-gradient(ellipse 80% 60% at 50% 40%, rgba(201, 168, 76, 0.08) 0%, transparent 70%);
}

.hero-grid-lines {
  position: absolute;
  inset: 0;
  opacity: 0.025;
  background-image: linear-gradient(var(--gold) 1px, transparent 1px), linear-gradient(90deg, var(--gold) 1px, transparent 1px);
  background-size: 60px 60px;
  z-index: 1;
  pointer-events: none;
}

.hero-tag {
  position: relative;
  z-index: 2;
  font-size: 0.72rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid var(--border);
  padding: 6px 18px;
  border-radius: 20px;
  margin-bottom: 28px;
  background: rgba(8, 8, 8, 0.35);
  backdrop-filter: blur(8px);
  animation: fadeUp 0.8s ease both;
}

.hero-title {
  position: relative;
  z-index: 2;
  font-family: "Playfair Display", serif;
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  font-weight: 900;
  line-height: 1.05;
  text-align: center;
  text-shadow: 0 4px 40px rgba(0, 0, 0, 0.55);
  animation: fadeUp 0.8s 0.15s ease both;
}

.hero-title .accent {
  color: var(--gold);
}

.hero-sub {
  position: relative;
  z-index: 2;
  color: var(--text-muted);
  font-size: 1.05rem;
  max-width: 480px;
  text-align: center;
  line-height: 1.7;
  margin-top: 20px;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
  animation: fadeUp 0.8s 0.3s ease both;
}

.hero-cta {
  position: relative;
  z-index: 2;
  margin-top: 40px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  animation: fadeUp 0.8s 0.45s ease both;
}

.btn-gold {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: var(--black);
  border: none;
  padding: 14px 32px;
  border-radius: 10px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.25s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(201, 168, 76, 0.35);
}

.btn-outline {
  background: transparent;
  color: var(--gold);
  border: 1px solid var(--border);
  padding: 14px 32px;
  border-radius: 10px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.25s;
}

.btn-outline:hover {
  background: rgba(201, 168, 76, 0.08);
  border-color: var(--gold);
}

.hero-scroll {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  font-size: 0.72rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  animation: fadeIn 1s 1s ease both;
}

.scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(var(--gold), transparent);
  animation: scrollPulse 2s infinite;
}

/* ─── SEARCH & FILTER ─── */
#djs {
  padding: 60px 40px 40px;
  position: relative;
  background: radial-gradient(ellipse 55% 45% at 0% 30%, rgba(201, 168, 76, 0.05) 0%, transparent 60%), radial-gradient(ellipse 40% 35% at 100% 80%, rgba(201, 168, 76, 0.03) 0%, transparent 55%);
}

.section-header {
  text-align: center;
  margin-bottom: 48px;
}

.section-tag {
  font-size: 0.72rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 14px;
}

.section-title {
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
}

.search-bar {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 28px;
}

.search-input {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 12px 20px;
  border-radius: 10px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9rem;
  width: 280px;
  transition: border-color 0.25s;
  outline: none;
}

.search-input:focus {
  border-color: var(--gold);
}

.search-input::placeholder {
  color: var(--text-muted);
}

.filter-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 48px;
}

.pill {
  padding: 7px 18px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-muted);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s;
}

.pill:hover, .pill.active {
  background: rgba(201, 168, 76, 0.12);
  border-color: var(--gold);
  color: var(--gold);
}

/* ─── DJ GRID ─── */
.dj-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}

.dj-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  position: relative;
  animation: fadeUp 0.5s ease both;
}

.dj-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(201, 168, 76, 0.06) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.3s;
}

.dj-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 40px rgba(201, 168, 76, 0.1);
  border-color: rgba(201, 168, 76, 0.4);
}

.dj-card:hover::before {
  opacity: 1;
}

.dj-photo {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background: var(--surface2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  color: var(--gold-dim);
  position: relative;
  overflow: hidden;
}

.dj-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dj-photo-placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--surface2), var(--surface3));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5rem;
  color: var(--gold-dim);
  position: relative;
}

.dj-photo-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(8, 8, 8, 0.6) 0%, transparent 50%);
}

.dj-styles-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 16px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  z-index: 2;
}

.style-badge {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(201, 168, 76, 0.3);
  color: var(--gold-light);
  font-size: 0.65rem;
  padding: 3px 10px;
  border-radius: 12px;
  letter-spacing: 0.5px;
}

.dj-info {
  padding: 20px;
}

.dj-name {
  font-family: "Playfair Display", serif;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.dj-desc {
  color: var(--text-muted);
  font-size: 0.85rem;
  line-height: 1.65;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dj-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dj-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--gold);
  font-size: 0.85rem;
}

.dj-rating-num {
  color: var(--text-muted);
  font-size: 0.8rem;
}

.btn-card {
  background: rgba(201, 168, 76, 0.1);
  border: 1px solid var(--border);
  color: var(--gold);
  padding: 9px 18px;
  border-radius: 8px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.btn-card:hover {
  background: var(--gold);
  color: var(--black);
}

/* ─── MODAL ─── */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.modal-overlay.open {
  opacity: 1;
  pointer-events: all;
}

.modal {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  max-width: 780px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  transform: translateY(30px) scale(0.97);
  transition: transform 0.3s;
  position: relative;
}

.modal-overlay.open .modal {
  transform: translateY(0) scale(1);
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--border);
  color: var(--text);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.1rem;
  transition: all 0.2s;
}

.modal-close:hover {
  background: var(--gold);
  color: var(--black);
  border-color: var(--gold);
}

.modal-photo {
  width: 100%;
  aspect-ratio: 16/7;
  object-fit: cover;
  background: linear-gradient(135deg, var(--surface2), var(--surface3));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 7rem;
  color: var(--gold-dim);
  border-radius: 20px 20px 0 0;
  position: relative;
  overflow: hidden;
}

.modal-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, var(--surface) 0%, transparent 50%);
}

.modal-body {
  padding: 28px 32px 32px;
}

.modal-name {
  font-family: "Playfair Display", serif;
  font-size: 2.2rem;
  font-weight: 900;
  margin-bottom: 6px;
}

.modal-styles {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.modal-style-tag {
  background: rgba(201, 168, 76, 0.12);
  border: 1px solid rgba(201, 168, 76, 0.3);
  color: var(--gold);
  font-size: 0.78rem;
  padding: 5px 14px;
  border-radius: 20px;
}

.modal-desc {
  color: var(--text-muted);
  line-height: 1.8;
  font-size: 0.95rem;
  margin-bottom: 24px;
}

.modal-exp {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 18px 22px;
  margin-bottom: 24px;
}

.modal-exp-title {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--gold);
  margin-bottom: 10px;
}

.modal-exp-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.exp-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  color: var(--text-muted);
}

.exp-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

/* ─── REVIEWS ─── */
.reviews-section {
  margin-bottom: 24px;
}

.reviews-title {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--gold);
  margin-bottom: 16px;
}

.reviews-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.review-card {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 18px;
}

.review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.review-author {
  font-weight: 600;
  font-size: 0.88rem;
}

.review-stars {
  color: var(--gold);
  font-size: 0.9rem;
}

.review-text {
  color: var(--text-muted);
  font-size: 0.85rem;
  line-height: 1.6;
}

/* ─── CALENDAR MODAL ─── */
.cal-modal {
  max-width: 700px;
}

.cal-header {
  padding: 28px 32px 0;
}

.cal-title {
  font-family: "Playfair Display", serif;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.cal-subtitle {
  color: var(--text-muted);
  font-size: 0.88rem;
  margin-bottom: 24px;
}

.cal-body {
  padding: 0 32px 32px;
}

.cal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.cal-month {
  font-family: "Playfair Display", serif;
  font-size: 1.25rem;
  font-weight: 700;
}

.cal-nav-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1rem;
  transition: all 0.2s;
}

.cal-nav-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.cal-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.cal-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.cal-day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 0.88rem;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  font-weight: 500;
  border: 1px solid transparent;
}

.cal-day.past {
  color: var(--text-muted);
  opacity: 0.35;
  cursor: not-allowed;
}

.cal-day.taken {
  background: rgba(224, 82, 82, 0.12);
  color: var(--red);
  border-color: rgba(224, 82, 82, 0.2);
  cursor: not-allowed;
}

.cal-day.partial {
  background: rgba(160, 80, 220, 0.12);
  color: #C07AFF;
  border-color: rgba(160, 80, 220, 0.3);
  cursor: pointer;
}

.cal-day.partial:hover {
  background: rgba(160, 80, 220, 0.2);
  border-color: rgba(160, 80, 220, 0.5);
}

.cal-day.available {
  color: var(--green);
}

.cal-day.available:hover {
  background: rgba(76, 175, 122, 0.12);
  border-color: rgba(76, 175, 122, 0.3);
}

.cal-day.selected {
  background: rgba(201, 168, 76, 0.18);
  border-color: var(--gold);
  color: var(--gold);
  font-weight: 700;
}

.cal-day.empty {
  cursor: default;
}

.time-slot.slot-taken {
  opacity: 0.38;
  cursor: not-allowed;
  color: var(--red);
  border-color: rgba(224, 82, 82, 0.2);
  background: rgba(224, 82, 82, 0.06);
}

.time-slot.slot-taken:hover {
  background: rgba(224, 82, 82, 0.06);
  border-color: rgba(224, 82, 82, 0.2);
  color: var(--red);
}

.cal-legend {
  display: flex;
  gap: 20px;
  margin: 16px 0;
  flex-wrap: wrap;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: var(--text-muted);
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
}

/* ─── BOOKING FORM ─── */
.booking-section {
  padding: 0 32px 32px;
}

.booking-divider {
  height: 1px;
  background: var(--border);
  margin: 24px 0;
}

.time-slots {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.time-slot {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text-muted);
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 0.88rem;
  transition: all 0.2s;
  font-family: "Space Grotesk", sans-serif;
}

.time-slot:hover, .time-slot.selected {
  background: rgba(201, 168, 76, 0.12);
  border-color: var(--gold);
  color: var(--gold);
}

.price-box {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 24px;
}

.price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.price-label {
  color: var(--text-muted);
  font-size: 0.88rem;
}

.price-value {
  font-weight: 600;
}

.price-total {
  font-family: "Playfair Display", serif;
  font-size: 1.8rem;
  color: var(--gold);
  font-weight: 700;
}

.price-divider {
  height: 1px;
  background: var(--border);
  margin: 14px 0;
}

.extras {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}

.extra-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 18px;
  cursor: pointer;
  transition: border-color 0.2s;
}

.extra-item:hover {
  border-color: rgba(201, 168, 76, 0.3);
}

.extra-item.checked {
  border-color: var(--gold);
  background: rgba(201, 168, 76, 0.06);
}

.extra-checkbox {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 2px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s;
}

.extra-item.checked .extra-checkbox {
  background: var(--gold);
  border-color: var(--gold);
}

.extra-checkbox-inner {
  width: 10px;
  height: 10px;
  background: var(--black);
  border-radius: 2px;
  display: none;
}

.extra-item.checked .extra-checkbox-inner {
  display: block;
}

.extra-label {
  flex: 1;
  font-size: 0.9rem;
}

.extra-price {
  color: var(--gold);
  font-size: 0.88rem;
  font-weight: 600;
}

/* ─── FORM ─── */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group.full {
  grid-column: 1/-1;
}

.form-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
}

.form-input, .form-select, .form-textarea {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 12px 16px;
  border-radius: 10px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.25s;
  width: 100%;
}

.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color: var(--gold);
}

.form-select option {
  background: var(--surface2);
}

.form-textarea {
  resize: vertical;
  min-height: 100px;
}

.btn-submit {
  width: 100%;
  padding: 16px;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  border: none;
  border-radius: 12px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--black);
  cursor: pointer;
  transition: all 0.25s;
  letter-spacing: 0.5px;
  margin-top: 8px;
}

.btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(201, 168, 76, 0.4);
}

/* ─── SUCCESS ─── */
.success-screen {
  text-align: center;
  padding: 60px 32px;
}

.success-icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(76, 175, 122, 0.15);
  border: 2px solid var(--green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin: 0 auto 24px;
  color: var(--green);
}

.success-title {
  font-family: "Playfair Display", serif;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 12px;
}

.success-text {
  color: var(--text-muted);
  line-height: 1.7;
  max-width: 400px;
  margin: 0 auto 28px;
}

/* ─── GALLERY ─── */
#gallery {
  padding: 80px 40px;
  position: relative;
  background: radial-gradient(ellipse 50% 40% at 80% 20%, rgba(201, 168, 76, 0.045) 0%, transparent 55%), radial-gradient(ellipse 45% 35% at 15% 90%, rgba(139, 105, 20, 0.04) 0%, transparent 50%);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
  max-width: 1200px;
  margin: 0 auto;
}

.gallery-item {
  aspect-ratio: 1;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--surface2), var(--surface3));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: var(--gold-dim);
  overflow: hidden;
  cursor: pointer;
  border: 1px solid var(--border);
  transition: transform 0.3s, box-shadow 0.3s;
  position: relative;
}

.gallery-item:hover {
  transform: scale(1.03);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(201, 168, 76, 0.15), transparent);
  opacity: 0;
  transition: opacity 0.3s;
}

.gallery-item:hover::after {
  opacity: 1;
}

/* ─── CONTACT ─── */
#contact {
  padding: 80px 40px;
  position: relative;
  background: radial-gradient(ellipse 55% 45% at 100% 40%, rgba(201, 168, 76, 0.05) 0%, transparent 55%), radial-gradient(ellipse 40% 30% at 0% 80%, rgba(201, 168, 76, 0.03) 0%, transparent 50%);
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.contact-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(201, 168, 76, 0.1);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.contact-item-text h4 {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 4px;
}

.contact-item-text p {
  color: var(--text-muted);
  font-size: 0.85rem;
  line-height: 1.5;
}

.map-placeholder {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  aspect-ratio: 16/10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  position: relative;
}

.map-placeholder-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.7s ease;
}

.map-placeholder:hover .map-placeholder-img {
  transform: scale(1.05);
}

.map-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(8, 8, 8, 0.75) 100%);
  pointer-events: none;
}

.map-placeholder-label {
  position: relative;
  z-index: 1;
  align-self: flex-end;
  margin: 0 0 20px;
  font-size: 0.78rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}

.social-links {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.social-link {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--surface2);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  text-decoration: none;
  font-size: 1rem;
  transition: all 0.2s;
}

.social-link-icon {
  display: block;
  flex-shrink: 0;
}

.social-link-fallback {
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.02em;
}

.social-link:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(201, 168, 76, 0.08);
}

/* ─── ADMIN ─── */
.admin-overlay {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: var(--black);
  display: none;
}

.admin-overlay.open {
  display: flex;
}

.admin-sidebar {
  width: 240px;
  background: var(--surface);
  border-right: 1px solid var(--border);
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-logo {
  font-family: "Playfair Display", serif;
  font-size: 1.1rem;
  color: var(--gold);
  margin-bottom: 24px;
  padding: 0 10px;
}

.admin-logo small {
  display: block;
  color: var(--text-muted);
  font-size: 0.7rem;
  font-family: "Space Grotesk", sans-serif;
  margin-top: 2px;
}

.admin-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 10px;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 0.88rem;
  transition: all 0.2s;
}

.admin-nav-item:hover, .admin-nav-item.active {
  background: rgba(201, 168, 76, 0.1);
  color: var(--gold);
}

.admin-main {
  flex: 1;
  padding: 32px 40px;
  overflow-y: auto;
}

.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}

.admin-topbar h1 {
  font-family: "Playfair Display", serif;
  font-size: 1.6rem;
  font-weight: 700;
}

.admin-section {
  display: none;
}

.admin-section.active {
  display: block;
}

.admin-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}

.admin-stat {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px 24px;
}

.admin-stat-num {
  font-family: "Playfair Display", serif;
  font-size: 2rem;
  color: var(--gold);
  font-weight: 700;
}

.admin-stat-label {
  color: var(--text-muted);
  font-size: 0.82rem;
  margin-top: 4px;
}

.admin-table-wrap {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
}

.admin-table th {
  text-align: left;
  padding: 14px 18px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--gold);
  border-bottom: 1px solid var(--border);
  background: rgba(201, 168, 76, 0.04);
}

.admin-table td {
  padding: 14px 18px;
  font-size: 0.88rem;
  color: var(--text-muted);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.admin-table tr:last-child td {
  border-bottom: none;
}

.admin-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

.status-badge {
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  display: inline-block;
}

.status-new {
  background: rgba(201, 168, 76, 0.15);
  color: var(--gold);
}

.status-confirmed {
  background: rgba(76, 175, 122, 0.15);
  color: var(--green);
}

.status-cancelled {
  background: rgba(224, 82, 82, 0.15);
  color: var(--red);
}

.admin-dj-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-dj-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.admin-dj-avatar {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: var(--surface2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--gold-dim);
  flex-shrink: 0;
}

.admin-dj-info {
  flex: 1;
}

.admin-dj-name {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 3px;
}

.admin-dj-styles {
  color: var(--text-muted);
  font-size: 0.8rem;
}

.admin-dj-actions {
  display: flex;
  gap: 8px;
}

.admin-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text-muted);
  padding: 7px 14px;
  border-radius: 8px;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s;
  font-family: "Space Grotesk", sans-serif;
}

.admin-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.admin-btn.danger:hover {
  border-color: var(--red);
  color: var(--red);
}

.admin-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 500px;
}

.admin-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.admin-gallery-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.admin-gallery-emoji {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--surface2), var(--surface3));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  cursor: pointer;
}

.admin-gallery-actions {
  display: flex;
  gap: 6px;
}

.admin-add-card {
  background: var(--surface);
  border: 1px dashed var(--border);
  border-radius: 14px;
  padding: 20px 22px;
  margin-bottom: 24px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: flex-end;
}

.admin-add-card .form-group {
  flex: 1;
  min-width: 140px;
  margin: 0;
}

.admin-extra-row {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}

.admin-extra-row .extra-row-label {
  flex: 1;
  font-size: 0.9rem;
}

.admin-extra-row input[type=text] {
  max-width: 220px;
}

.admin-extra-row input[type=number] {
  width: 90px;
}

.admin-section-subtitle {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--gold);
  margin: 28px 0 14px;
}

.admin-section-subtitle:first-child {
  margin-top: 0;
}

.admin-login {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  flex-direction: column;
  gap: 24px;
  padding: 40px;
  width: 100%;
}

.admin-login-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 40px;
  width: 100%;
  max-width: 400px;
}

.admin-login-title {
  font-family: "Playfair Display", serif;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 6px;
  text-align: center;
}

.admin-login-sub {
  color: var(--text-muted);
  font-size: 0.88rem;
  text-align: center;
  margin-bottom: 28px;
}

/* ─── ADMIN DAY POPUP ─── */
.admin-day-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 500;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}

.admin-day-popup-overlay.open {
  opacity: 1;
  pointer-events: all;
}

.admin-day-popup {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 18px;
  width: 100%;
  max-width: 520px;
  transform: translateY(20px) scale(0.97);
  transition: transform 0.25s;
  position: relative;
  overflow: hidden;
}

.admin-day-popup-overlay.open .admin-day-popup {
  transform: translateY(0) scale(1);
}

.adp-head {
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.adp-title {
  font-family: "Playfair Display", serif;
  font-size: 1.2rem;
  font-weight: 700;
}

.adp-dj {
  color: var(--gold);
  font-size: 0.82rem;
  margin-top: 3px;
}

.adp-close {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid var(--border);
  color: var(--text);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1rem;
  transition: all 0.2s;
  flex-shrink: 0;
}

.adp-close:hover {
  background: var(--gold);
  color: var(--black);
  border-color: var(--gold);
}

.adp-actions {
  padding: 18px 24px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.adp-btn {
  flex: 1;
  min-width: 130px;
  padding: 12px 16px;
  border-radius: 10px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--border);
  transition: all 0.2s;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.adp-btn-red {
  background: rgba(224, 82, 82, 0.1);
  color: var(--red);
  border-color: rgba(224, 82, 82, 0.25);
}

.adp-btn-red:hover {
  background: rgba(224, 82, 82, 0.2);
  border-color: var(--red);
}

.adp-btn-green {
  background: rgba(76, 175, 122, 0.1);
  color: var(--green);
  border-color: rgba(76, 175, 122, 0.25);
}

.adp-btn-green:hover {
  background: rgba(76, 175, 122, 0.2);
  border-color: var(--green);
}

.adp-btn-gold {
  background: rgba(201, 168, 76, 0.1);
  color: var(--gold);
  border-color: var(--border);
}

.adp-btn-gold:hover {
  background: rgba(201, 168, 76, 0.18);
  border-color: var(--gold);
}

.adp-btn-purple {
  background: rgba(160, 80, 220, 0.1);
  color: #C07AFF;
  border-color: rgba(160, 80, 220, 0.25);
}

.adp-btn-purple:hover {
  background: rgba(160, 80, 220, 0.2);
  border-color: #C07AFF;
}

.adp-section {
  padding: 0 24px 22px;
  display: none;
}

.adp-section.open {
  display: block;
}

.adp-section-title {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--gold);
  margin-bottom: 14px;
  padding-top: 4px;
}

.adp-slot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  gap: 8px;
}

.adp-slot {
  padding: 9px 6px;
  border-radius: 8px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--border);
  transition: all 0.2s;
  font-family: "Space Grotesk", sans-serif;
}

.adp-slot.free {
  background: rgba(76, 175, 122, 0.08);
  color: var(--green);
  border-color: rgba(76, 175, 122, 0.2);
}

.adp-slot.free:hover {
  background: rgba(224, 82, 82, 0.12);
  color: var(--red);
  border-color: rgba(224, 82, 82, 0.3);
}

.adp-slot.booked {
  background: rgba(224, 82, 82, 0.1);
  color: var(--red);
  border-color: rgba(224, 82, 82, 0.25);
}

.adp-slot.booked:hover {
  background: rgba(76, 175, 122, 0.12);
  color: var(--green);
  border-color: rgba(76, 175, 122, 0.3);
}

.adp-booked-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.adp-booked-item {
  background: var(--surface2);
  border: 1px solid rgba(224, 82, 82, 0.2);
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.adp-booked-time {
  color: var(--red);
  font-weight: 700;
  font-size: 0.9rem;
}

.adp-booked-note {
  color: var(--text-muted);
  font-size: 0.78rem;
}

.adp-empty {
  color: var(--text-muted);
  font-size: 0.88rem;
  text-align: center;
  padding: 16px 0;
}

footer {
  border-top: 1px solid var(--border);
  padding: 40px;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.82rem;
}

footer .footer-logo {
  font-family: "Playfair Display", serif;
  font-size: 1.4rem;
  color: var(--gold);
  margin-bottom: 12px;
}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scrollPulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
@keyframes glow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(201, 168, 76, 0.15);
  }
  50% {
    box-shadow: 0 0 40px rgba(201, 168, 76, 0.3);
  }
}
@keyframes heroKenBurns {
  from {
    transform: scale(1) translate(0, 0);
  }
  to {
    transform: scale(1.08) translate(-1.5%, -1%);
  }
}
/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
  nav {
    padding: 16px 20px;
  }
  .nav-links {
    display: none;
  }
  .hamburger {
    display: flex;
  }
  #djs {
    padding: 60px 20px 40px;
  }
  .dj-grid {
    grid-template-columns: 1fr;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .admin-sidebar {
    width: 200px;
  }
  .admin-main {
    padding: 20px;
  }
  #gallery {
    padding: 60px 20px;
  }
  #contact {
    padding: 60px 20px;
  }
  .modal-body {
    padding: 20px;
  }
  .cal-body, .booking-section {
    padding: 0 20px 24px;
  }
  .cal-header {
    padding: 24px 20px 0;
  }
}
@media (max-width: 480px) {
  .admin-overlay {
    flex-direction: column;
  }
  .admin-sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--border);
    flex-direction: row;
    overflow-x: auto;
    padding: 14px;
  }
  .admin-logo {
    display: none;
  }
}

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