/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/extensions/solr_search.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.shadow-md {
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
}

/**
 * Solr Search Active Filters Component
 * Provides styling for the active filter display (filter chips/badges) in the Solr search interface
 */

/* aleo-600 - latin */

@font-face {
  font-display: swap;
  font-family: "Aleo";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.6cdcaa41.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* rooney 600 - latin */

@font-face {
  font-display: swap;
  font-family: "Rooney";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.3ef60b2e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* calibri font family */

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: normal;
  src: url(/build/fonts/300.9baa67f0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: italic;
  src: url(/build/fonts/300i.cf87dc54.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: normal;
  src: url(/build/fonts/400.551fd9d5.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: italic;
  src: url(/build/fonts/400i.7fd7e2cf.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: normal;
  src: url(/build/fonts/700.4308169e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: italic;
  src: url(/build/fonts/700i.740267d0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/**
 * Font family definitions for consistent usage across the project
 * These variables can be used in any file that imports this module
 */

.font-primary {
  font-family: "Rooney", serif;
}

.font-secondary {
  font-family: "Calibri", sans-serif, sans-serif;
}

/**
 * Solr Search Results Component
 * Styling for search result items and metadata
 */

/**
 * Solr Search Suggest/Autocomplete Component
 * Styling for search suggestions dropdown
 */

/**
 * Universal pagination component mixin
 * Provides complete styling for paginated content navigation
 */

.solr-search__wrapper {
  min-height: 50vh;
}

.solr-search__skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  padding: 0.5rem 1rem;
  background-color: var(--color-primary, #009ddf);
  color: var(--color-white, #ffffff);
  z-index: 100;
}

.solr-search__skip-link:focus {
  top: 0;
}

.solr-search__title {
  margin-bottom: 2rem;
  color: var(--color-primary, #009ddf);
}

.solr-search__form-wrapper {
  margin-bottom: 2rem;
  background-color: var(--color-jfe-gray, #f3f3f2);
  padding: 2rem 0;
}

.solr-search__form-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 1024px) {
  .solr-search__form-inner {
    flex-direction: row;
    align-items: flex-end;
  }
}

.solr-search__input-group {
  flex: 1;
  display: flex;
  gap: 0;
  align-items: flex-end;
}

.solr-search__label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.solr-search__input-wrapper {
  position: relative;
  width: 100%;
}

.solr-search__input {
  width: 100%;
  height: 50px;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-black, #000000);
  border-radius: 0;
  font-size: 1rem;
  background-color: var(--color-white, #ffffff);
}

.solr-search__input:hover, .solr-search__input:focus-visible {
  border-color: var(--color-primary, #009ddf);
  outline: none;
}

@media (min-width: 1024px) {
  .solr-search__button-group {
    flex-shrink: 0;
  }
}

.solr-search__submit {
  width: 50px;
  height: 50px;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-black, #000000);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.1s ease;
}

.solr-search__submit:hover, .solr-search__submit:focus-visible {
  background-color: var(--color-secondary, #ffcc00);
  outline: none;
  border-bottom: 1px solid var(--color-primary, #009ddf);
}

.solr-search__submit-text {
  margin-right: 0.5rem;
}

.solr-search__submit-icon {
  font-size: 1.5rem;
}

.solr-search__content {
  padding: 2rem 0;
}

.solr-search__dropdown {
  position: relative;
  margin-bottom: 1rem;
}

@media (min-width: 1024px) {
  .solr-search__dropdown {
    margin-bottom: 0;
  }
}

.solr-search__dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 1rem;
  background-color: var(--color-white, #ffffff);
  border-bottom: 1px solid var(--color-black, #000000);
  border-radius: 0;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

@media (min-width: 1024px) {
  .solr-search__dropdown-toggle {
    min-width: 250px;
  }
}

.solr-search__dropdown-toggle:hover, .solr-search__dropdown-toggle:focus-visible {
  background-color: var(--color-secondary, #ffcc00);
  border-color: var(--color-primary, #009ddf);
  outline: none;
}

.solr-search__dropdown-toggle.is-expanded .solr-search__dropdown-icon {
  transform: rotate(180deg);
}

.solr-search__dropdown-label {
  flex-grow: 1;
  text-align: left;
}

.solr-search__dropdown-counter {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.5rem;
  margin-left: 0.5rem;
  background-color: var(--color-secondary, #ffcc00);
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 700;
}

.solr-search__dropdown-counter.visible {
  display: flex;
}

.solr-search__dropdown-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 0.5rem;
  transition: transform 0.2s ease;
}

.solr-search__dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-black, #000000);
  border-top: 3px solid var(--color-primary, #009ddf);
  border-radius: 0;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  z-index: 100;
  max-height: 400px;
  overflow-y: auto;
}

.solr-search__dropdown-menu.is-expanded {
  display: block;
}

@media (min-width: 1024px) {
  .solr-search__dropdown-menu {
    min-width: 350px;
  }
}

.solr-search__dropdown-option-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.solr-search__dropdown-option-item {
  border-bottom: 1px solid var(--color-jfe-gray, #f3f3f2);
}

.solr-search__dropdown-option-item:last-child {
  border-bottom: none;
}

.solr-search__dropdown-option {
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 0.75rem 1rem;
  background-color: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 1rem;
}

.solr-search__dropdown-option:hover, .solr-search__dropdown-option:focus-visible {
  background-color: var(--color-jfe-gray, #f3f3f2);
  outline: none;
}

.solr-search__dropdown-option.is-selected {
  background-color: var(--color-jfe-gray, #f3f3f2);
}

.solr-search__option-checkbox {
  min-width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--color-black, #000000);
  border-radius: 0;
  margin-right: 0.75rem;
  margin-top: 0.125rem;
  position: relative;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.solr-search__option-checkbox::before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.5rem;
  border-left: 2px solid var(--color-primary, #009ddf);
  border-bottom: 2px solid var(--color-primary, #009ddf);
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.solr-search__option-checkbox--checked::before {
  opacity: 1;
}

.solr-search__option-text {
  flex-grow: 1;
  line-height: 1.5;
}

.solr-search__option-count {
  font-size: 0.875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  margin-left: 0.25rem;
}

.solr-search__dropdown-actions {
  padding: 1rem;
  border-top: 1px solid var(--color-jfe-gray, #f3f3f2);
  background-color: var(--color-jfe-gray, #f3f3f2);
}

.solr-search__dropdown-apply {
  width: 100%;
  padding: 0.75rem 1.5rem;
  background-color: var(--color-primary, #009ddf);
  color: var(--color-white, #ffffff);
  border: none;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.solr-search__dropdown-apply:hover, .solr-search__dropdown-apply:focus-visible {
  background-color: rgb(0, 121.0941704036, 172);
  outline: 2px solid var(--color-black, #000000);
  outline-offset: 2px;
}

@media (min-width: 1024px) {
  .solr-search__filter-groups {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
  }
}

.solr-search__filter-section {
  background-color: var(--color-jfe-gray, #f3f3f2);
  padding: 0;
}

.solr-search__filter-form {
  width: 100%;
}

.solr-search__filter-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: stretch;
}

@media (min-width: 1024px) {
  .solr-search__filter-content {
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
  }
}

.solr-search__filter-submit {
  width: 100%;
  padding: 0.75rem 1.5rem;
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  border: none;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

@media (min-width: 1024px) {
  .solr-search__filter-submit {
    width: auto;
    min-width: 180px;
  }
}

.solr-search__filter-submit:hover, .solr-search__filter-submit:focus-visible {
  background-color: #ffcc00;
  outline: 2px solid var(--color-black, #000000);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .solr-search__dropdown-toggle, .solr-search__dropdown-icon, .solr-search__option-checkbox {
    transition: none;
  }
}

.solr-search__active-filters-container {
  background-color: var(--color-jfe-almost-white, #fafafa);
  padding: 1rem;
  margin-bottom: 1.5rem;
  border-radius: 0;
}

.solr-search__active-filters-header {
  margin-bottom: 0.75rem;
}

.solr-search__active-filters-label {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-black, #000000);
}

.solr-search__active-filters-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.solr-search__active-filter-item {
  display: inline-flex;
}

.solr-search__active-filter-item--clear-all .solr-search__active-filter-remove-all {
  background-color: var(--color-jfe-gray, #f3f3f2);
}

.solr-search__active-filter-remove, .solr-search__active-filter-remove-all {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  border: none;
  border-radius: 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.solr-search__active-filter-remove:hover, .solr-search__active-filter-remove-all:hover {
  opacity: 0.85;
}

.solr-search__active-filter-remove:focus-visible, .solr-search__active-filter-remove-all:focus-visible {
  outline: 2px solid var(--color-black, #000000);
  outline-offset: 2px;
}

.solr-search__active-filter-text {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.solr-search__active-filter-facet-name {
  font-weight: 700;
}

.solr-search__active-filter-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

.solr-search__metadata {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}

.solr-search__query-info {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}

.solr-search__query-label {
  color: var(--color-black, #000000);
}

.solr-search__query-term {
  color: var(--color-black, #000000);
  font-weight: 600;
}

.solr-search__results-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.solr-search__results-count {
  font-size: 1.25rem;
}

.solr-search__count-text {
  color: var(--color-black, #000000);
}

.solr-search__per-page {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.solr-search__per-page-form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.solr-search__per-page-label {
  font-size: 1.25rem;
  white-space: nowrap;
}

.solr-search__per-page-select {
  padding: 0.375rem 2rem 0.375rem 0.75rem;
  border-bottom: 2px solid var(--color-black, #000000);
  border-radius: 0;
  font-size: 1.25rem;
  background-color: var(--color-white, #ffffff);
  font-family: "Rooney", serif;
  cursor: pointer;
}

.solr-search__per-page-select:hover {
  border-color: var(--color-primary, #009ddf);
}

.solr-search__per-page-select:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}

.solr-search__results {
  margin-bottom: 3rem;
}

.solr-search__results-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.solr-search__results-item {
  margin-bottom: 0;
  opacity: 0;
  animation: fadeInUp 0.4s ease forwards;
}

.solr-search__results-item::before {
  content: none;
}

.solr-search__results-item:nth-child(1) {
  animation-delay: 0.05s;
}

.solr-search__results-item:nth-child(2) {
  animation-delay: 0.1s;
}

.solr-search__results-item:nth-child(3) {
  animation-delay: 0.15s;
}

.solr-search__results-item:nth-child(4) {
  animation-delay: 0.2s;
}

.solr-search__results-item:nth-child(5) {
  animation-delay: 0.25s;
}

.solr-search__results-item:nth-child(6) {
  animation-delay: 0.3s;
}

.solr-search__results-item:nth-child(7) {
  animation-delay: 0.35s;
}

.solr-search__results-item:nth-child(8) {
  animation-delay: 0.4s;
}

.solr-search__results-item:nth-child(9) {
  animation-delay: 0.45s;
}

.solr-search__results-item:nth-child(10) {
  animation-delay: 0.5s;
}

.solr-search__results-item:nth-child(11) {
  animation-delay: 0.55s;
}

.solr-search__results-item:nth-child(12) {
  animation-delay: 0.6s;
}

.solr-search__results-item:nth-child(13) {
  animation-delay: 0.65s;
}

.solr-search__results-item:nth-child(14) {
  animation-delay: 0.7s;
}

.solr-search__results-item:nth-child(15) {
  animation-delay: 0.75s;
}

.solr-search__results-item:nth-child(16) {
  animation-delay: 0.8s;
}

.solr-search__results-item:nth-child(17) {
  animation-delay: 0.85s;
}

.solr-search__results-item:nth-child(18) {
  animation-delay: 0.9s;
}

.solr-search__results-item:nth-child(19) {
  animation-delay: 0.95s;
}

.solr-search__results-item:nth-child(20) {
  animation-delay: 1s;
}

.solr-search__document {
  background-color: var(--color-white, #ffffff);
  border: none;
  transition: all 0.2s ease;
}

.solr-search__document:hover {
  transform: translateY(-2px);
}

.solr-search__document--program-erasmus-youth {
  border-left-color: var(--color-e-jugend-blue, #003399);
}

.solr-search__document--program-erasmus-sport {
  border-left-color: var(--color-e-sport-orange, #e3530f);
}

.solr-search__document--program-esc {
  border-left-color: var(--color-esk-magenta, #e5006c);
}

.solr-search__document--program-europeers, .solr-search__document--program-salto, .solr-search__document--program-default {
  border-left-color: var(--color-primary, #009ddf);
}

.solr-search__document-header {
  margin-bottom: 1rem;
}

.solr-search__document-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  font-size: 1rem;
}

.solr-search__document-type, .solr-search__document-date, .solr-search__program-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.solr-search__document-type {
  gap: 0.75rem;
}

.solr-search__document-date {
  border-left: 3px solid var(--color-jfe-yellow, #ffcc00);
  padding-left: 1rem;
}

.solr-search__document-date--end {
  border: none;
  padding: 0;
}

.solr-search__document-icon, .solr-search__date-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-jfe-yellow, #ffcc00);
  border-radius: 50%;
  font-size: 1.5rem;
}

.solr-search__program-badge {
  padding: 0.125rem 0.5rem;
  background-color: var(--color-jfe-gray, #f3f3f2);
  border-radius: 0;
  font-weight: 600;
  font-size: 0.75rem;
}

.solr-search__document-content {
  margin-bottom: 1rem;
}

.solr-search__document-title {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.solr-search__document-link {
  color: var(--color-black, #000000);
  text-decoration: none;
  transition: underline 0.2s ease;
}

.solr-search__document-link:hover {
  text-decoration: underline;
}

.solr-search__document-link:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  text-decoration: underline;
}

.solr-search__document-link mark,
.solr-search__document-link em {
  background-color: var(--color-jfe-yellow, #ffcc00);
  font-weight: 600;
  font-style: normal;
  padding: 0.125rem 0.25rem;
}

.solr-search p.solr-search__document-abstract {
  color: var(--color-black, #000000);
  line-height: 1.5;
  margin-bottom: 0;
}

.solr-search p.solr-search__document-abstract:last-of-type {
  margin-bottom: 0;
}

.solr-search p.solr-search__document-abstract mark,
.solr-search p.solr-search__document-abstract em,
.solr-search p.solr-search__document-abstract .hit {
  background-color: var(--color-jfe-yellow, #ffcc00);
  font-weight: 600;
  font-style: normal;
  padding: 0.125rem 0.25rem;
}

.solr-search__document-footer {
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--color-jfe-gray-medium, #CFCFCF);
  margin-bottom: 1rem;
}

.solr-search__document-details {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
}

.solr-search__document-detail-value {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.solr-search__document-detail {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 1rem;
}

.solr-search__document-detail dt {
  font-weight: 600;
}

.solr-search__document-detail dd {
  margin: 0;
}

.solr-search__detail-icon {
  font-size: 1rem;
}

.solr-search__document-filetype {
  padding: 0.125rem 0.5rem;
  background-color: var(--color-jfe-gray, #f3f3f2);
  border-radius: 0;
  font-weight: 600;
  text-transform: uppercase;
}

.solr-search__no-results {
  text-align: center;
  padding: 3rem 1rem;
  background-color: var(--color-jfe-gray, #f3f3f2);
  border-radius: 0;
}

.solr-search__no-results-content {
  max-width: 600px;
  margin: 0 auto;
}

.solr-search__no-results-title {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}

.solr-search__no-results-text {
  margin-bottom: 1.5rem;
  color: var(--color-black, #000000);
}

.solr-search__no-results-suggestion {
  font-size: 0.875rem;
  margin-bottom: 2rem;
}

.solr-search__no-results-tips {
  text-align: left;
  padding: 1.5rem;
  background-color: var(--color-white, #ffffff);
  border-radius: 0;
}

.solr-search__tips-title {
  font-size: 1.125rem;
  margin-bottom: 1rem;
}

.solr-search__tips-list {
  list-style: disc;
  padding-left: 1.5rem;
  margin: 0;
}

.solr-search__tips-item {
  margin-bottom: 0.5rem;
}

.solr-search__tips-item::before {
  content: none;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .solr-search__results-item {
    animation: none;
    opacity: 1;
  }
  .solr-search__document {
    transition: none;
  }
  .solr-search__document:hover {
    transform: none;
  }
}

.solr-search__suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 400px;
  overflow-y: auto;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-black, #000000);
  border-top: 3px solid var(--color-primary, #009ddf);
  border-radius: 0 0 0 0;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  z-index: 100;
}

.solr-search__suggestions.is-hidden {
  display: none;
}

.solr-search__suggestions.is-visible {
  display: block;
}

.solr-search__suggestions-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.solr-search__suggestions-group {
  padding: 0.75rem 1rem;
  background-color: var(--color-jfe-gray, #f3f3f2);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.solr-search__suggestions-item {
  margin-bottom: 0;
}

.solr-search__suggestions-item::before {
  content: none;
}

.solr-search__suggestions-item:not(:last-child) {
  border-bottom: 1px solid var(--color-jfe-gray-medium, #CFCFCF);
}

.solr-search__suggestions-item-content {
  display: block;
  padding: 0.75rem 1rem;
  color: var(--color-black, #000000);
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.solr-search__suggestions-item:hover .solr-search__suggestions-item-content, .solr-search__suggestions-item.is-active .solr-search__suggestions-item-content {
  background-color: var(--color-jfe-gray, #f3f3f2);
}

.solr-search__suggestions-item:focus {
  outline: none;
}

.solr-search__suggestions-item:focus-visible .solr-search__suggestions-item-content {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: -2px;
}

.solr-search__suggestions-item--document .solr-search__suggestions-item-content {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.solr-search__suggestions-highlight {
  font-weight: 600;
  background-color: var(--color-jfe-yellow, #ffcc00);
  padding: 0.125rem 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
  .solr-search__suggestions-item-content {
    transition: none;
  }
}

.solr-search__pagination {
  margin: 2rem 0;
}

@media (min-width: 1024px) {
  .solr-search__pagination {
    margin: 3rem 0;
  }
}

.solr-search__pagination-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

.solr-search ul.solr-search__pagination-list {
  display: flex;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
  gap: 0.25rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

@media (min-width: 640px) {
  .solr-search ul.solr-search__pagination-list {
    gap: 0.5rem;
  }
}

.solr-search li.solr-search__pagination-item {
  margin: 0;
}

.solr-search li.solr-search__pagination-item::before {
  content: none;
  background-color: transparent;
}

.solr-search li.solr-search__pagination-item--current .solr-search__pagination-link {
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  border-color: var(--color-secondary, #ffcc00);
  font-weight: 600;
}

.solr-search li.solr-search__pagination-item--current .solr-search__pagination-link:hover {
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  transform: none;
  cursor: default;
}

.solr-search li.solr-search__pagination-item--previous .solr-search__pagination-link, .solr-search li.solr-search__pagination-item--next .solr-search__pagination-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
}

@media (min-width: 640px) {
  .solr-search li.solr-search__pagination-item--previous .solr-search__pagination-link, .solr-search li.solr-search__pagination-item--next .solr-search__pagination-link {
    gap: 0.5rem;
    padding: 0.75rem 1rem;
  }
}

.solr-search li.solr-search__pagination-item--disabled .solr-search__pagination-link {
  background-color: var(--color-jfe-almost-white, #fafafa);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  border-color: var(--color-jfe-almost-white, #fafafa);
  cursor: not-allowed;
}

.solr-search li.solr-search__pagination-item--disabled .solr-search__pagination-link:hover {
  background-color: var(--color-jfe-almost-white, #fafafa);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  transform: none;
}

.solr-search a.solr-search__pagination-link,
.solr-search span.solr-search__pagination-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem;
  background-color: var(--color-white, #ffffff);
  color: var(--color-black, #000000);
  border: 3px solid transparent;
  border-radius: 0;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 640px) {
  .solr-search a.solr-search__pagination-link,
  .solr-search span.solr-search__pagination-link {
    padding: 0.75rem;
    font-size: 1rem;
  }
}

.solr-search a.solr-search__pagination-link:hover:not(.solr-search a.solr-search__pagination-link--disabled,
.solr-search span.solr-search__pagination-link--disabled):not(.solr-search a.solr-search__pagination-link--current,
.solr-search span.solr-search__pagination-link--current),
.solr-search span.solr-search__pagination-link:hover:not(.solr-search a.solr-search__pagination-link--disabled,
.solr-search span.solr-search__pagination-link--disabled):not(.solr-search a.solr-search__pagination-link--current,
.solr-search span.solr-search__pagination-link--current) {
  background-color: transparent;
  border: 3px solid var(--color-black, #000000);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.solr-search a.solr-search__pagination-link:focus-visible,
.solr-search span.solr-search__pagination-link:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}

.solr-search a.solr-search__pagination-link:active:not(.solr-search a.solr-search__pagination-link--disabled,
.solr-search span.solr-search__pagination-link--disabled):not(.solr-search a.solr-search__pagination-link--current,
.solr-search span.solr-search__pagination-link--current),
.solr-search span.solr-search__pagination-link:active:not(.solr-search a.solr-search__pagination-link--disabled,
.solr-search span.solr-search__pagination-link--disabled):not(.solr-search a.solr-search__pagination-link--current,
.solr-search span.solr-search__pagination-link--current) {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.solr-search a.solr-search__pagination-link--current,
.solr-search span.solr-search__pagination-link--current {
  cursor: default;
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  border-color: var(--color-secondary, #ffcc00);
  font-weight: 600;
}

.solr-search a.solr-search__pagination-link--disabled,
.solr-search span.solr-search__pagination-link--disabled {
  cursor: not-allowed;
  background-color: var(--color-jfe-almost-white, #fafafa);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  border-color: var(--color-jfe-almost-white, #fafafa);
}

.solr-search a.solr-search__pagination-link--previous .solr-search__pagination-text,
.solr-search span.solr-search__pagination-link--previous .solr-search__pagination-text {
  order: 2;
}

.solr-search a.solr-search__pagination-link--previous .solr-search__pagination-icon,
.solr-search span.solr-search__pagination-link--previous .solr-search__pagination-icon {
  order: 1;
}

.solr-search a.solr-search__pagination-link--next .solr-search__pagination-text,
.solr-search span.solr-search__pagination-link--next .solr-search__pagination-text {
  order: 1;
}

.solr-search a.solr-search__pagination-link--next .solr-search__pagination-icon,
.solr-search span.solr-search__pagination-link--next .solr-search__pagination-icon {
  order: 2;
}

.solr-search__pagination-number {
  font-weight: inherit;
}

.solr-search__pagination-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.solr-search__pagination-icon {
  font-size: 1.25rem;
  line-height: 1;
}

.solr-search__pagination-item--ellipsis .solr-search__pagination-link--ellipsis {
  cursor: default;
}

.solr-search__pagination-item--ellipsis .solr-search__pagination-link--ellipsis:hover {
  transform: none;
  box-shadow: none;
  border-color: transparent;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

@media (max-width: 639px) {
  .solr-search__pagination-container {
    padding: 0 1rem;
  }
  .solr-search__pagination-list {
    gap: 0.125rem;
  }
  .solr-search__pagination-link {
    min-width: 40px;
    min-height: 40px;
    padding: 0.375rem;
    font-size: 0.875rem;
  }
}

@media print {
  .solr-search__pagination {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solr-search__pagination-link {
    transition: none;
  }
  .solr-search__pagination-link:hover:not(.solr-search__pagination-link--disabled):not(.solr-search__pagination-link--current) {
    transform: none;
    box-shadow: none;
  }
  .solr-search__pagination-link:active:not(.solr-search__pagination-link--disabled):not(.solr-search__pagination-link--current) {
    transform: none;
    box-shadow: none;
  }
}

@media (forced-colors: active) {
  .solr-search__pagination-link {
    border: 2px solid currentColor;
  }
  .solr-search__pagination-link--current {
    background-color: Highlight;
    color: HighlightText;
    border-color: Highlight;
  }
  .solr-search__pagination-link--disabled {
    border-color: GrayText;
    color: GrayText;
  }
}

.solr-search__pagination-link:focus {
  z-index: 1;
  position: relative;
}

.sr-only,
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

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