/*-- -------------------------- -->
<---        Core Styles         -->
<--- -------------------------- -*/
/* CodeStitch Core Styles + Reset */
@media only screen and (min-width: 0px) {
  /* All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
  :root {
    --primary: #ff6a3e;
    --primaryLight: #ffba43;
    --secondary: #ffba43;
    --secondaryLight: #ffba43;
    --headerColor: #1a1a1a;
    --bodyTextColor: #4e4b66;
    --bodyTextColorWhite: #fafbfc;
    /* Dark Mode Styles */
    --dark: #082032;
    --medium: #2c394b;
    --accent: #334756;
    /* 13px - 16px */
    --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
    /* 31px - 49px */
    --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
    --bodyFontSize: 1rem;
    /* 60px - 100px top and bottom */
    --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
    --headerFont: "Roboto", Arial, sans-serif;
    --bodyFont: "Roboto", Arial, sans-serif;
  }
  html,
  body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: var(--bodyFont);
    font-size: 100%;
    transition: background-color 0.3s;
    color: var(--bodyTextColor);
  }
  *,
  *:before,
  *:after {
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
  }
  .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }
  .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
}
/* Components + Utilities */
@media only screen and (min-width: 0px) {
  .skip {
    z-index: -1111111;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .cs-button-solid {
    z-index: 1;
    position: relative;
    display: inline-block;
    background-color: var(--primary);
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border-radius: 0.25rem;
    overflow: hidden;
    color: var(--bodyTextColorWhite);
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-solid:hover {
    color: #fff;
  }
  .cs-button-solid:hover:before {
    width: 100%;
  }
  .cs-button-solid:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-button-outline {
    z-index: 1;
    position: relative;
    display: inline-block;
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border: 2px solid #000;
    color: #000;
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-outline:hover {
    color: #fff;
  }
  .cs-button-outline:hover:before {
    width: 100%;
  }
  .cs-button-outline:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-color {
    color: var(--primary);
  }
  .cs-bold {
    font-weight: 700;
  }
  .cs-hide-on-mobile {
    display: none !important;
  }
  .cs-dark,
  .dark {
    display: none !important;
  }
  body.dark-mode .cs-light,
  body.dark-mode .light {
    display: none !important;
  }
  body.dark-mode .cs-dark,
  body.dark-mode .dark {
    display: block !important;
  }
  body.dark-mode .cs-button-outline {
    border-color: #fff;
    color: #fff;
  }
}
/* Desktop Utilities */
@media only screen and (min-width: 64rem) {
  .cs-hide-on-mobile {
    display: block !important;
  }
  .cs-hide-on-desktop {
    display: none !important;
  }
}
/* Base Element Styles */
@media only screen and (min-width: 0px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--headerFont);
    line-height: 1.2em;
    color: var(--headerColor);
  }
  p,
  li,
  a {
    font-size: 1rem;
    line-height: 1.5em;
  }
  p,
  li {
    color: var(--bodyTextColor);
  }
  p a,
  li a {
    color: var(--primary);
  }
  a:hover,
  button:hover {
    cursor: pointer;
  }
  body.dark-mode {
    background-color: var(--dark);
  }
  body.dark-mode p,
  body.dark-mode li,
  body.dark-mode h1,
  body.dark-mode h2,
  body.dark-mode h3,
  body.dark-mode h4,
  body.dark-mode h5,
  body.dark-mode h6 {
    color: #fff;
  }
}
/* Fonts */
@media only screen and (min-width: 0px) {
  /* roboto-regular - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 400;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-regular.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-regular.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-700 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 700;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-700.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-700.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-900 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 900;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-900.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-900.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
}
/*-- -------------------------- -->
<---      Dark Mode Toggle      -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  body.dark-mode #dark-mode-toggle .cs-sun {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  body.dark-mode #dark-mode-toggle .cs-moon {
    opacity: 0;
    transform: translate(-50%, -150%);
    fill: #fff;
  }
  #dark-mode-toggle {
    width: 3rem;
    height: 3rem;
    padding: 0;
    background: transparent;
    border: none;
    display: block;
    position: absolute;
    top: 0.625rem;
    right: 4.375rem;
    z-index: 1000;
    overflow: hidden;
  }
  #dark-mode-toggle img,
  #dark-mode-toggle svg {
    width: 1.25rem;
    height: 1.25rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
  #dark-mode-toggle .cs-moon {
    z-index: 2;
    transition: transform 0.3s, opacity 0.3s;
  }
  #dark-mode-toggle .cs-sun {
    opacity: 0;
    z-index: 1;
    transform: translate(-50%, 100%);
    transition: transform 0.3s, opacity 0.3s;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #dark-mode-toggle {
    margin: 0;
    position: relative;
    top: auto;
    right: auto;
    transform: none;
  }
  #dark-mode-toggle:hover {
    cursor: pointer;
  }
}
/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
/* Mobile - 1023.5px */
@media only screen and (max-width: 1023.5px) {
  body.cs-open {
    overflow: hidden;
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem 1rem;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation:before {
    /* black blurred overlay */
    content: "";
    width: 0%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: -11;
    transition: width 0.5s, opacity 0.3s;
    backdrop-filter: blur(10px);
  }
  #cs-navigation.cs-active:before {
    width: 100%;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleX(1);
    transition-delay: 0.2s;
  }
  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateX(0);
  }
  #cs-navigation .cs-container {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #cs-navigation .cs-logo {
    width: 40%;
    max-width: 9.125rem;
    height: 100%;
    margin: 0 auto 0 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
    /* places the image to the left edge of the parent */
    -o-object-position: left;
       object-position: left;
  }
  #cs-navigation .cs-toggle {
    /* 44px - 48px */
    width: clamp(2.75rem, 6vw, 3rem);
    height: clamp(2.75rem, 6vw, 3rem);
    margin: 0 0 0 auto;
    background-color: transparent;
    border: none;
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
  }
  #cs-navigation .cs-active .cs-line3 {
    opacity: 0;
    bottom: 100%;
  }
  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    /* 14px - 16px */
    height: clamp(0.875rem, 1.5vw, 1rem);
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #1a1a1a;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-line1 {
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
  }
  #cs-navigation .cs-line2 {
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-ul-wrapper {
    height: 100vh;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    opacity: 0;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    z-index: -1;
    overflow: hidden;
    transform: scaleX(0);
    transition: transform 0.4s, opacity 0.3s;
    transform-origin: top right;
  }
  #cs-navigation .cs-ul {
    width: auto;
    min-width: 40%;
    height: 65vh;
    margin: 0;
    /* 28px - 40px */
    padding: 3rem clamp(1.75rem, 3vw, 2.5rem) 2rem 4.375rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1.25rem;
    overflow: scroll;
  }
  #cs-navigation .cs-li {
    text-align: right;
    list-style: none;
    width: 100%;
    margin-right: 0;
    opacity: 0;
    /* transition from these values */
    transform: translateX(-2.5rem);
    transition: transform 0.6s, opacity 0.9s;
  }
  #cs-navigation .cs-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li-link {
    /* 16px - 24px */
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    line-height: 1.2em;
    text-decoration: none;
    margin: 0;
    padding: 0.25rem;
    color: var(--headerColor);
    display: inline-block;
    position: relative;
  }
  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    display: none;
    position: absolute;
    bottom: -0.125rem;
    left: 0;
  }
  #cs-navigation .cs-li-link.cs-active:before {
    display: block;
  }
  #cs-navigation .cs-button-solid {
    display: none;
  }
}
/* Dark Mode */
@media only screen and (max-width: 1023.5px) {
  body.dark-mode #cs-navigation {
    background-color: var(--dark);
  }
  body.dark-mode #cs-navigation .cs-logo {
    /* makes it white */
    filter: grayscale(1) brightness(1000%);
  }
  body.dark-mode #cs-navigation .cs-line {
    background-color: #fff;
  }
  body.dark-mode #cs-navigation .cs-ul-wrapper {
    background-color: var(--medium);
  }
  body.dark-mode #cs-navigation .cs-li-link {
    color: var(--bodyTextColorWhite);
  }
}
/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023.5px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-dropdown {
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-navigation .cs-dropdown .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    font-family: inherit;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    margin: 0.75rem 0 0 0;
    padding: 1.5rem;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
    opacity: 1;
  }
  #cs-navigation .cs-dropdown .cs-li-link {
    position: relative;
    transition: opacity 0.3s;
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    position: absolute;
    top: 50%;
    right: -1.25rem;
    transform: translateY(-50%);
  }
  #cs-navigation .cs-drop-ul {
    width: 100%;
    height: 0;
    margin: 0;
    box-sizing: border-box;
    padding: 0 1.5rem 0 1.5rem;
    background-color: var(--primary);
    opacity: 0;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 0.75rem;
    overflow: hidden;
    transform: scale(0);
    transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, transform 0.3s, visibility 0.3s;
    transform-origin: top right;
  }
  #cs-navigation .cs-drop-li {
    text-align: inherit;
    list-style: none;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    color: #fff;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation .cs-dropdown {
    position: relative;
  }
  #cs-navigation .cs-dropdown .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    font-family: inherit;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-dropdown:hover,
  #cs-navigation .cs-dropdown.cs-active {
    cursor: pointer;
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-ul,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-li,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    display: inline-block;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 10px 16px;
    opacity: 0;
    border-bottom: 5px solid var(--primary);
    visibility: hidden;
    /* if you have 8 or more links in your dropdown nav, uncomment the columns property to make the list into 2 even columns. Change it to 3 or 4 if you need extra columns. Then remove the transition delays on the cs-drop-li so they don't have weird scattered animations */
    position: absolute;
    top: 100%;
    z-index: -100;
    overflow: hidden;
    transform: scaleY(0);
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
    transform-origin: top;
  }
  #cs-navigation .cs-drop-li {
    font-size: 1rem;
    text-decoration: none;
    list-style: none;
    width: 100%;
    height: auto;
    color: var(--bodyTextColor);
    opacity: 0;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity 0.6s, transform 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(10) {
    transition-delay: 0.5s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(13) {
    transition-delay: 0.65s;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    white-space: nowrap;
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem;
    color: var(--bodyTextColor);
    background-color: #f7f7f7;
    outline: none;
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: #f0f0f0;
  }
  #cs-navigation .cs-li-link.cs-drop-link:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
  }
  #cs-navigation .cs-li-link.cs-drop-link:before {
    display: none;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0px) {
  body.dark-mode #cs-navigation .cs-drop-ul {
    background-color: var(--dark);
  }
  body.dark-mode #cs-navigation .cs-li-link.cs-drop-link {
    background-color: var(--medium);
  }
  body.dark-mode #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: var(--light);
  }
  body.dark-mode #cs-navigation .cs-drop-icon {
    /* turns it white */
    filter: grayscale(1) brightness(1000%);
  }
}
/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0 1rem;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
  }
  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: 18.4%;
    max-width: 21.875rem;
    height: 4.0625rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
  }
  #cs-navigation .cs-ul {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 20px - 36px */
    gap: clamp(1.25rem, 2.6vw, 2.25rem);
  }
  #cs-navigation .cs-li {
    list-style: none;
    padding: 2rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
    position: relative;
  }
  #cs-navigation .cs-li-link:hover:before {
    width: 100%;
  }
  #cs-navigation .cs-li-link.cs-active:before {
    width: 100%;
  }
  #cs-navigation .cs-li-link:before {
    /* active state underline */
    content: "";
    width: 0%;
    height: 2px;
    background: var(--primary);
    opacity: 1;
    display: block;
    position: absolute;
    bottom: 0rem;
    left: 0;
    transition: width 0.3s;
  }
}
/* Dark Mode */
@media only screen and (min-width: 1024px) {
  body.dark-mode #cs-navigation {
    background-color: var(--dark);
  }
  body.dark-mode #cs-navigation .cs-logo {
    /* makes it turn white */
    filter: grayscale(1) brightness(1000%);
  }
  body.dark-mode #cs-navigation .cs-li-link {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #cs-navigation .cs-li-link:before {
    background-color: var(--primaryLight);
  }
}
/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #banner-310 {
    /* 144px - 252px */
    padding-top: clamp(9rem, 25vw, 15.75rem);
    /* 80px - 140px */
    padding-bottom: clamp(5rem, 13vw, 8.75rem);
    position: relative;
    z-index: 1;
  }
  #banner-310 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #banner-310 .cs-int-title {
    /* 39px - 49px */
    font-size: clamp(2.4375rem, 4.5vw, 3.0625rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    max-width: 43.75rem;
    margin: 0 auto 0.75rem;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #banner-310 .cs-breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-310 .cs-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.2em;
    text-decoration: none;
    color: var(--bodyTextColorWhite);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-310 .cs-link:last-of-type {
    /* remove the chevron on the last list item */
  }
  #banner-310 .cs-link:last-of-type::after {
    display: none;
  }
  #banner-310 .cs-link:after {
    /* chevron - added as pseudo to make adding and removing them easier */
    content: "";
    width: 0.4375rem;
    height: 0.75rem;
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    background: url("/assets/svgs/chevron.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  #banner-310 .cs-link.cs-active {
    color: var(--primaryLight);
  }
  #banner-310 .cs-background {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
  }
  #banner-310 .cs-background:before {
    /* black overlay box */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.72;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #banner-310 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #cta-51 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #cta-51 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-51 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #cta-51 .cs-title {
    color: var(--bodyTextColorWhite);
  }
  #cta-51 .cs-text {
    margin-bottom: 1rem;
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }
  #cta-51 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #cta-51 .cs-picture {
    height: 100%;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #cta-51 .cs-picture:before {
    /* black color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: 0.8;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #cta-51 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*-- -------------------------- -->
<---          Footer            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #cs-footer-275 {
    padding: var(--sectionPadding);
    background-color: #1a1a1a;
    /* Navigation Links */
    /* Contact Links */
  }
  #cs-footer-275 .cs-container {
    width: 100%;
    /* reset on tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    -moz-column-gap: 5.5rem;
         column-gap: 5.5rem;
    row-gap: 2rem;
  }
  #cs-footer-275 .cs-logo-group {
    /* takes up all the space, lets the other ul's wrap below it */
    width: 100%;
    position: relative;
  }
  #cs-footer-275 .cs-logo {
    /* 210px - 240px */
    width: clamp(13.125rem, 8vw, 15rem);
    height: auto;
    display: block;
    /* 28px - 44px */
    margin-bottom: clamp(1.75rem, 4.17vw, 2.75rem);
  }
  #cs-footer-275 .cs-logo-img {
    width: 100%;
    height: auto;
  }
  #cs-footer-275 .cs-logo-img.dark {
    display: none;
  }
  #cs-footer-275 .cs-text {
    color: var(--bodyTextColorWhite);
    margin-bottom: 1rem;
  }
  #cs-footer-275 .cs-social {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.75rem;
    position: absolute;
    top: 0;
    right: 0;
  }
  #cs-footer-275 .cs-social-link {
    width: 1.5rem;
    height: 1.5rem;
    background-color: #4e4b66;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s, background-color 0.3s;
  }
  #cs-footer-275 .cs-social-link:hover {
    background-color: #1a1a1a;
    transform: translateY(-0.1875rem);
  }
  #cs-footer-275 .cs-social-img {
    height: 0.8125rem;
    width: auto;
    display: block;
  }
  #cs-footer-275 .cs-nav {
    padding: 0;
    margin: 0;
  }
  #cs-footer-275 .cs-nav-li {
    list-style: none;
    margin-bottom: 1rem;
  }
  #cs-footer-275 .cs-nav-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-275 .cs-header {
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 700;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-footer-275 .cs-header:after {
    content: "";
    width: 2rem;
    height: 0.25rem;
    margin: 1rem auto 1.5rem 0;
    background: var(--primary);
    opacity: 1;
    position: relative;
    display: block;
  }
  #cs-footer-275 .cs-nav-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-footer-275 .cs-nav-link:before {
    /* underline */
    content: "";
    width: 0%;
    height: 0.125rem;
    background: var(--bodyTextColorWhite);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }
  #cs-footer-275 .cs-nav-link:hover:before {
    width: 100%;
  }
  #cs-footer-275 .cs-contact {
    margin: 0;
    padding: 0;
    width: 35%;
  }
  #cs-footer-275 .cs-contact-li {
    list-style: none;
    margin-bottom: 0rem;
  }
  #cs-footer-275 .cs-contact-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-275 .cs-contact-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    text-align: left;
    color: var(--bodyTextColorWhite);
    display: inline-block;
  }
  #cs-footer-275 .cs-contact-link:hover {
    text-decoration: underline;
  }
  #cs-footer-275 .cs-address {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-footer-275 .cs-container {
    max-width: 80rem;
    row-gap: 0;
  }
  #cs-footer-275 .cs-contact {
    flex-direction: row;
    justify-content: space-between;
    border-top: none;
  }
  #cs-footer-275 .cs-contact-li {
    margin: 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-footer-275 .cs-container {
    /* pushes all flex children to the top */
    align-items: flex-start;
    justify-content: flex-end;
  }
  #cs-footer-275 .cs-logo-group {
    /* pushes everything to the right of it as far as possible in a flexbox */
    margin-right: auto;
    width: auto;
    max-width: 19.0625rem;
  }
  #cs-footer-275 .cs-text {
    width: 100%;
  }
  #cs-footer-275 .cs-social {
    flex-direction: row;
    position: relative;
    top: auto;
    right: auto;
  }
  #cs-footer-275 .cs-contact {
    width: auto;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9yb290Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O2tDQUVrQztBQUNsQyxtQ0FBbUM7QUFTbkM7RUFQRSx1UkFBdVI7RUFTeFI7SUFDQyxrQkFBQTtJQUNBLHVCQUFBO0lBQ0Esb0JBQUE7SUFDQSx5QkFBQTtJQUNBLHNCQUFBO0lBQ0Esd0JBQUE7SUFDQSw2QkFBQTtJQVBFLHFCQUFxQjtJQVV2QixlQUFBO0lBQ0EsaUJBQUE7SUFDQSxpQkFBQTtJQVJFLGdCQUFnQjtJQVdsQiwrQ0FBQTtJQVRFLGdCQUFnQjtJQVdsQixvREFBQTtJQUNBLG9CQUFBO0lBVEUsZ0NBQWdDO0lBV2xDLHNEQUFBO0lBRUEseUNBQUE7SUFDQSx1Q0FBQTtFQVZBO0VBYUQ7O0lBRUMsU0FBQTtJQUNBLFVBQUE7SUFDQSxrQkFBQTtJQUNBLDRCQUFBO0lBQ0EsZUFBQTtJQUNBLGlDQUFBO0lBQ0EsMkJBQUE7RUFYQTtFQWNEOzs7SUFWRyxxREFBcUQ7SUFjdkQsc0JBQUE7SUFDQSxTQUFBO0lBQ0EsVUFBQTtFQVpBO0VBZUQ7SUFDQyxnQ0FBQTtJQUNBLGtCQUFBO0lBQ0EseUJBQUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxxQkFBQTtJQUNBLHNCQUFBO0lBQ0EsY0FBQTtFQWJBO0VBZ0JEO0lBQ0MsZ0NBQUE7SUFDQSxnQkFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxtQkFBQTtJQUNBLGtCQUFBO0lBQ0EseUJBQUE7SUFDQSxrQkFBQTtFQWRBO0VBaUJEO0lBQ0MsOEJBQUE7SUFDQSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsV0FBQTtJQUNBLG9CQUFBO0lBQ0EsU0FBQTtJQUNBLDJCQUFBO0VBZkE7QUFDRjtBQUNBLDJCQUEyQjtBQWtCM0I7RUFFQztJQUNDLGlCQUFBO0lBQ0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtJQUNBLFVBQUE7RUFqQkE7RUFxQkQ7SUFDQyxV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gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQ09ERVNUSVRDSCBHTE9CQUwgU1RZTEVTXG4vLyBDb3JlIHN0eWxlc2hlZXQgY29udGFpbmluZyBDU1MgdmFyaWFibGVzLCBkYXJrIG1vZGUgc3R5bGVzLCBiYXNlIGVsZW1lbnRcbi8vIHN0eWxpbmcsIHR5cG9ncmFwaHkgcnVsZXMsIHV0aWxpdHkgY2xhc3NlcywgY29tcG9uZW50IHN0eWxlcywgbmF2aWdhdGlvbixcbi8vIGZvb3RlciwgYW5kIG90aGVyIHJlcGVhdGVkIHNlY3Rpb24gc3R5bGVzIGZvciB0aGUgZW50aXJlIHNpdGVcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgQ29yZSBTdHlsZXMgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIENvZGVTdGl0Y2ggQ29yZSBTdHlsZXMgKyBSZXNldCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0LyogQWxsIGVsZW1lbnRzIGluIHRoZSBsaWJyYXJ5IGRlcml2ZSB0aGVpciB2YXJpYWJsZXMgYW5kIGJhc2Ugc3R5bGVzIGZyb20gdGhpcyBjZW50cmFsIHNoZWV0LCBzaW1wbGlmeWluZyBzaXRlLXdpZGUgZWRpdHMuIEZvciBpbnN0YW5jZSwgaWYgeW91IHdhbnQgdG8gbW9kaWZ5IGhvdyB5b3VyIGgyJ3MgYXBwZWFyIGFjcm9zcyB0aGUgc2l0ZSwgeW91IGp1c3QgdXBkYXRlIGl0IG9uY2UgaW4gdGhlIGdsb2JhbCBzdHlsZXMsIGFuZCB0aGUgY2hhbmdlcyBhcHBseSBldmVyeXdoZXJlLiAqL1xuXHQ6cm9vdCB7XG5cdFx0LS1wcmltYXJ5OiAjZmY2YTNlO1xuXHRcdC0tcHJpbWFyeUxpZ2h0OiAjZmZiYTQzO1xuXHRcdC0tc2Vjb25kYXJ5OiAjZmZiYTQzO1xuXHRcdC0tc2Vjb25kYXJ5TGlnaHQ6ICNmZmJhNDM7XG5cdFx0LS1oZWFkZXJDb2xvcjogIzFhMWExYTtcblx0XHQtLWJvZHlUZXh0Q29sb3I6ICM0ZTRiNjY7XG5cdFx0LS1ib2R5VGV4dENvbG9yV2hpdGU6ICNmYWZiZmM7XG5cblx0XHQvKiBEYXJrIE1vZGUgU3R5bGVzICovXG5cdFx0LS1kYXJrOiAjMDgyMDMyO1xuXHRcdC0tbWVkaXVtOiAjMmMzOTRiO1xuXHRcdC0tYWNjZW50OiAjMzM0NzU2O1xuXG5cdFx0LyogMTNweCAtIDE2cHggKi9cblx0XHQtLXRvcHBlckZvbnRTaXplOiBjbGFtcCgwLjgxMjVyZW0sIDEuNnZ3LCAxcmVtKTtcblx0XHQvKiAzMXB4IC0gNDlweCAqL1xuXHRcdC0taGVhZGVyRm9udFNpemU6IGNsYW1wKDEuOTM3NXJlbSwgMy45dncsIDMuMDYyNXJlbSk7XG5cdFx0LS1ib2R5Rm9udFNpemU6IDFyZW07XG5cdFx0LyogNjBweCAtIDEwMHB4IHRvcCBhbmQgYm90dG9tICovXG5cdFx0LS1zZWN0aW9uUGFkZGluZzogY2xhbXAoMy43NXJlbSwgNy44MnZ3LCA2LjI1cmVtKSAxcmVtO1xuXG5cdFx0LS1oZWFkZXJGb250OiBcIlJvYm90b1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0XHQtLWJvZHlGb250OiBcIlJvYm90b1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0fVxuXG5cdGh0bWwsXG5cdGJvZHkge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHRmb250LWZhbWlseTogdmFyKC0tYm9keUZvbnQpO1xuXHRcdGZvbnQtc2l6ZTogMTAwJTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuXHR9XG5cblx0Kixcblx0KjpiZWZvcmUsXG5cdCo6YWZ0ZXIge1xuXHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQuY3MtdG9wcGVyIHtcblx0XHRmb250LXNpemU6IHZhcigtLXRvcHBlckZvbnRTaXplKTtcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0LmNzLXRpdGxlIHtcblx0XHRmb250LXNpemU6IHZhcigtLWhlYWRlckZvbnRTaXplKTtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdG1heC13aWR0aDogNDMuNzVyZW07XG5cdFx0bWFyZ2luOiAwIDAgMXJlbSAwO1xuXHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0LmNzLXRleHQge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tYm9keUZvbnRTaXplKTtcblx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDQwLjYyNXJlbTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuXHR9XG59XG5cbi8qIENvbXBvbmVudHMgKyBVdGlsaXRpZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdC8vIEhpZGRlbiBzY3JlZW4gcmVhZGVyIHNraXAgbmF2IGJ1dHRvblxuXHQuc2tpcCB7XG5cdFx0ei1pbmRleDogLTExMTExMTE7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQvLyBCdXR0b25zIC0gY2FuIGJlIHJlcGxhY2VkIHVzaW5nIENvZGVTdGl0Y2gncyBcIkJ1dHRvblwiIFN0aXRjaGVzLiBNYWtlIHN1cmUgdG8gY2xlYXIgdGhlIGRlZmF1bHQgLmNzLWJ1dHRvbi1zb2xpZC9vdXRsaW5lIHN0eWxlcyBmcm9tIGFueSBuZXcgc3RpdGNoZXMgeW91IHBsYWNlLlxuXHQuY3MtYnV0dG9uLXNvbGlkIHtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0cGFkZGluZzogKDE2LzE2cmVtKSAoMzIvMTZyZW0pO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRsaW5lLWhlaWdodDogKDE2LzE2ZW0pO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGJvcmRlci1yYWRpdXM6ICg0LzE2cmVtKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Ly8gVHJhbnNpdGlvbiBQcm9wZXJ0aWVzXG5cdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMC4zcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdC8vVHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG5cdFx0fVxuXHR9XG5cblx0LmNzLWJ1dHRvbi1vdXRsaW5lIHtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0cGFkZGluZzogKDE2LzE2cmVtKSAoMzIvMTZyZW0pO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRsaW5lLWhlaWdodDogKDE2LzE2ZW0pO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG5cblx0XHQvLyBUcmFuc2l0aW9uIFByb3BlcnRpZXNcblx0XHRjb2xvcjogIzAwMDtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0Ly9UcmFuc2l0aW9uIHByb3BlcnRpZXNcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHR9XG5cdH1cblxuXHQvLyBVdGlsaXRpZXMgLSBzbWFsbCBjbGFzc2VzIHVzZWZ1bCBpbiB2YXJpb3VzIGNvbW1vbiBzaXR1YXRpb25zXG5cdC5jcy1jb2xvciB7XG5cdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHR9XG5cblx0LmNzLWJvbGQge1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH1cblxuXHQuY3MtaGlkZS1vbi1tb2JpbGUge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdC5jcy1kYXJrLFxuXHQuZGFyayB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Ym9keS5kYXJrLW1vZGUge1xuXHRcdC5jcy1saWdodCxcblx0XHQubGlnaHQge1xuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdC5jcy1kYXJrLFxuXHRcdC5kYXJrIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LmNzLWJ1dHRvbi1vdXRsaW5lIHtcblx0XHRcdGJvcmRlci1jb2xvcjogI2ZmZjtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxufVxuXG4vKiBEZXNrdG9wIFV0aWxpdGllcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuXHQuY3MtaGlkZS1vbi1tb2JpbGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuY3MtaGlkZS1vbi1kZXNrdG9wIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLyogQmFzZSBFbGVtZW50IFN0eWxlcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0aDEsXG5cdGgyLFxuXHRoMyxcblx0aDQsXG5cdGg1LFxuXHRoNiB7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWhlYWRlckZvbnQpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHRjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuXHR9XG5cblx0cCxcblx0bGksXG5cdGEge1xuXHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdH1cblxuXHRwLFxuXHRsaSB7XG5cdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0fVxuXHR9XG5cblx0YSxcblx0YnV0dG9uIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdH1cblxuXHRib2R5LmRhcmstbW9kZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG5cblx0XHRwLFxuXHRcdGxpLFxuXHRcdGgxLFxuXHRcdGgyLFxuXHRcdGgzLFxuXHRcdGg0LFxuXHRcdGg1LFxuXHRcdGg2IHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxufVxuXG4vKiBGb250cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0Ly8gR3JhYiB5b3VyIGZvbnRzIHRvIGxvY2FsbHkgaG9zdCBmcm9tIGh0dHBzOi8vZ3dmaC5tcmFuZnRsLmNvbS9mb250c1xuXHQvKiByb2JvdG8tcmVndWxhciAtIGxhdGluICovXG5cdEBmb250LWZhY2Uge1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LWZhbWlseTogXCJSb2JvdG9cIjtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGZvbnQtZGlzcGxheTogc3dhcDtcblx0XHRzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqLyB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi9cblx0fVxuXG5cdC8qIHJvYm90by03MDAgLSBsYXRpbiAqL1xuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdFx0c3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqLyB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tNzAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xuXHR9XG5cblx0Lyogcm9ib3RvLTkwMCAtIGxhdGluICovXG5cdEBmb250LWZhY2Uge1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LWZhbWlseTogXCJSb2JvdG9cIjtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGZvbnQtZGlzcGxheTogc3dhcDtcblx0XHRzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tOTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrICovIHVybChcIi9hc3NldHMvZm9udHMvcm9ib3RvLXYyOS1sYXRpbi05MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICBEYXJrIE1vZGUgVG9nZ2xlICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0Ym9keS5kYXJrLW1vZGUge1xuXHRcdCNkYXJrLW1vZGUtdG9nZ2xlIHtcblx0XHRcdC5jcy1zdW4ge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdH1cblxuXHRcdFx0LmNzLW1vb24ge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTUwJSk7XG5cdFx0XHRcdGZpbGw6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I2RhcmstbW9kZS10b2dnbGUge1xuXHRcdHdpZHRoOiAoNDgvMTZyZW0pO1xuXHRcdGhlaWdodDogKDQ4LzE2cmVtKTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAoMTAvMTZyZW0pO1xuXHRcdHJpZ2h0OiAoNzAvMTZyZW0pO1xuXHRcdHotaW5kZXg6IDEwMDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdGltZyxcblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6ICgyMC8xNnJlbSk7XG5cdFx0XHRoZWlnaHQ6ICgyMC8xNnJlbSk7XG5cdFx0XHQvL2NlbnRlciBpbWFnZSBpbnNpZGUgYnV0dG9uXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLW1vb24ge1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdC8vIFRyYW5zaXRpb24gcHJvcGVydGllc1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zcztcblxuXHRcdFx0Ly8gZmlsbDogeWVsbG93OyAtLT4gdW5jb21tZW50IHRvIGNoYW5nZSB0aGUgY29sb3Igb2YgdGhlIG1vb24gaWYgbmVlZGVkXG5cdFx0fVxuXG5cdFx0LmNzLXN1biB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdC8vIFRyYW5zaXRpb24gcHJvcGVydHlcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zcztcblx0XHR9XG5cdH1cbn1cblxuLyogRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0I2RhcmstbW9kZS10b2dnbGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiBhdXRvO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0fVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgTW9iaWxlIE5hdmlnYXRpb24gICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDEwMjMuNXB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuNXB4KSB7XG5cdGJvZHkge1xuXHRcdCYuY3Mtb3BlbiB7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblx0fVxuXG5cdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHQvKiBwcmV2ZW50cyBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0cGFkZGluZzogKDEyLzE2cmVtKSAoMTYvMTZyZW0pO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym94LXNoYWRvdzogcmdiYSgxNDksIDE1NywgMTY1LCAwLjIpIDBweCA4cHggMjRweDtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0ei1pbmRleDogMTAwMDA7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHQvKiBibGFjayBibHVycmVkIG92ZXJsYXkgKi9cblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR6LWluZGV4OiAtMTE7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjVzLCBvcGFjaXR5IDAuM3M7XG5cdFx0XHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0XHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0XHR9XG5cblx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtdWwtd3JhcHBlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGkge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQuY3MtbG9nbyB7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAoMTQ2LzE2cmVtKTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG1hcmdpbjogMCBhdXRvIDAgMDtcblx0XHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR6LWluZGV4OiAxMDtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0LyogZW5zdXJlcyB0aGUgaW1hZ2UgbmV2ZXIgb3ZlcmZsb3dzIHRoZSBjb250YWluZXIuIEl0IHN0YXlzIGNvbnRhaW5lZCB3aXRoaW4gaXQncyB3aWR0aCBhbmQgaGVpZ2h0IGFuZCBleHBhbmRzIHRvIGZpbGwgaXQgdGhlbiBzdG9wcyBvbmNlIGl0IHJlYWNoZXMgYW4gZWRnZSAqL1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdFx0XHQvKiBwbGFjZXMgdGhlIGltYWdlIHRvIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIHBhcmVudCAqL1xuXHRcdFx0XHRvYmplY3QtcG9zaXRpb246IGxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLXRvZ2dsZSB7XG5cdFx0XHQvKiA0NHB4IC0gNDhweCAqL1xuXHRcdFx0d2lkdGg6IGNsYW1wKDIuNzVyZW0sIDZ2dywgM3JlbSk7XG5cdFx0XHRoZWlnaHQ6IGNsYW1wKDIuNzVyZW0sIDZ2dywgM3JlbSk7XG5cdFx0XHRtYXJnaW46IDAgMCAwIGF1dG87XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICg0LzE2cmVtKTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmNzLWFjdGl2ZSB7XG5cdFx0XHQuY3MtbGluZTEge1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDIyNWRlZyk7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saW5lMiB7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtMjI1ZGVnKTtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGluZTMge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRib3R0b206IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWJveCB7XG5cdFx0XHQvKiAyNHB4IC0gMjhweCAqL1xuXHRcdFx0d2lkdGg6IGNsYW1wKDEuNXJlbSwgMnZ3LCAxLjc1cmVtKTtcblx0XHRcdC8qIDE0cHggLSAxNnB4ICovXG5cdFx0XHRoZWlnaHQ6IGNsYW1wKDAuODc1cmVtLCAxLjV2dywgMXJlbSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmUge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmUxIHtcblx0XHRcdHRvcDogMDtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCB0b3AgMC4zcywgbGVmdCAwLjNzO1xuXHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAwLjdzO1xuXHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblx0XHRcdGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDtcblx0XHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jcy1saW5lMiB7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0dHJhbnNpdGlvbjogdG9wIDAuM3MsIGxlZnQgMC4zcywgdHJhbnNmb3JtIDAuNXM7XG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuN3M7XG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXHRcdFx0YW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuXHRcdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmUzIHtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHRyYW5zaXRpb246IGJvdHRvbSAwLjNzLCBvcGFjaXR5IDAuM3M7XG5cdFx0fVxuXG5cdFx0LmNzLXVsLXdyYXBwZXIge1xuXHRcdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCByZ2JhKDAsIDAsIDAsIDAuMikgMHB4IDhweCAyNHB4O1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bGVmdDogYXV0bztcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC4zcztcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcblx0XHR9XG5cblx0XHQuY3MtdWwge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtaW4td2lkdGg6IDQwJTtcblx0XHRcdGhlaWdodDogNjV2aDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdC8qIDI4cHggLSA0MHB4ICovXG5cdFx0XHRwYWRkaW5nOiAoNDgvMTZyZW0pIGNsYW1wKDEuNzVyZW0sIDN2dywgMi41cmVtKSAoMzIvMTZyZW0pICg3MC8xNnJlbSk7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRcdGdhcDogKDIwLzE2cmVtKTtcblx0XHRcdG92ZXJmbG93OiBzY3JvbGw7XG5cdFx0fVxuXG5cdFx0LmNzLWxpIHtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdC8qIHRyYW5zaXRpb24gZnJvbSB0aGVzZSB2YWx1ZXMgKi9cblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMi41cmVtKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBvcGFjaXR5IDAuOXM7XG5cblx0XHRcdCY6bnRoLW9mLXR5cGUoMSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMikge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSgzKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg0KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDUpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4yNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDYpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4zcztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNykge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoOCkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjRzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg5KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNDVzO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdC8qIDE2cHggLSAyNHB4ICovXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDFyZW0sIDIuNXZ3LCAxLjVyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogKDQvMTZyZW0pO1xuXHRcdFx0Y29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBhY3RpdmUgc3RhdGUgdW5kZXJsaW5lICovXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdFx0YmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTogKC0yLzE2cmVtKTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdH1cblxuXHRcdFx0Ji5jcy1hY3RpdmUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtYnV0dG9uLXNvbGlkIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi8qIERhcmsgTW9kZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjVweCkge1xuXHRib2R5LmRhcmstbW9kZSB7XG5cdFx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG5cblx0XHRcdC5jcy1sb2dvIHtcblx0XHRcdFx0LyogbWFrZXMgaXQgd2hpdGUgKi9cblx0XHRcdFx0ZmlsdGVyOiBncmF5c2NhbGUoMSkgYnJpZ2h0bmVzcygxMDAwJSk7XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saW5lIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdH1cblxuXHRcdFx0LmNzLXVsLXdyYXBwZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZWRpdW0pO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGktbGluayB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgTmF2aWdhdGlvbiBEcm9wZG93biAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDEwMjMuNXB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjMuNXB4KSB7XG5cdCNjcy1uYXZpZ2F0aW9uIHtcblx0XHQuY3MtZHJvcGRvd24ge1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC5jcy1kcm9wZG93bi10b2dnbGUge1xuXHRcdFx0XHQvKiBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMgKi9cblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRcdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHQvKiBSZW1vdmUgYW55IGRlZmF1bHQgZm9jdXMgc3R5bGVzICovXG5cdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHRcdC5jcy1kcm9wLXVsIHtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0bWFyZ2luOiAoMTIvMTZyZW0pIDAgMCAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6ICgyNC8xNnJlbSk7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY3MtZHJvcC1saW5rIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1saS1saW5rIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtaWNvbiB7XG5cdFx0XHR3aWR0aDogKDE1LzE2cmVtKTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0cmlnaHQ6ICgtMjAvMTZyZW0pO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdH1cblxuXHRcdC5jcy1kcm9wLXVsIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6IDAgKDI0LzE2cmVtKSAwICgyNC8xNnJlbSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRcdGdhcDogKDEyLzE2cmVtKTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDApO1xuXHRcdFx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjNzLCBtYXJnaW4gMC4zcywgaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3MsIHZpc2liaWxpdHkgMC4zcztcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcblx0XHR9XG5cblx0XHQuY3MtZHJvcC1saSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHR9XG5cblx0XHQuY3MtbGktbGluayB7XG5cdFx0XHQmLmNzLWRyb3AtbGluayB7XG5cdFx0XHRcdC8qIDE0cHggLSAxNnB4ICovXG5cdFx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMC44NzVyZW0sIDJ2dywgMS4yNXJlbSk7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjY3MtbmF2aWdhdGlvbiB7XG5cdFx0LmNzLWRyb3Bkb3duIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0LmNzLWRyb3Bkb3duLXRvZ2dsZSB7XG5cdFx0XHRcdC8qIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxlcyAqL1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdC8qIFJlbW92ZSBhbnkgZGVmYXVsdCBmb2N1cyBzdHlsZXMgKi9cblx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHQuY3MtZHJvcC11bCB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNzLWRyb3AtbGkge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtaWNvbiB7XG5cdFx0XHR3aWR0aDogKDE1LzE2cmVtKTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQuY3MtZHJvcC11bCB7XG5cdFx0XHRtaW4td2lkdGg6ICgyMDAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRib3gtc2hhZG93OiByZ2JhKDE0OSwgMTU3LCAxNjUsIDAuMikgMHB4IDEwcHggMTZweDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiA1cHggc29saWQgdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHQvKiBpZiB5b3UgaGF2ZSA4IG9yIG1vcmUgbGlua3MgaW4geW91ciBkcm9wZG93biBuYXYsIHVuY29tbWVudCB0aGUgY29sdW1ucyBwcm9wZXJ0eSB0byBtYWtlIHRoZSBsaXN0IGludG8gMiBldmVuIGNvbHVtbnMuIENoYW5nZSBpdCB0byAzIG9yIDQgaWYgeW91IG5lZWQgZXh0cmEgY29sdW1ucy4gVGhlbiByZW1vdmUgdGhlIHRyYW5zaXRpb24gZGVsYXlzIG9uIHRoZSBjcy1kcm9wLWxpIHNvIHRoZXkgZG9uJ3QgaGF2ZSB3ZWlyZCBzY2F0dGVyZWQgYW5pbWF0aW9ucyAqL1xuXHRcdFx0Ly8gY29sdW1uczogMjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdHotaW5kZXg6IC0xMDA7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVkoMCk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgdmlzaWJpbGl0eSAwLjNzLCBvcGFjaXR5IDAuM3M7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG5cdFx0fVxuXG5cdFx0LmNzLWRyb3AtbGkge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjYyNXJlbSk7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMsIHRyYW5zZm9ybSAwLjZzO1xuXG5cdFx0XHQmOm50aC1vZi10eXBlKDEpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDIpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xcztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMykge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoNCkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg1KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtb2YtdHlwZSg2KSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDcpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4zNXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDgpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC40cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoOSkge1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMTApIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC41cztcblx0XHRcdH1cblx0XHRcdCY6bnRoLW9mLXR5cGUoMTEpIHtcblx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC41NXM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDEyKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDEzKSB7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuNjVzO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1saS1saW5rIHtcblx0XHRcdCYuY3MtZHJvcC1saW5rIHtcblx0XHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdHBhZGRpbmc6ICgxMi8xNnJlbSk7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0XHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBEYXJrIE1vZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdGJvZHkuZGFyay1tb2RlIHtcblx0XHQjY3MtbmF2aWdhdGlvbiB7XG5cdFx0XHQuY3MtZHJvcC11bCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmspO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3MtbGktbGluayB7XG5cdFx0XHRcdCYuY3MtZHJvcC1saW5rIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZWRpdW0pO1xuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jcy1kcm9wLWljb24ge1xuXHRcdFx0XHQvKiB0dXJucyBpdCB3aGl0ZSAqL1xuXHRcdFx0XHRmaWx0ZXI6IGdyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDEwMDAlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgIERlc2t0b3AgTmF2aWdhdGlvbiAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBTbWFsbCBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQjY3MtbmF2aWdhdGlvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0LyogcHJldmVudHMgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHBhZGRpbmc6IDAgKDE2LzE2cmVtKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdGJveC1zaGFkb3c6IHJnYmEoMTQ5LCAxNTcsIDE2NSwgMC4yKSAwcHggOHB4IDI0cHg7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHotaW5kZXg6IDEwMDAwO1xuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAoMjQvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy10b2dnbGUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuY3MtbG9nbyB7XG5cdFx0XHR3aWR0aDogMTguNCU7XG5cdFx0XHRtYXgtd2lkdGg6ICgzNTAvMTZyZW0pO1xuXHRcdFx0aGVpZ2h0OiAoNjUvMTZyZW0pO1xuXHRcdFx0LyogbWFyZ2luLXJpZ2h0IGF1dG8gcHVzaGVzIGV2ZXJ5dGhpbmcgYXdheSBmcm9tIGl0IHRvIHRoZSByaWdodCAqL1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gMCAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR6LWluZGV4OiAxMDA7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdC8qIGVuc3VyZXMgdGhlIGltYWdlIG5ldmVyIG92ZXJmbG93cyB0aGUgY29udGFpbmVyLiBJdCBzdGF5cyBjb250YWluZWQgd2l0aGluIGl0J3Mgd2lkdGggYW5kIGhlaWdodCBhbmQgZXhwYW5kcyB0byBmaWxsIGl0IHRoZW4gc3RvcHMgb25jZSBpdCByZWFjaGVzIGFuIGVkZ2UgKi9cblx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtdWwge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHQvKiAyMHB4IC0gMzZweCAqL1xuXHRcdFx0Z2FwOiBjbGFtcCgxLjI1cmVtLCAyLjZ2dywgMi4yNXJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLWxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAoMzIvMTZyZW0pIDA7XG5cdFx0XHQvKiBwcmV2ZW50IGZsZXhib3ggZnJvbSBzcXVpc2hpbmcgaXQgKi9cblx0XHRcdGZsZXg6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0LyogMTRweCAtIDE2cHggKi9cblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMC44NzVyZW0sIDF2dywgMXJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5jcy1hY3RpdmUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBhY3RpdmUgc3RhdGUgdW5kZXJsaW5lICovXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAwJTtcblx0XHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206ICgwLzE2cmVtKTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogRGFyayBNb2RlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHRib2R5LmRhcmstbW9kZSB7XG5cdFx0I2NzLW5hdmlnYXRpb24ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG5cblx0XHRcdC5jcy1sb2dvIHtcblx0XHRcdFx0LyogbWFrZXMgaXQgdHVybiB3aGl0ZSAqL1xuXHRcdFx0XHRmaWx0ZXI6IGdyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDEwMDAlKTtcblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdH1cblxuXHRcdFx0LmNzLWxpLWxpbmsge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeUxpZ2h0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgICBCYW5uZXIgICAgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHQjYmFubmVyLTMxMCB7XG5cdFx0LyogMTQ0cHggLSAyNTJweCAqL1xuXHRcdHBhZGRpbmctdG9wOiBjbGFtcCg5cmVtLCAyNXZ3LCAxNS43NXJlbSk7XG5cdFx0LyogODBweCAtIDE0MHB4ICovXG5cdFx0cGFkZGluZy1ib3R0b206IGNsYW1wKDVyZW0sIDEzdncsIDguNzVyZW0pO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0fVxuXG5cdFx0LmNzLWludC10aXRsZSB7XG5cdFx0XHQvKiAzOXB4IC0gNDlweCAqL1xuXHRcdFx0Zm9udC1zaXplOiBjbGFtcCgyLjQzNzVyZW0sIDQuNXZ3LCAzLjA2MjVyZW0pO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1heC13aWR0aDogKDcwMC8xNnJlbSk7XG5cdFx0XHRtYXJnaW46IDAgYXV0byAoMTIvMTZyZW0pO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0LmNzLWJyZWFkY3J1bWJzIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmNzLWxpbmsge1xuXHRcdFx0LyogMTRweCAtIDE2cHggKi9cblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMC44NzVyZW0sIDEuNXZ3LCAxcmVtKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHQvKiByZW1vdmUgdGhlIGNoZXZyb24gb24gdGhlIGxhc3QgbGlzdCBpdGVtICovXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHQvKiBjaGV2cm9uIC0gYWRkZWQgYXMgcHNldWRvIHRvIG1ha2UgYWRkaW5nIGFuZCByZW1vdmluZyB0aGVtIGVhc2llciAqL1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogKDcvMTZyZW0pO1xuXHRcdFx0XHRoZWlnaHQ6ICgxMi8xNnJlbSk7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAoMTIvMTZyZW0pO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6ICgxMi8xNnJlbSk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvc3Zncy9jaGV2cm9uLnN2Z1wiKTtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHR9XG5cblx0XHRcdCYuY3MtYWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnlMaWdodCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWJhY2tncm91bmQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR6LWluZGV4OiAtMTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiBibGFjayBvdmVybGF5IGJveCAqL1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjcyO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICAgICBDVEEgICAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0I2N0YS01MSB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2VjdGlvblBhZGRpbmcpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdC8qIDQ4cHggLSA2NHB4ICovXG5cdFx0XHRnYXA6IGNsYW1wKDNyZW0sIDZ2dywgNHJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRlbnQge1xuXHRcdFx0Lyogc2V0IHRleHQgYWxpZ24gdG8gbGVmdCBpZiBjb250ZW50IG5lZWRzIHRvIGJlIGxlZnQgYWxpZ25lZCAqL1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdC8qIGNlbnRlcnMgY29udGVudCBob3Jpem9udGFsbHksIHNldCB0byBmbGV4LXN0YXJ0IHRvIGxlZnQgYWxpZ24gKi9cblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmNzLXRpdGxlIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdH1cblxuXHRcdC5jcy10ZXh0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206ICgxNi8xNnJlbSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogKDMyLzE2cmVtKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtcGljdHVyZSB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0LyogYmxhY2sgY29sb3Igb3ZlcmxheSAqL1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdH1cblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgICBGb290ZXIgICAgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHQjY3MtZm9vdGVyLTI3NSB7XG5cdFx0cGFkZGluZzogdmFyKC0tc2VjdGlvblBhZGRpbmcpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG5cblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0LyogcmVzZXQgb24gdGFibGV0ICovXG5cdFx0XHRtYXgtd2lkdGg6ICg1NTAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0Y29sdW1uLWdhcDogKDg4LzE2cmVtKTtcblx0XHRcdHJvdy1nYXA6ICgzMi8xNnJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28tZ3JvdXAge1xuXHRcdFx0LyogdGFrZXMgdXAgYWxsIHRoZSBzcGFjZSwgbGV0cyB0aGUgb3RoZXIgdWwncyB3cmFwIGJlbG93IGl0ICovXG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cblx0XHQuY3MtbG9nbyB7XG5cdFx0XHQvKiAyMTBweCAtIDI0MHB4ICovXG5cdFx0XHR3aWR0aDogY2xhbXAoMTMuMTI1cmVtLCA4dncsIDE1cmVtKTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0LyogMjhweCAtIDQ0cHggKi9cblx0XHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNzVyZW0sIDQuMTd2dywgMi43NXJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28taW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXG5cdFx0XHQmLmRhcmsge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy10ZXh0IHtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogKDE2LzE2cmVtKTtcblx0XHR9XG5cblx0XHQuY3Mtc29jaWFsIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdGdhcDogKDEyLzE2cmVtKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdC5jcy1zb2NpYWwtbGluayB7XG5cdFx0XHR3aWR0aDogKDI0LzE2cmVtKTtcblx0XHRcdGhlaWdodDogKDI0LzE2cmVtKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM0ZTRiNjY7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMTg3NXJlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLXNvY2lhbC1pbWcge1xuXHRcdFx0aGVpZ2h0OiAoMTMvMTZyZW0pO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHQvKiBOYXZpZ2F0aW9uIExpbmtzICovXG5cdFx0LmNzLW5hdiB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdC5jcy1uYXYtbGkge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206ICgxNi8xNnJlbSk7XG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWhlYWRlciB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogKDMyLzE2cmVtKTtcblx0XHRcdFx0aGVpZ2h0OiAoNC8xNnJlbSk7XG5cdFx0XHRcdG1hcmdpbjogKDE2LzE2cmVtKSBhdXRvICgyNC8xNnJlbSkgMDtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLW5hdi1saW5rIHtcblx0XHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdC8qIHVuZGVybGluZSAqL1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHR3aWR0aDogMCU7XG5cdFx0XHRcdGhlaWdodDogKDIvMTZyZW0pO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRib3R0b206ICgtMi8xNnJlbSk7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvKiBDb250YWN0IExpbmtzICovXG5cdFx0LmNzLWNvbnRhY3Qge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHdpZHRoOiAzNSU7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3QtbGkge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206ICgwLzE2cmVtKTtcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtY29udGFjdC1saW5rIHtcblx0XHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1hZGRyZXNzIHtcblx0XHRcdGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcblx0XHRcdG1hcmdpbi1ib3R0b206ICgyMC8xNnJlbSk7XG5cdFx0fVxuXHR9XG59XG5cbi8qIFRhYmxldCAtIDc2OHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG5cdCNjcy1mb290ZXItMjc1IHtcblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuXHRcdFx0cm93LWdhcDogMDtcblx0XHR9XG5cblx0XHQuY3MtY29udGFjdCB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0XHR9XG5cblx0XHQuY3MtY29udGFjdC1saSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG59XG5cbi8qIFNtYWxsIERlc2t0b3AgLSAxMDI0cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcblx0I2NzLWZvb3Rlci0yNzUge1xuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0LyogcHVzaGVzIGFsbCBmbGV4IGNoaWxkcmVuIHRvIHRoZSB0b3AgKi9cblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHR9XG5cblx0XHQuY3MtbG9nby1ncm91cCB7XG5cdFx0XHQvKiBwdXNoZXMgZXZlcnl0aGluZyB0byB0aGUgcmlnaHQgb2YgaXQgYXMgZmFyIGFzIHBvc3NpYmxlIGluIGEgZmxleGJveCAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6ICgzMDUvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy10ZXh0IHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jcy1zb2NpYWwge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogYXV0bztcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdC5jcy1jb250YWN0IHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxufVxuIl19 */