/*!******************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/styles.css ***!
  \******************************************************************/
/* ===================================
   Adam Jeranek 2025 Campaign Website
   CSS Design System & Components
   =================================== */

/* ===================
   CSS CUSTOM PROPERTIES
   =================== */

:root {
  /* Colors */
  --white: #ffffff;
  --red: #db2229;
  --red-hover: #b91c23;
  --red-active: #c41e25;
  --red-dark: #a01820;
  --primary-blue: #2e3e68;
  --flag-blue: #2b73b7;
  --flag-blue-hover: #236ba1;
  --flag-blue-active: #1f5a9a;
  --light-gray: rgb(245, 245, 250);

  /* Legacy compatibility */
  --blue: var(--primary-blue);

  /* Typography */
  --font-family-primary: "Arial", sans-serif;
  --font-family-serif: serif;

  /* Layout */
  --content-width: 1170px;

  /* Spacing */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 32px;
  --spacing-xl: 64px;

  /* Breakpoints */
  --width-xs: 320px;
  --width-sm: 480px;
  --width-md: 768px;
  --width-lg: 1024px;
  --width-xl: 1280px;

  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-pill: 25px;

  /* Shadows */
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
  --shadow-md: 0 4px 8px rgba(0,0,0,0.1);
  --shadow-lg: 0 4px 12px rgba(0,0,0,0.15);
  --shadow-xl: 0 8px 24px rgba(0,0,0,0.3);
  --shadow-button: 0 4px 12px rgba(0,0,0,0.2);
  --shadow-button-hover: 0 6px 16px rgba(0,0,0,0.3);

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;

  /* Gradients */
  --gradient-red: linear-gradient(135deg, var(--red) 0%, var(--red-hover) 100%);
  --gradient-red-hover: linear-gradient(135deg, var(--red-hover) 0%, var(--red-dark) 100%);
  --gradient-blue: linear-gradient(135deg, var(--primary-blue) 0%, var(--flag-blue) 100%);
  --gradient-flag-blue: linear-gradient(135deg, var(--flag-blue) 0%, var(--flag-blue-hover) 100%);
  --gradient-flag-blue-hover: linear-gradient(135deg, var(--flag-blue-hover) 0%, var(--flag-blue-active) 100%);
}

/* ===================
   BASE & RESET STYLES
   =================== */

body {
  background-color: var(--white);
  color: var(--primary-blue);
  font-family: var(--font-family-primary);
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

main {
  padding: 0;
  margin: 0;
}

a {
  color: var(--white);
  text-decoration: none;
}

h2 {
  font-size: 2rem; /* Mobile-first: smaller size */
  margin: 0 auto;
  padding: var(--spacing-lg) 0;
}

p {
  font: 1.4rem/1.4 var(--font-family-serif);
  padding: var(--spacing-sm) 0;
}

p:last-child {
  margin-bottom: 0;
}

section {
  margin: 0 auto;
  padding: var(--spacing-md);
}

ul {
  padding: 0;
}

ul li {
  list-style-type: none;
}

/* ===================
   BUTTON COMPONENTS
   =================== */

button {
  background-color: var(--white);
  border: 2px solid var(--primary-blue);
  border-radius: var(--radius-sm);
  color: var(--primary-blue);
  cursor: pointer;
  font-size: 1rem;
  margin: 10px;
  padding: 8px 64px;
  transition: var(--transition-normal);
  width: 256px;
}

button:hover {
  background-color: var(--flag-blue);
  color: var(--white);
}

/* ===================
   NAVIGATION COMPONENT
   =================== */

/* Skip Link for Accessibility */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--primary-blue);
  color: var(--white);
  padding: var(--spacing-sm) var(--spacing-md);
  border-radius: var(--radius-sm);
  text-decoration: none;
  z-index: 2000;
  font-weight: 600;
  transition: top var(--transition-fast);
}

.skip-link:focus {
  top: 6px;
}

.main-nav {
  background-color: var(--primary-blue);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: var(--shadow-sm);
}

.nav-container {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--spacing-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-height: 60px;
  min-height: 60px;
}

.nav-brand .brand-link {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  color: var(--white);
  font-family: var(--font-family-primary);
  text-decoration: none;
  text-transform: uppercase;
}

.brand-main {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.brand-logo {
  height: 40px;
  width: auto;
}

.brand-text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}

.brand-subtitle {
  font-size: 0.9rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.9);
  margin-left: var(--spacing-xs);
  white-space: nowrap;
  display: none;
}

.nav-toggle {
  display: flex;
  flex-direction: column;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--spacing-sm);
  text-decoration: none;
}

.nav-toggle span {
  width: 25px;
  height: 3px;
  background-color: var(--white);
  margin: 3px 0;
  transition: 0.3s;
  display: block;
}

.nav-close {
  display: block;
  position: absolute;
  top: var(--spacing-sm);
  right: var(--spacing-md);
  color: var(--white);
  font-size: 2rem;
  text-decoration: none;
  line-height: 1;
  padding: var(--spacing-sm);
  width: 25px;
  height: 27px;
}

.nav-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100vh;
  background-color: var(--blue);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-lg);
  transition: left 0.3s ease;
  z-index: 1001;
}

.nav-menu:target {
  left: 0;
}

.nav-menu:target .nav-close {
  display: block;
}

.nav-link {
  color: var(--white);
  text-decoration: none;
  font-size: 1.5rem;
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--radius-pill);
  border: 2px solid transparent;
  text-align: center;
  white-space: nowrap;
}

.nav-link:hover {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.1) 100%);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: var(--shadow-lg);
}

.nav-donate-button {
  background: var(--gradient-flag-blue);
  border: 2px solid var(--flag-blue);
  border-radius: var(--radius-pill);
  font-weight: 600;
  margin-left: 0;
  margin-top: var(--spacing-md);
  box-shadow: var(--shadow-button);
}

.nav-donate-button:hover {
  background: var(--gradient-flag-blue-hover);
  box-shadow: var(--shadow-button-hover);
}

/* ===================
   HERO SECTION
   =================== */

.hero {
  background: var(--gradient-blue);
  border-bottom: 1px solid var(--primary-blue);
  padding: var(--spacing-lg) 0; /* Mobile-first: smaller padding */
  position: relative;
  overflow: hidden;
}

.hero-container {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--spacing-lg);
  position: relative;
  height: 100%;
}

.hero-content {
  display: flex;
  flex-direction: column; /* Mobile-first: stacked layout */
  gap: var(--spacing-lg);
  align-items: center;
}

.hero-text {
  color: var(--white);
  font-family: var(--font-family-primary);
  text-align: center;
  order: 2; /* Mobile-first: text below image */
}

.hero-text h1 {
  font-family: var(--font-family-primary);
  margin: 0;
  padding: 0;
  line-height: 0.9;
}

.hero-title {
  display: block;
  font-size: 2rem; /* Mobile-first: larger relative size */
  font-weight: 400;
  font-family: var(--font-family-primary);
  margin: 0 0 var(--spacing-md);
  padding: 0;
  position: relative;
  left: -44px; /* Mobile-first: smaller offset */
}

.hero-name {
  display: block;
  font-size: 3.5rem; /* Mobile-first: smaller size */
  font-weight: 700;
  font-family: var(--font-family-primary);
  letter-spacing: 2px;
  padding: 0;
  margin: 0 0 var(--spacing-md);
  text-transform: uppercase;
}

.hero-subtitle {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.2rem; /* Mobile-first: slightly larger */
  font-weight: 300;
  font-family: var(--font-family-primary);
  padding: 0;
  margin: 0 0 var(--spacing-md);
}

.hero-office {
  font-size: 1.5rem; /* Mobile-first: smaller size */
  font-weight: 700;
  font-family: var(--font-family-primary);
  letter-spacing: 1px;
  margin: 0 0 var(--spacing-md);
  padding: 0;
  white-space: normal; /* Mobile-first: allow wrapping */
}

.hero-cta-button {
  display: none; /* Mobile-first: hidden */
  background: var(--gradient-red);
  color: var(--white);
  text-decoration: none;
  padding: var(--spacing-md) var(--spacing-xl);
  border-radius: var(--radius-pill);
  font-size: 1.2rem;
  font-weight: 600;
  font-family: var(--font-family-primary);
  border: 2px solid var(--red);
  transition: var(--transition-normal);
  box-shadow: var(--shadow-button);
  margin-top: var(--spacing-lg);
}

.hero-cta-button:hover {
  background: var(--gradient-red-hover);
  box-shadow: var(--shadow-button-hover);
}

.hero-images {
  position: relative;
  margin: 0 auto;
  order: 1; /* Mobile-first: image above text */
  text-align: center;
  flex-shrink: 1; /* Allow shrinking for responsive behavior */
  width: 100%; /* Take full available width */
}

.hero-main-image {
  position: relative;
  z-index: 2;
}

.hero-main-image img {
  width: 100%;
  max-width: 300px; /* Mobile-first: smaller size */
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
}

.hero-text .flag-heart-large {
  display: none;
  height: auto;
  margin: 0 auto var(--spacing-md);
  width: 72px;
}

.hero-images .flag-heart-large {
  display: none; /* Mobile-first: hidden */
  height: 25%;
  opacity: 0.1;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(50%) translateY(10%);
  z-index: 3;
}

/* ===================
   GOALS SECTION
   =================== */

#goals {
  background-color: var(--white);
}

.goal {
  margin-bottom: var(--spacing-lg);
  text-align: left;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 var(--spacing-sm); /* Mobile-first: add padding */
}

.goal h3 {
  color: var(--flag-blue);
  font-size: 1.6rem;
  margin-bottom: var(--spacing-sm);
  font-weight: 600;
}

.goal p {
  max-width: none;
  text-align: left;
}

/* ===================
   UTILITY COMPONENTS
   =================== */

.section-divider {
  position: relative;
  height: 0;
  transform: translateY(-50%);
}

.section-divider::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(43, 115, 183, 0.3), transparent);
}

/* ===================
   MEET ADAM SECTION
   =================== */

#meet-adam {
  background-color: var(--light-gray);
}

.meet-adam-container {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--spacing-sm); /* Mobile-first: smaller padding */
}

.meet-adam-header {
  text-align: center;
  margin-bottom: var(--spacing-md);
}

.meet-adam-content {
  display: grid;
  grid-template-columns: 1fr; /* Mobile-first: single column */
  gap: var(--spacing-lg); /* Mobile-first: smaller gap */
  align-items: start;
}

.meet-adam-images {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  align-items: center;
}

/* Hide family and military images in header on mobile, show inline instead */
.meet-adam-family-image,
.meet-adam-military-image {
  display: none;
}

.family-photo,
.military-photo {
  margin: var(--spacing-lg) 0;
  text-align: center;
}

.family-photo img,
.military-photo img {
  width: 100%;
  max-width: 300px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  border: 3px solid var(--light-gray);
}

.meet-adam-image {
  position: static; /* Mobile-first: static positioning */
  text-align: center;
  order: -1; /* Mobile-first: image first */
}

.meet-adam-image img {
  width: 100%;
  max-width: 250px; /* Mobile-first: smaller size */
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  border: 3px solid var(--light-gray);
}

.meet-adam-text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

#meet-adam ul {
  list-style: none;
  padding: 0;
  margin: var(--spacing-md) 0;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

#meet-adam ul li {
  background: var(--white);
  border-left: 4px solid var(--flag-blue);
  margin-bottom: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-fast);
  position: relative;
  font-weight: 500;
  color: var(--primary-blue);
  line-height: 1.4;
  font-size: 1.1rem;
}

#meet-adam ul li:nth-child(odd) {
  border-left-color: var(--red);
}

#meet-adam p {
  margin: 0 auto;
  max-width: 800px;
  text-align: left;
}

.adam-signoff {
  border-radius: var(--radius-md);
  margin-top: var(--spacing-md);
  position: relative;
  text-align: center;
}

.signoff-message {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--primary-blue);
  margin-bottom: var(--spacing-md);
  font-style: italic;
}

.signoff-motto {
  font-size: 1.1rem;
  color: var(--primary-blue);
  font-weight: 700;
  margin-bottom: var(--spacing-sm);
  letter-spacing: 0.5px;
}

.signoff-name {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--flag-blue);
  margin-bottom: 0;
}

/* ===================
   ENDORSEMENTS SECTION
   =================== */

#endorsements {
  background-color: var(--light-gray);
}

.endorsement {
  max-width: 800px;
  margin: var(--spacing-lg) var(--spacing-md) 0; /* Mobile-first: side margins */
  background: var(--white);
  padding: var(--spacing-lg); /* Mobile-first: smaller padding */
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  border-left: 4px solid var(--flag-blue);
  position: relative;
}

.endorsement::before {
  content: '"';
  font-size: 3rem; /* Mobile-first: smaller size */
  color: var(--flag-blue);
  opacity: 0.3;
  position: absolute;
  top: var(--spacing-sm); /* Mobile-first: smaller top */
  left: var(--spacing-md); /* Mobile-first: smaller left */
  font-family: serif;
  line-height: 1;
}

.endorsement-content {
  margin-left: var(--spacing-md); /* Mobile-first: smaller margin */
}

.endorsement-content p {
  font-size: 1.1rem; /* Mobile-first: smaller size */
  line-height: 1.6;
  color: var(--primary-blue);
  margin: 0;
  text-align: left;
  font-style: italic;
}

.endorsement-content p:first-child {
  margin-top: var(--spacing-sm);
}

.endorsement-content p:last-child {
  margin-bottom: 0;
}

.endorsement-attribution {
  text-align: right;
  margin-top: var(--spacing-lg);
  padding-top: var(--spacing-md);
  border-top: 1px solid rgba(46, 62, 104, 0.2);
}

.endorsement-attribution strong {
  font-size: 1.3rem;
  color: var(--primary-blue);
  font-weight: 700;
}

/* ===================
   FOOTER SECTION
   =================== */

.site-footer {
  background: var(--gradient-blue);
  color: var(--white);
  padding: var(--spacing-lg) 0; /* Mobile-first: smaller padding */
  position: relative;
}

.footer-container {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0 var(--spacing-sm); /* Mobile-first: smaller padding */
}

.footer-heart {
  text-align: center;
  margin-bottom: var(--spacing-md); /* Mobile-first: smaller margin */
}

.footer-heart-image {
  width: 60px; /* Mobile-first: smaller size */
  height: auto;
  opacity: 0.9;
  filter: drop-shadow(var(--shadow-md));
}

.footer-content {
  display: grid;
  grid-template-columns: 1fr; /* Mobile-first: single column */
  gap: var(--spacing-lg); /* Mobile-first: smaller gap */
  margin-bottom: var(--spacing-xl);
  text-align: center;
}

.footer-section h3 {
  color: var(--white);
  font-size: 1.4rem;
  margin-bottom: var(--spacing-md);
  font-weight: 600;
}

.social-links {
  display: flex;
  justify-content: center;
  gap: var(--spacing-md);
}

.social-link {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  color: var(--white);
  text-decoration: none;
  background: rgba(255, 255, 255, 0.1);
  padding: var(--spacing-sm) var(--spacing-md); /* Mobile-first: smaller padding */
  border-radius: var(--radius-pill);
  border: 2px solid rgba(255, 255, 255, 0.2);
  transition: all var(--transition-normal);
  font-weight: 500;
  font-size: 0.9rem; /* Mobile-first: smaller font */
}

.social-link:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: var(--shadow-button);
}

.facebook-icon {
  width: 18px; /* Mobile-first: smaller size */
  height: 18px;
  color: var(--white);
}

.footer-donate-button {
  display: inline-block;
  background: var(--gradient-red);
  color: var(--white);
  text-decoration: none;
  padding: var(--spacing-sm) var(--spacing-lg); /* Mobile-first: smaller padding */
  border-radius: var(--radius-pill);
  font-size: 1rem; /* Mobile-first: smaller font */
  font-weight: 600;
  border: 2px solid var(--red);
  transition: all var(--transition-normal);
  box-shadow: var(--shadow-button);
}

.footer-donate-button:hover {
  background: var(--gradient-red-hover);
  box-shadow: var(--shadow-button-hover);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: var(--spacing-lg);
  text-align: center;
}

.footer-tagline {
  margin-bottom: var(--spacing-md);
}

.footer-tagline p {
  margin: var(--spacing-xs) 0;
  color: var(--white);
}

.footer-tagline strong {
  font-size: 1.1rem; /* Mobile-first: smaller size */
  font-weight: 700;
}

.footer-slogan {
  font-size: 0.9rem; /* Mobile-first: smaller size */
  opacity: 0.9;
  font-style: italic;
}

.footer-legal {
  opacity: 0.7;
  font-size: 0.9rem;
}

.footer-legal p {
  margin: 0;
  color: var(--white);
}

/* ===================
   RESPONSIVE BREAKPOINTS
   =================== */

/* Tablet Screens in Portrait */
@media (min-width: 768px) {
  section {
    padding: var(--spacing-lg); /* Intermediate step: 32px */
  }

  h2 {
    font-size: 3rem; /* Desktop size */
  }

  .hero {
    padding: var(--spacing-xl) 0; /* Desktop padding */
  }

  .hero-content {
    flex-direction: row; /* Desktop side-by-side layout */
    gap: var(--spacing-xl);
  }

  .hero-text {
    order: 0; /* Reset order */
    flex: 1; /* Take equal space */
  }

  .hero-title {
    font-size: 1.5rem;
    left: -113px; /* Desktop positioning */
  }

  .hero-name {
    font-size: 5rem; /* Desktop size */
  }

  .hero-subtitle {
    font-size: 1.1rem; /* Desktop size */
  }

  .hero-office {
    font-size: 2rem; /* Desktop size */
    white-space: nowrap;
  }

  .hero-images {
    order: 0; /* Reset order */
    flex: 1; /* Take equal space */
  }

  .hero-main-image img {
    max-width: 400px; /* Desktop size */
  }

  .hero-images .flag-heart-large {
    display: block; /* Show on desktop */
  }

  .hero-cta-button {
    display: inline-block; /* Show on desktop */
  }

  .goal {
    padding: 0; /* Reset mobile padding */
  }

  .meet-adam-content {
    grid-template-columns: 1fr 2fr; /* Desktop layout */
    gap: var(--spacing-xl);
  }

  .meet-adam-images {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    align-self: start;
  }

  /* Show family and military images in header on desktop, hide inline version */
  .meet-adam-family-image,
  .meet-adam-military-image {
    display: block;
  }

  .family-photo,
  .military-photo {
    display: none;
  }

  .meet-adam-image {
    position: static;
    order: 0; /* Reset order */
    text-align: left;
    flex: 0 0 auto;
  }

  .meet-adam-image img {
    max-width: 350px; /* Desktop size */
  }

  .endorsement {
    padding: var(--spacing-xl); /* Desktop padding */
    margin: var(--spacing-xl) auto 0;
  }

  .endorsement::before {
    font-size: 4rem; /* Desktop size */
    top: var(--spacing-md);
    left: var(--spacing-lg);
  }

  .endorsement-content {
    margin-left: var(--spacing-lg); /* Desktop margin */
  }

  .endorsement-content p {
    font-size: 1.2rem; /* Desktop size */
  }

  .site-footer {
    padding: var(--spacing-xl) 0 var(--spacing-lg); /* Desktop padding */
  }

  .footer-container {
    padding: 0 var(--spacing-md); /* Desktop padding */
  }

  .footer-heart {
    margin-bottom: var(--spacing-xl); /* Desktop margin */
  }

  .footer-heart-image {
    width: 80px; /* Desktop size */
  }

  .footer-content {
    grid-template-columns: 1fr 1fr; /* Desktop two-column */
    gap: var(--spacing-xl);
  }

  .social-link {
    padding: var(--spacing-md) var(--spacing-lg); /* Desktop padding */
    font-size: 1rem;
  }

  .facebook-icon {
    width: 20px; /* Desktop size */
    height: 20px;
  }

  .footer-donate-button {
    padding: var(--spacing-md) var(--spacing-xl); /* Desktop padding */
    font-size: 1.1rem;
  }

  .footer-tagline strong {
    font-size: 1.2rem; /* Desktop size */
  }

  .footer-slogan {
    font-size: 1rem; /* Desktop size */
  }
}

/* Desktop Navigation */
@media (min-width: 982px) {
  /* TODO Or better to set a max width on paragraph tags? */
  section {
    padding: var(--spacing-xl); /* Full desktop: 64px */
  }

  .brand-subtitle {
    display: inline; /* Show subtitle on desktop */
  }

  .nav-toggle {
    display: none; /* Hide hamburger on desktop */
  }

  .nav-menu {
    position: static;
    width: auto;
    height: auto;
    background: none;
    flex-direction: row;
    gap: var(--spacing-md);
    display: flex;
    left: auto; /* Reset left positioning for desktop */
    transition: none; /* Disable transition on desktop to prevent sliding */
  }

  .nav-close {
    display: none;
  }

  .nav-menu:target .nav-close {
    display: none;
  }

  .nav-link {
    font-size: 1rem;
    padding: var(--spacing-sm) var(--spacing-md);
  }

  .nav-donate-button {
    margin-left: var(--spacing-md);
    margin-top: 0;
  }

  .meet-adam-header {
    /* TODO What's the best value here? */
    margin-bottom: var(--spacing-xl);
  }
}


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