/* src/main/frontend/css/badges.css */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius-full);
  line-height: var(--line-height-none);
  background-color: var(--color-text-primary);
  color: var(--color-text-inverse);
  box-sizing: border-box;
}
.button .badge {
  margin-left: calc(-1 * var(--space-xs));
}
.button--primary .badge {
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
}
.member-role-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: var(--line-height-tight);
  border: var(--border-width-sm) solid transparent;
}
.member-role-badge--admin {
  background: var(--color-error-bg);
  border-color: var(--color-error-border);
  color: var(--color-error-text);
}
.member-role-badge--mod {
  background: var(--color-info-bg);
  border-color: var(--color-info-border);
  color: var(--color-info-text);
}
.member-role-badge--captain {
  background: var(--color-warning-bg);
  border-color: var(--color-warning-border);
  color: var(--color-warning-text);
}
.member-role-badge--student,
.member-role-badge--student-mod {
  background: var(--color-team-bg);
  border-color: var(--color-team-border);
  color: var(--color-team-text-dark);
}
.member-role-badge--member {
  background: var(--color-bg-card);
  border-color: var(--color-border-subtle);
  color: var(--color-text-secondary);
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-sm);
  border: var(--border-width-sm) solid currentColor;
  background: transparent;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.2px;
  line-height: var(--line-height-none);
}
.status-badge i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  flex-shrink: 0;
}
.status-badge i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.status-value {
  text-transform: capitalize;
  font-weight: var(--font-weight-bold);
}
.status-success,
.status-green {
  color: var(--color-success);
}
.status-success i::before,
.status-green i::before {
  content: "\f00c";
}
.status-warning {
  color: var(--color-warning);
}
.status-warning i::before {
  content: "\f071";
}
.status-unknown,
.status-gray {
  color: var(--color-text-secondary);
}
.status-unknown i::before,
.status-gray i::before {
  content: "\f05a";
}
.status-processing {
  color: var(--color-primary);
}
.status-processing i::before {
  content: "\f1ce";
}
.status-open {
  color: var(--color-success);
}
.status-open i::before {
  content: "\f3c1";
}
.status-closed {
  color: var(--color-error);
}
.status-closed i::before {
  content: "\f023";
}
.status-official i::before {
  content: "\f00c";
}
.status-online i::before {
  content: "\f0ac";
}
.status-live {
  color: var(--color-error);
}
.status-live i::before {
  content: "\f001";
}
.status-active {
  color: var(--color-success);
}
.status-active i::before {
  content: "\f00c";
}
.status-inactive {
  color: var(--color-text-secondary);
}
.status-inactive i::before {
  content: "\f05e";
}
.status-sponsored i::before {
  content: "\f1cd";
}
.status-banned {
  color: var(--color-error);
}
.status-banned i::before {
  content: "\f05e";
}
.status-admin,
.status-moderator,
.status-student,
.status-student-moderator,
.status-captain,
.status-user,
.status-team,
.status-country,
.status-joined,
.status-sponsored,
.status-online,
.status-official {
  color: var(--color-text-secondary);
}
.status-admin i::before {
  content: "\f4fe";
}
.status-moderator i::before {
  content: "\f508";
}
.status-student i::before {
  content: "\f19d";
}
.status-student-moderator i::before {
  content: "\f508";
}
.status-captain i::before {
  content: "\f4fe";
}
.status-user i::before {
  content: "\f007";
}
.status-team i::before {
  content: "\f0c0";
}
.status-country i::before {
  content: "\f024";
}
.status-joined i::before {
  content: "\f073";
}
.status-joined .status-value {
  text-transform: none;
}
a.status-badge,
a.status-badge:link,
a.status-badge:visited {
  text-decoration: none;
  cursor: pointer;
}
a.status-badge:hover,
a.status-badge:active {
  text-decoration: none;
  opacity: 0.85;
}
.status-badge:is(.status-admin, .status-moderator, .status-student, .status-student-moderator, .status-captain, .status-user, .status-team, .status-country, .status-joined, .status-sponsored, .status-online, .status-official):is(:link, :visited, :hover, :active) {
  color: var(--color-text-secondary);
}
.cooling-air-stock {
  color: var(--color-text-secondary);
}
.cooling-air-stock i::before {
  content: "\f72e";
}
.cooling-air-custom {
  color: var(--color-success);
}
.cooling-air-custom i::before {
  content: "\f72e";
}
.cooling-water-custom {
  color: var(--color-primary);
}
.cooling-water-custom i::before {
  content: "\f043";
}
.cooling-aio-water {
  color: var(--color-accent);
}
.cooling-aio-water i::before {
  content: "\f043";
}
.cooling-water-chilled-cold {
  color: var(--color-primary);
}
.cooling-water-chilled-cold i::before {
  content: "\f2dc";
}
.cooling-dry-ice {
  color: var(--color-text-secondary);
}
.cooling-dry-ice i::before {
  content: "\f1b2";
}
.cooling-single-stage-phase-change {
  color: var(--color-primary);
}
.cooling-single-stage-phase-change i::before {
  content: "\f2dc";
}
.cooling-cascade-phase-change {
  color: var(--color-primary);
}
.cooling-cascade-phase-change i::before {
  content: "\f2dc";
}
.cooling-liquid-nitrogen {
  color: var(--color-link-hover);
}
.cooling-liquid-nitrogen i::before {
  content: "\f0c3";
}
.cooling-liquid-helium {
  color: var(--color-text-secondary);
}
.cooling-liquid-helium i::before {
  content: "\f7a6";
}
.league-elite {
  color: var(--color-warning);
}
.league-elite i::before {
  content: "\f521";
}
.league-extreme {
  color: var(--color-error);
}
.league-extreme i::before {
  content: "\f06d";
}
.league-apprentice {
  color: var(--color-link-hover);
}
.league-apprentice i::before {
  content: "\f0d0";
}
.league-enthusiast {
  color: var(--color-primary);
}
.league-enthusiast i::before {
  content: "\f0e7";
}
.league-novice {
  color: var(--color-success);
}
.league-novice i::before {
  content: "\f4d8";
}
.league-rookie {
  color: var(--color-text-secondary);
}
.league-rookie i::before {
  content: "\f19d";
}
.ref-review {
  color: var(--color-primary);
}
.ref-review i::before {
  content: "\f1e5";
}
.ref-news,
.ref-press,
.ref-roundup,
.ref-static-content {
  color: var(--color-text-secondary);
}
.ref-news i::before,
.ref-press i::before,
.ref-roundup i::before,
.ref-static-content i::before {
  content: "\f1ea";
}
.ref-discussion {
  color: var(--color-primary);
}
.ref-discussion i::before {
  content: "\f086";
}
.ref-rule {
  color: var(--color-warning);
}
.ref-rule i::before {
  content: "\f06a";
}
.ref-esports {
  color: var(--color-error);
}
.ref-esports i::before {
  content: "\f2db";
}
.partner-icon {
  color: var(--color-warning-star);
  font-size: var(--font-size-xs);
  margin-right: var(--space-2xs);
  vertical-align: middle;
}
a:is(:hover, :focus, :active) .partner-icon {
  color: var(--color-warning-star);
}

/* src/main/frontend/css/navigation.css */
.navigation {
  display: flex;
  flex-direction: row;
  width: 100%;
  background: var(--color-bg-dark);
  text-transform: capitalize;
}
.nav {
  position: relative;
  display: flex;
  width: 100%;
  font-family: var(--font-heading);
}
.nav__dropdown {
  position: relative;
}
.nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  padding: var(--space-sm) 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  z-index: var(--z-index-dropdown);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    opacity var(--transition-base),
    transform var(--transition-base),
    visibility var(--transition-base);
}
.nav__dropdown--open .nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.nav__dropdown-header {
  padding: var(--space-md) var(--space-lg);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  background: var(--color-bg-hover);
}
.nav__dropdown-user {
  display: block;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav__dropdown-item,
.nav__dropdown-item:visited {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
  text-decoration: none;
}
.nav__dropdown-item i {
  width: 16px;
  text-align: center;
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible) i {
  color: var(--color-text-primary);
}
.nav__dropdown-divider {
  height: 1px;
  background: var(--color-border-light);
  margin: var(--space-xs) 0;
}
.nav__dropdown-item--logout,
.nav__dropdown-item--logout:visited {
  color: var(--color-error);
}
.nav__dropdown-item--logout i {
  color: var(--color-error);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible, :active) {
  background: var(--color-error-bg);
  color: var(--color-error-text);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible) i {
  color: var(--color-error-text);
}
.nav__overlay {
  display: none;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 23, 0.7);
  backdrop-filter: blur(2px);
  z-index: var(--z-index-backdrop);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-base), visibility var(--transition-base);
}
.nav__drawer {
  width: 100%;
}
.nav__drawer-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-lg);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
}
.nav__drawer-title {
  color: var(--color-text-white);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.nav__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  color: var(--color-text-inverse);
  cursor: pointer;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__close:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-white);
}
.nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__item {
  position: relative;
}
.nav__link,
.nav__link:link,
.nav__link:visited {
  display: flex;
  align-items: center;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-white);
  text-decoration: none;
}
.nav__link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.nav__sub-toggle {
  display: none;
}
.nav__sub {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__sub-link,
.nav__sub-link:link,
.nav__sub-link:visited {
  display: block;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__sub-link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-inverse);
  text-decoration: none;
}
.nav__item--cta {
  display: flex;
  align-items: center;
}
.nav__link--cta {
  gap: var(--space-sm);
}
.nav__link--cta i {
  color: var(--color-accent);
  transition: color var(--transition-base);
}
.nav__link--cta:is(:hover, :focus-visible) i {
  color: var(--color-highlight);
}
@media screen and (min-width: 1201px) {
  .nav__list {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
  }
  .nav__item--cta {
    margin-left: auto;
  }
  .nav__item--has-sub > .nav__link-row > .nav__link::after {
    content: "";
    display: inline-block;
    margin-left: var(--space-sm);
    vertical-align: middle;
    border-top: var(--border-width-lg) solid var(--color-accent);
    border-right: var(--border-width-lg) solid transparent;
    border-left: var(--border-width-lg) solid transparent;
    transition: transform var(--transition-base), border-top-color var(--transition-base);
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__link-row > .nav__link::after {
    transform: rotate(180deg);
    border-top-color: var(--color-highlight);
  }
  .nav__sub {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    padding: var(--space-sm) 0;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-light);
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-index-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition:
      opacity var(--transition-base),
      transform var(--transition-base),
      visibility var(--transition-base);
  }
  .nav__sub::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    height: 6px;
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .header,
  .navigation {
    grid-column: 1 / -1;
  }
  .header {
    display: block;
    width: 100%;
  }
  .header__top-bar {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto auto;
    gap: var(--space-md) var(--space-xl);
    align-items: center;
    padding: var(--space-sm) var(--space-lg);
    box-sizing: border-box;
    width: 100%;
  }
  .header .logo-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    position: relative;
    z-index: 1000;
    white-space: nowrap;
  }
  .header .patreon {
    font-size: var(--font-size-3xl);
  }
  .header .patreon a,
  .header .patreon a:link,
  .header .patreon a:visited {
    color: var(--color-bg-dark);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
  .header .patreon a:is(:hover, :focus-visible, :active) {
    color: var(--color-link);
  }
  .header .global-search-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header .partner-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    justify-content: center;
    color: var(--color-text-muted);
    font-family: var(--font-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
  }
  .header .partner-wrapper .platinum-partner img {
    height: var(--partner-logo-height);
    max-height: 28px;
    display: block;
  }
  .header .account-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    font-family: var(--font-heading);
    margin-left: auto;
  }
  .header .account-wrapper .grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    text-align: center;
  }
  .header .account-wrapper .grid i {
    font-size: var(--header-icon-size);
    line-height: 1;
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .header .account-wrapper .grid .header-avatar-img--desktop {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-circle);
    object-fit: cover;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-sizing: border-box;
  }
  .header .account {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--space-2xs);
  }
  .header .account li {
    color: var(--color-text-muted);
    padding: var(--space-s) var(--space-sm);
  }
  .header .account a,
  .header .account a:link,
  .header .account a:visited {
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
  .header .account a:hover,
  .header .account a:active {
    color: var(--color-text-white);
    text-decoration: none;
  }
}
@media screen and (max-width: 1200px) {
  .navigation {
    display: contents;
  }
  .nav__overlay {
    display: block;
  }
  .nav--open .nav__overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .nav__drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 85vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--color-bg-dark);
    z-index: var(--z-index-drawer);
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: none;
    transform: translateX(-100%);
    will-change: transform;
    transition: transform var(--transition-smooth);
  }
  .nav--open .nav__drawer {
    transform: translateX(0);
  }
  .nav__drawer-header {
    display: flex;
  }
  .nav__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: var(--space-sm) 0 var(--space-2xl) 0;
  }
  .nav__link-row {
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.05);
  }
  .nav__link,
  .nav__link:link,
  .nav__link:visited {
    flex: 1;
    padding: var(--space-lg);
  }
  .nav__link-row:is(:hover, :focus-within),
  .nav__link:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-text-white);
  }
  .nav__sub-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: transparent;
    border: none;
    color: var(--color-accent);
    cursor: pointer;
    transition: background var(--transition-base), color var(--transition-base);
  }
  .nav__sub-toggle:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-highlight);
  }
  .nav__item--open .nav__sub-toggle i {
    transform: rotate(180deg);
    color: var(--color-highlight);
  }
  .nav__sub {
    display: none;
    padding: var(--space-xs) 0;
    background: rgba(0, 0, 0, 0.2);
  }
  .nav__item--open .nav__sub {
    display: block;
  }
  .nav__sub-link,
  .nav__sub-link:link,
  .nav__sub-link:visited {
    padding: var(--space-md) var(--space-lg) var(--space-md) var(--space-2xl);
    color: var(--color-text-inverse);
  }
  .nav__sub-link:is(:hover, :focus-visible, :active) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-text-white);
  }
  .nav__link--cta {
    justify-content: center;
    text-align: center;
    width: 100%;
  }
  .header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: var(--color-bg-dark);
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  }
  .header__top-bar {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-xs) var(--space-md);
    width: 100%;
    box-sizing: border-box;
    min-height: 52px;
  }
  .header .logo-wrapper {
    display: flex;
    align-items: center;
  }
  .header .logo img {
    height: 28px;
    width: auto;
    display: block;
  }
  .header__mobile-actions {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .header__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: rgba(255, 255, 255, 0.08);
    border: var(--border-width-sm) solid rgba(255, 255, 255, 0.15);
    border-radius: var(--border-radius-circle);
    color: var(--color-text-inverse);
    cursor: pointer;
    user-select: none;
    transition:
      background var(--transition-base),
      border-color var(--transition-base),
      color var(--transition-base);
  }
  .header__action-btn:is(:hover, :focus-visible),
  .nav__dropdown--open .header__action-btn--account {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.35);
    color: var(--color-text-white);
  }
  .header__action-btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }
  .header__action-btn i {
    font-size: var(--font-size-base);
    line-height: 1;
  }
  .header-avatar-img {
    width: 32px;
    height: 32px;
    border-radius: var(--border-radius-circle);
    object-fit: cover;
    display: block;
  }
  .partner-wrapper--mobile {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-xs) var(--space-sm);
    width: 100%;
    box-sizing: border-box;
    padding: 6px var(--space-md);
    background: rgba(0, 0, 0, 0.25);
    border-top: var(--border-width-sm) solid rgba(255, 255, 255, 0.08);
    font-family: var(--font-heading);
    font-size: var(--font-size-2xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    overflow: hidden;
    max-height: 48px;
    opacity: 1;
    transform: translateY(0);
    transition:
      max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      opacity 0.22s ease,
      padding 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      border-top-width 0.28s ease;
  }
  .partner-wrapper--mobile .platinum-partner img {
    height: 20px;
    width: auto;
    display: block;
  }
  .header--partner-hidden .partner-wrapper--mobile {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-width: 0;
    transform: translateY(-8px);
    pointer-events: none;
  }
}

/* src/main/frontend/css/search.css */
html.search-open,
body.search-open {
  overflow: hidden;
  overflow-x: hidden;
  overscroll-behavior: none;
  touch-action: none;
}
.global-search-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 23, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: var(--z-index-backdrop);
  overscroll-behavior: none;
  touch-action: none;
}
.global-search,
.global-search-wrapper {
  position: relative;
}
.global-search-button {
  font-size: var(--font-size-lg);
}
.global-search-autocomplete {
  font-size: var(--font-size-sm);
  background: var(--color-bg-navy);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.global-search-autocomplete-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-navy);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.08);
  color: var(--color-text-muted);
}
.global-search-header-tools {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.global-search-spinner {
  display: inline-flex;
  align-items: center;
  color: var(--color-accent);
}
.global-search-content {
  box-sizing: border-box;
  padding: var(--space-sm) var(--space-md) var(--space-xl);
  background-color: var(--color-bg-dark);
}
.global-search-content .category-header {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--border-radius-sm);
  color: var(--color-border-dashed);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.global-search-content .category-header i {
  color: var(--color-highlight);
}
.global-search-content .category-badge {
  margin-left: auto;
  padding: var(--space-2xs) var(--space-sm);
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--border-radius-full);
  color: var(--color-text-white);
}
.global-search-content .search-item-list {
  box-sizing: border-box;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: var(--space-xs) 0 0;
}
.global-search-content .search-item {
  box-sizing: border-box;
  width: 100%;
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.06);
}
.global-search-content .search-item:last-child {
  border-bottom: none;
}
.global-search-content .item-link,
.global-search-content .item-link:link,
.global-search-content .item-link:visited {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 25px;
  padding: var(--space-md);
  color: var(--color-text-inverse);
  text-decoration: none;
  border-radius: var(--border-radius-xs);
  transition:
    background-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
  overflow: hidden;
}
.global-search-content .item-name {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.global-search-content .item-link:hover,
.global-search-content .item-link:focus,
.global-search-content .item-link:active,
.global-search-content .item-link.is-active {
  background-color: rgba(255, 255, 255, 0.12);
  color: var(--color-text-white);
  outline: none;
}
.global-search-content .item-arrow {
  flex-shrink: 0;
  margin-left: var(--space-sm);
  color: var(--color-text-secondary);
  transition: color var(--transition-fast), transform var(--transition-fast);
}
.global-search-content .item-link:is(:hover, :focus, :active, .is-active) .item-arrow {
  color: var(--color-accent);
  transform: translateX(3px);
}
.global-search-content .search-empty-state,
.global-search-content .search-prompt-state {
  box-sizing: border-box;
  width: 100%;
  padding: 40px var(--space-lg);
  text-align: center;
  color: var(--color-text-muted);
}
.global-search-content .empty-icon,
.global-search-content .prompt-icon {
  margin-bottom: var(--space-md);
  color: var(--color-text-secondary);
}
.global-search-content .prompt-icon {
  color: var(--color-highlight);
}
.global-search-content .empty-title,
.global-search-content .prompt-title {
  margin-bottom: var(--space-sm);
  color: var(--color-text-inverse);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
}
.global-search-content .empty-subtitle,
.global-search-content .prompt-subtitle {
  box-sizing: border-box;
  display: block;
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
@media screen and (min-width: 1201px) {
  .global-search {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
  }
  .global-search-input-group {
    display: flex;
    align-items: center;
  }
  .global-search input[type=text],
  .global-search input[type=search],
  .global-search-input,
  .global-search button[type=submit],
  .global-search-button {
    position: relative;
    z-index: 1000;
    height: 40px;
    box-sizing: border-box;
  }
  .global-search input[type=text],
  .global-search input[type=search],
  .global-search-input {
    width: 280px;
    padding: 0 var(--space-lg);
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-right: none;
    border-radius: var(--border-radius-full) 0 0 var(--border-radius-full);
    background-color: var(--color-bg-dark);
    color: var(--color-text-white);
    outline: none;
    transition:
      width var(--transition-base),
      border-color var(--transition-base),
      background-color var(--transition-base);
  }
  .global-search input[type=text]::placeholder,
  .global-search input[type=search]::placeholder,
  .global-search-input::placeholder {
    color: var(--color-text-muted);
  }
  .global-search input[type=text]:focus,
  .global-search input[type=search]:focus,
  .global-search-input:focus {
    width: 380px;
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
  }
  .global-search button[type=submit],
  .global-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    padding: 0 var(--space-lg) 0 var(--space-md);
    margin: 0;
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-left: none;
    border-radius: 0 var(--border-radius-full) var(--border-radius-full) 0;
    background-color: var(--color-bg-dark);
    color: var(--color-text-muted);
    font-size: var(--font-size-lg);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    vertical-align: top;
    transition:
      background-color var(--transition-base),
      border-color var(--transition-base),
      color var(--transition-base);
  }
  .global-search:hover .global-search-input,
  .global-search:hover .global-search-button {
    border-color: rgba(255, 255, 255, 0.2);
  }
  .global-search button[type=submit]:hover,
  .global-search-button:hover,
  .global-search button[type=submit]:focus-visible,
  .global-search-button:focus-visible {
    background-color: var(--color-bg-hover-dark);
    border-color: rgba(56, 189, 248, 0.5);
    color: var(--color-accent);
  }
  .global-search:focus-within .global-search-input {
    border-color: rgba(56, 189, 248, 0.5);
  }
  .global-search:focus-within .global-search-button {
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--color-accent);
  }
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    top: 75px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    max-width: 92vw;
    z-index: var(--z-index-modal);
    border-radius: var(--border-radius);
    border: var(--border-width-sm) solid rgba(255, 255, 255, 0.12);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
  }
  .global-search-autocomplete-header {
    padding: var(--space-md) var(--space-lg);
    background-color: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    color: var(--color-text-inverse);
  }
  .global-search-desktop-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .global-search-autocomplete-header .button,
  .global-search-desktop-action .button {
    padding: var(--space-xs) var(--space-sm);
    border: none;
    background: transparent;
    color: var(--color-text-white);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    transition: color var(--transition-base), transform var(--transition-base);
  }
  .global-search-autocomplete-header .button:hover,
  .global-search-desktop-action .button:hover {
    background: transparent;
    color: var(--color-text-primary);
  }
  .global-search-content .search-results-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-lg);
    align-items: start;
    max-height: 70vh;
    overflow-y: auto;
  }
  .global-search-content .search-category-group {
    width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1200px) {
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    max-width: 100%;
    height: 100%;
    height: 100dvh;
    border: none;
    border-radius: 0;
    box-shadow: none;
    z-index: var(--z-index-modal);
    background: var(--color-bg-navy);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    overscroll-behavior-x: none;
    touch-action: pan-y;
  }
  .global-search-autocomplete {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    min-height: 100dvh;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--color-bg-navy);
    overflow-x: hidden;
    touch-action: pan-y;
  }
  .global-search-autocomplete-header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: max(var(--space-md), env(safe-area-inset-top, 12px)) max(var(--space-md), env(safe-area-inset-right, 12px)) var(--space-md) max(var(--space-md), env(safe-area-inset-left, 12px));
    background: var(--color-bg-navy);
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
  .global-search-mobile-action {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .global-search-mobile-action .button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    flex-shrink: 0;
  }
  .global-search-mobile-action .button:active {
    color: var(--color-accent);
  }
  .global-search-mobile-action .global-search-spinner {
    color: var(--color-accent);
    margin-right: var(--space-xs);
    flex-shrink: 0;
  }
  .global-search-mobile-action input.input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 var(--space-lg);
    border: var(--border-width-sm) solid var(--color-border-dark);
    border-radius: var(--border-radius);
    background: var(--color-bg-navy);
    color: var(--color-text-inverse);
    font-size: 16px;
    outline: none;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
  }
  .global-search-mobile-action input.input:focus {
    border-color: var(--color-accent);
  }
  .global-search-content {
    flex: 1;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    padding: var(--space-md) max(var(--space-md), env(safe-area-inset-right, 12px)) max(var(--space-2xl), env(safe-area-inset-bottom, 32px)) max(var(--space-md), env(safe-area-inset-left, 12px));
    touch-action: pan-y;
  }
  .global-search-content .search-results-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  .global-search-content .search-category-group {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
}

/* src/main/frontend/css/vote.css */
.vote-cell {
  position: relative;
  white-space: nowrap;
}
.vote-cell .vote-pill {
  font-size: var(--font-size-sm);
}
.vote-widget {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.vote-pill {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius-lg);
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition-fast);
}
.vote-pill:hover {
  border-color: var(--color-highlight);
}
.vote-pill__btn {
  background: none;
  border: none;
  padding: var(--space-xs) var(--space-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-primary);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}
.vote-pill__btn:hover {
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-pill__action.has-voted {
  color: var(--color-highlight);
}
.vote-pill__action--disabled {
  opacity: 0.6;
  cursor: pointer;
}
.vote-pill__divider {
  width: 1px;
  height: 14px;
  background-color: var(--color-border-light);
  margin: 0 1px;
}
.vote-pill__count {
  font-weight: var(--font-weight-bold);
}
.vote-pill__caret {
  font-size: var(--font-size-3xs);
  opacity: 0.7;
}
.vote-dropdown-menu {
  position: fixed;
  min-width: 180px;
  max-width: 240px;
  max-height: 220px;
  overflow-y: auto;
  font-size: var(--font-size-xs);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  z-index: var(--z-index-dropdown);
  text-align: left;
}
.vote-popover-header {
  padding: var(--space-sm) var(--space-md);
  font-weight: var(--font-weight-bold);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.vote-popover-list {
  list-style: none;
  margin: 0;
  padding: var(--space-xs) 0;
}
.vote-popover-item {
  padding: 0;
}
.vote-user-link {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.vote-user-link:hover {
  background-color: var(--color-bg-hover);
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-user-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.vote-popover-empty,
.vote-loading,
.vote-popover-error {
  padding: var(--space-md);
  color: var(--color-text-muted);
  text-align: center;
}

/* src/main/frontend/css/youtube.css */
.youtube-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-md);
  background:
    radial-gradient(
      circle at center,
      var(--color-bg-dark) 0%,
      var(--color-bg-navy) 100%);
  color: var(--color-text-inverse);
  font-family: var(--font-base);
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.youtube-placeholder:hover {
  box-shadow: var(--shadow-md);
}
.youtube-placeholder__icon {
  font-size: 3rem;
  line-height: 1;
  color: var(--color-error);
  transition: transform var(--transition-fast), color var(--transition-fast);
}
.youtube-placeholder:hover .youtube-placeholder__icon {
  transform: scale(1.1);
}
.youtube-placeholder__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-white);
}
.youtube-placeholder__notice {
  font-size: var(--font-size-xs);
  color: var(--color-text-inverse-muted);
  max-width: 260px;
  line-height: var(--line-height-snug);
}

/* src/main/frontend/css/style.css */
:root {
  --color-bg-gradient-start: #5091DD;
  --color-bg-gradient-end: #030617;
  --color-bg-main: #F4F7F8;
  --color-bg-surface: #FFFFFF;
  --color-bg-card: #f8fafc;
  --color-bg-hover: #f1f5f9;
  --color-bg-hover-dark: #36454F;
  --color-bg-dark: #36454F;
  --color-bg-navy: #030617;
  --color-text-primary: #36454F;
  --color-text-heading: #0f172a;
  --color-text-secondary: #64748b;
  --color-text-muted: #94a3b8;
  --color-text-inverse: #F4F7F8;
  --color-text-inverse-muted: #DCDCDC;
  --color-text-white: #ffffff;
  --color-border-light: #E5E5E5;
  --color-border-subtle: #e2e8f0;
  --color-border-dashed: #cbd5e1;
  --color-border-standard: lightgray;
  --color-border-dark: #36454F;
  --border-width-sm: 1px;
  --border-width-md: 2px;
  --border-width-lg: 4px;
  --border-width-xl: 5px;
  --border-radius-xs: 4px;
  --border-radius-sm: 6px;
  --border-radius: 8px;
  --border-radius-lg: 16px;
  --border-radius-full: 9999px;
  --border-radius-circle: 50%;
  --color-primary: #0284c7;
  --color-primary-hover: #0369a1;
  --color-accent: #38bdf8;
  --color-highlight: #60a5fa;
  --color-link: #1d4ed8;
  --color-link-hover: #1e40af;
  --color-link-underline: rgba(29, 78, 216, 0.35);
  --color-success: #16a34a;
  --color-success-bg: #f0fdf4;
  --color-success-border: #bbf7d0;
  --color-success-text: #166534;
  --color-warning: #d97706;
  --color-warning-bg: #fffbeb;
  --color-warning-border: #fde68a;
  --color-warning-text: #92400e;
  --color-warning-star: #eab308;
  --color-error: #dc2626;
  --color-error-bg: #fef2f2;
  --color-error-border: #fecaca;
  --color-error-text: #991b1b;
  --color-info-bg: #eff6ff;
  --color-info-border: #bfdbfe;
  --color-info-text: #1e40af;
  --color-team: #7c3aed;
  --color-team-bg: #f5f3ff;
  --color-team-border: #ddd6fe;
  --color-team-text: #7c3aed;
  --color-team-text-dark: #5b21b6;
  --color-pos-first: #FFD700;
  --color-pos-second: #C0C0C0;
  --color-pos-third: #CD7F32;
  --color-pos-four-five: #AABFC9;
  --pos-marker-width: 4px;
  --rank-pos-min-width: 26px;
  --avatar-size-sm: 22px;
  --header-icon-size: 15px;
  --partner-logo-height: 30px;
  --space-2xs: 2px;
  --space-xs: 4px;
  --space-s: 6px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --font-heading:
    "PillGothic300mgBold",
    "Lucida Grande",
    Helvetica,
    Arial,
    sans-serif;
  --font-base: Arial, sans-serif;
  --font-mono:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  --font-size-3xs: 0.625rem;
  --font-size-2xs: 0.6875rem;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.8125rem;
  --font-size-md: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 25px 60px rgba(0, 0, 0, 0.5);
  --transition-fast: 0.15s ease;
  --transition-base: 0.2s ease;
  --transition-smooth: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --layout-max-width: 2000px;
  --sidebar-min-width: 260px;
  --modal-width-sm: 480px;
  --modal-width-md: 600px;
  --modal-width-lg: 800px;
  --modal-width-xl: 1200px;
  --z-index-table-sticky: 2;
  --z-index-table-sticky-head: 3;
  --z-index-sticky-header: 10;
  --z-index-loading-overlay: 20;
  --z-index-dropdown: 500;
  --z-index-backdrop: 990;
  --z-index-drawer: 1000;
  --z-index-modal: 1050;
}
html {
  font-family: var(--font-base);
  background:
    radial-gradient(
      ellipse at bottom,
      var(--color-bg-gradient-start) 0%,
      var(--color-bg-gradient-end) 100%) no-repeat fixed;
  color: var(--color-text-primary);
}
body {
  font-size: var(--font-size-base);
  display: grid;
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
p {
  margin: var(--space-xs) 0;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-heading);
  color: var(--color-text-primary);
  margin: var(--space-lg) 0 var(--space-md) 0;
}
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5 {
  color: var(--color-text-inverse);
}
a,
a:link,
a:visited {
  color: var(--color-link);
  text-decoration: none;
}
a:hover,
a:active {
  color: var(--color-link-hover);
  text-decoration: underline;
}
.font-bold {
  font-weight: var(--font-weight-bold);
}
.font-muted {
  color: var(--color-text-primary);
}
.text-center {
  text-align: center;
}
.hidden {
  display: none !important;
}
input[type=submit],
input[type=file],
select {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=password],
input[type=text],
input[type=email] {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=submit],
input[type=file],
input[type=password],
input[type=text],
input[type=email],
select {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
}
input[type=checkbox] {
  margin: 0;
}
table {
  font-size: var(--font-size-sm);
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  width: 100%;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  overflow: hidden;
}
table thead {
  font-family: var(--font-heading);
  color: var(--color-bg-surface);
  text-transform: none;
}
table thead tr th,
table thead tr td {
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
}
table thead a,
table thead a:is(:link, :visited, :hover, :active, :focus, :focus-visible) {
  color: var(--color-text-inverse);
  text-decoration-color: currentColor;
}
table tbody tr th,
table tbody tr td {
  padding: var(--space-sm) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
table tbody tr:last-child td {
  border-bottom: none;
}
table tbody tr:hover {
  background-color: var(--color-bg-hover);
  transition: background-color var(--transition-fast);
}
table tbody tr:nth-child(odd) {
  background-color: var(--color-bg-hover);
}
.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.sticky-table table {
  overflow: visible;
}
.sticky-table table thead tr:first-child th:first-child,
.sticky-table table thead tr:first-child td:first-child {
  border-top-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table thead tr:first-child th:last-child,
.sticky-table table thead tr:first-child td:last-child {
  border-top-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:first-child,
.sticky-table table tbody tr:last-child td:first-child {
  border-bottom-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:last-child,
.sticky-table table tbody tr:last-child td:last-child {
  border-bottom-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table--compare table thead h3 {
  color: var(--color-text-inverse);
  margin: var(--space-xs);
}
.sticky-table--compare table td {
  background-color: var(--color-bg-surface);
}
.sticky-table--compare table tbody tr td:nth-child(even) {
  background-color: var(--color-bg-hover);
}
.sticky-table--compare table thead tr th {
  background-color: var(--color-bg-dark);
  color: var(--color-text-white);
  border-right: var(--border-width-sm) solid var(--color-border-light);
}
.sticky-table table thead th.sticky-col,
.sticky-table table thead td.sticky-col,
.sticky-table--compare table thead th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky-head);
  background-color: var(--color-bg-dark);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
.sticky-table table tbody th.sticky-col,
.sticky-table table tbody td.sticky-col,
.sticky-table--compare table tbody th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky);
  background-color: var(--color-bg-surface);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
.sticky-table table tbody tr:hover th.sticky-col,
.sticky-table table tbody tr:hover td.sticky-col {
  background-color: var(--color-bg-hover);
}
body.waiting,
body.waiting * {
  cursor: wait;
}
.table-navigation {
  display: flex;
  justify-content: center;
  margin-top: var(--space-md);
}
.table-navigation .pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.table-navigation .pagination li:not(:last-child) {
  margin-right: var(--space-xs);
}
.table-navigation .pagination .button {
  min-width: 32px;
  height: 32px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.table-navigation .pagination .button.button--primary,
.table-navigation .pagination .button.focus {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.table-navigation .pagination .button:not(.button--primary):not(.focus):hover {
  background-color: var(--color-bg-hover);
}
.table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.table-avatar-wrapper img {
  width: 30px;
  height: 30px;
  border-radius: var(--border-radius-circle);
}
.table-avatar-wrapper .participant {
  width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-avatar-wrapper--followers {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: var(--space-xs) var(--space-sm);
  box-sizing: border-box;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.table-avatar-wrapper--followers:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.table-first-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-first);
}
.table-second-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-second);
}
.table-third-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-third);
}
.table-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-four-five);
}
.scrollable-table-wrapper {
  max-height: 200px;
  overflow-y: auto;
  overflow-x: auto;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
}
.scrollable-table-wrapper table {
  border: none;
  border-radius: 0;
  margin: 0;
  overflow: visible;
}
.scrollable-table-wrapper table thead tr th,
.scrollable-table-wrapper table thead tr td {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--color-bg-dark);
}
.main-area {
  display: grid;
  gap: var(--space-lg);
  background: var(--color-bg-main);
  overflow: auto;
  min-height: 900px;
  padding: var(--space-lg) 0;
  align-content: start;
  background-image:
    radial-gradient(
      ellipse 65% 55% at 50% 55%,
      rgba(190, 225, 255, 0.7) 0%,
      rgba(215, 235, 255, 0.35) 45%,
      rgba(255, 255, 255, 0) 75%);
  background-repeat: no-repeat;
  min-width: 0;
}
.side-area {
  font-size: var(--font-size-sm);
  background: var(--color-bg-main);
  padding: var(--space-lg) 0;
  min-width: 0;
  box-sizing: border-box;
}
.side-area h1,
.side-area h2,
.side-area h3 {
  font-size: var(--font-size-lg);
  margin: var(--space-sm) 0 var(--space-xs) 0;
  line-height: var(--line-height-tight);
}
.side-area--tree {
  background: var(--color-bg-surface);
}
.footer {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
}
.footer a,
.footer a:link,
.footer a:visited {
  color: var(--color-text-inverse);
}
.footer a:is(:hover, :focus-visible, :active) {
  color: var(--color-text-white);
  text-decoration: underline;
}
.content {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  row-gap: var(--space-sm);
  font-size: var(--font-size-sm);
}
.content > * {
  grid-column: 2;
}
.content > .flex-row--world-records {
  grid-column: 1/-1;
}
.sub-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.hero-banner {
  width: 100%;
  box-sizing: border-box;
  background:
    linear-gradient(
      135deg,
      #030617 0%,
      #1e3a5f 100%);
  border-radius: var(--border-radius);
  padding: var(--space-lg) var(--space-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.hero-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
  margin: 0;
}
.hero-subtitle {
  color: var(--color-text-inverse);
  margin: 0;
}
.hardware-hero-section {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  margin-bottom: var(--space-xl);
}
.hardware-hero-image-card {
  flex: 1 1 300px;
  max-width: 100%;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  box-sizing: border-box;
}
.hardware-benchmark-image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1;
}
.hardware-benchmark-image-wrapper img {
  max-width: 100%;
  max-height: 220px;
  height: auto;
  object-fit: contain;
}
.hardware-affiliate-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: auto;
}
.button--amazon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ff9900;
  color: #111111;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 8px 18px;
  border-radius: var(--border-radius);
  border: 1px solid #e68a00;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  transition:
    background-color 0.15s ease,
    transform 0.1s ease,
    box-shadow 0.15s ease;
}
.button--amazon:hover {
  background: #f08c00;
  color: #000000;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.button--amazon:active {
  transform: translateY(0);
  box-shadow: none;
}
.button--amazon i {
  font-size: 1.15rem;
}
.hardware-hero-stats-grid {
  flex: 2 1 320px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-md);
}
.hardware-hero-stat-card {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}
.hardware-hero-stat-card h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-xs) 0;
  text-align: center;
}
.hardware-sub-label {
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-sm) 0;
  text-align: center;
}
.hardware-stat-label {
  color: var(--color-text-secondary);
  margin: 0;
  text-align: center;
}
.hardware-family-link {
  color: var(--color-link);
  text-decoration: none;
  margin-top: var(--space-sm);
  text-align: center;
}
.hardware-family-link:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hardware-tab-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  width: 100%;
}
.hardware-tab-menu .button {
  flex: 1 1 auto;
  text-align: center;
  padding: var(--space-sm) var(--space-md);
}
.image-modal {
  display: none;
  position: fixed;
  z-index: 1;
  padding: 50px 0 0 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
}
.image-modal-content {
  margin: auto auto;
  display: block;
  max-width: 80%;
  max-height: 90%;
}
.image-wrapper {
  width: 100%;
  overflow: hidden;
}
.image {
  max-width: 100%;
  height: auto;
  display: block;
}
.benchmark-image-wrapper {
  background: black;
  border-radius: var(--border-radius);
  align-content: center;
}
.benchmark-image-wrapper img {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  width: 100%;
  max-width: 400px;
}
.list--stages {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.list li.stage-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  box-sizing: border-box;
}
.list li.stage-info:last-child {
  border-bottom: none;
}
.stage-info-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.stage-info-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  width: 100%;
}
.stage-number {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-heading);
  background-color: var(--color-border-subtle);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  border: var(--border-width-sm) solid transparent;
  flex-shrink: 0;
}
.stage-number i {
  font-size: var(--font-size-2xs);
}
.stage-number--running {
  background-color: var(--color-success-bg);
  color: var(--color-success-text);
  border-color: var(--color-success-border);
}
.stage-number--running i {
  color: var(--color-success);
}
.stage-number--closed {
  background-color: var(--color-error-bg);
  color: var(--color-error-text);
  border-color: var(--color-error-border);
}
.stage-number--closed i {
  color: var(--color-error);
}
.stage-number--upcoming {
  background-color: var(--color-border-subtle);
  color: var(--color-text-secondary);
  border-color: var(--color-border-dashed);
}
.stage-number--upcoming i {
  color: var(--color-text-secondary);
}
.stage-info .stage-link {
  font-weight: var(--font-weight-semibold);
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: var(--line-height-tight);
}
.stage-info .stage-link span {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
.stage-info.active {
  background-color: var(--color-info-bg);
}
.stage-info.active .stage-link {
  font-weight: var(--font-weight-bold);
}
.stage-info .stage-link i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.stage-info .stage-link:hover i {
  color: var(--color-link-hover);
}
.stage-info-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-md);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.stage-meta-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.stage-meta-rank {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.stage-meta-rank .fa-trophy {
  color: var(--color-warning);
  margin-right: var(--space-xs);
}
.stage-meta-rank.rank--gold .fa-trophy {
  color: var(--color-warning-star);
}
.stage-meta-rank.rank--silver .fa-trophy {
  color: var(--color-text-muted);
}
.stage-meta-rank.rank--bronze .fa-trophy {
  color: var(--color-warning);
}
.stage-info .text-muted .fa-trophy {
  color: var(--color-border-dashed);
  margin-right: var(--space-xs);
}
.stage-meta-score {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.stage-info .text-muted {
  color: var(--color-text-muted);
}
.stage-info .score-link {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
}
.stage-info .target-icon {
  color: var(--color-error);
  margin-right: var(--space-xs);
}
.grid-box {
  display: grid;
  gap: var(--space-md);
}
.grid-box--submit-hardware {
  grid-template-columns: auto auto;
}
.grid-box--submit-hardware > div {
  display: flex;
  flex-direction: column;
}
.grid-box--submit-hardware img {
  max-width: 120px;
  max-height: 120px;
  object-fit: contain;
  margin: 0 auto;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
}
.wall-submission-card {
  display: flex;
  flex-direction: column;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  overflow: hidden;
  gap: 0;
  margin-bottom: var(--space-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.wall-submission-card:hover {
  border-color: var(--color-border-standard);
}
.grid-box--achievement,
.grid-box--partner {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.grid-box--highlight-submission,
.grid-box--submission-hardware {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.grid-box--compo,
.grid-box--profile,
.grid-box--submission-ranking {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.grid-box--benchmarks,
.grid-box--hardware-overview,
.grid-box--league-info,
.grid-box--news,
.grid-box--search {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.grid-box--profile-account-settings {
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 500px));
}
.card,
.grid-box-card {
  display: flex;
  flex-direction: column;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  font-size: var(--font-size-sm);
  min-width: 0;
}
.card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.card__title,
.card-title {
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.card > :is(h2, h3):first-child,
.grid-box-card > :is(h2, h3):first-child,
.card__body > :is(h2, h3):first-child,
.card-body > :is(h2, h3):first-child {
  margin-top: 0;
  margin-bottom: var(--space-md);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-tight);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.card > :is(h2, h3):last-child,
.grid-box-card > :is(h2, h3):last-child,
.card__body > :is(h2, h3):last-child,
.card-body > :is(h2, h3):last-child {
  margin-bottom: 0;
}
.grid-box-card--benchmark-stats > :is(h2, h3):first-child {
  justify-content: center;
}
.card__body,
.card-body {
  flex: 1;
  min-width: 0;
}
.card__footer {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.grid-box-card--submit-hardware {
  flex-direction: column;
  flex: 1;
}
.grid-box-card--description {
  flex-direction: column;
  white-space: pre-line;
  overflow-wrap: break-word;
}
.card--sidebar-ranking,
.grid-box-card--sidebar-ranking,
.grid-box-card.grid-box-card--sidebar-ranking {
  position: relative;
  flex-direction: column;
  gap: var(--space-md);
  background: transparent;
  border: none;
  padding: 0;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.grid-box-card--news {
  background: var(--color-bg-hover);
  position: relative;
  cursor: pointer;
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-base),
    background-color var(--transition-base);
}
.grid-box-card--news .flex-row--news-footer a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.grid-box-card--news {
  flex-direction: column;
  text-align: left;
}
.grid-box-card--achievement {
  flex-direction: column;
  text-align: center;
}
.grid-box-card--benchmark-stats,
.grid-box-card--partner {
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-content: center;
}
.grid-box-card--benchmark-stats h4 {
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.04em;
  color: var(--color-text-secondary);
  margin: 0;
}
.stat-status {
  color: var(--color-warning);
}
.grid-box-card--news:hover {
  background-color: var(--color-bg-hover);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.wall-card__body {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm) var(--space-lg);
  padding: var(--space-sm) var(--space-md);
  flex-wrap: wrap;
  min-width: 0;
}
.wall-card__rankings {
  border-top: var(--border-width-sm) solid var(--color-border-light);
  background: var(--color-bg-subtle);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  min-width: 0;
}
.wall-card__rankings .grid-spec {
  width: 100%;
  min-width: 0;
}
.wall-card__rankings .grid-spec-row {
  overflow: visible;
  border-bottom: none;
  padding: 0;
}
.wall-card__date {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
}
.wall-card__user {
  flex-shrink: 0;
}
.wall-card__user a {
  font-weight: var(--font-weight-semibold);
}
.wall-card__benchmark a {
  font-weight: var(--font-weight-semibold);
}
.wall-card__hardware {
  font-size: var(--font-size-xs);
  color: var(--color-text-primary);
}
.wall-card__cores {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  background: var(--color-bg-alt);
  padding: var(--space-3xs) var(--space-2xs);
  border-radius: var(--border-radius-sm);
  white-space: nowrap;
  flex-shrink: 0;
}
.wall-card__cooling {
  flex-shrink: 0;
}
.wall-card__score {
  margin-left: auto;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  white-space: nowrap;
  flex-shrink: 0;
}
.grid-box-card--benchmarks {
  flex-direction: column;
  padding: 0;
  border-radius: 0;
  background: none;
  border: 0;
}
.grid-box-card--benchmarks,
.grid-box-card--compo,
.grid-box-card--hardware-overview,
.grid-box-card--highlight-submission,
.grid-box-card--league-info,
.grid-box-card--login,
.grid-box-card--profile,
.grid-box-card--register,
.grid-box-card--reset-password,
.grid-box-card--search,
.grid-box-card--submission-hardware,
.grid-box-card--top-filter {
  flex-direction: column;
}
.card--competition,
.grid-box-card--compo {
  min-width: 0;
}
.card--competition .card-body,
.card--competition .card__body,
.grid-box-card--compo .card-body {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card--competition .ranking-empty-card,
.grid-box-card--compo .ranking-empty-card {
  flex: 1;
}
.grid-box-card--highlight-submission {
  background: var(--color-bg-surface);
  flex-direction: column;
}
.card--hardware-header {
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}
.card--hardware-header .card__header {
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding-bottom: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: 0;
}
.card--hardware-header .card__title {
  font-size: var(--font-size-xl);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.hardware-icon {
  color: var(--color-text-primary);
  font-size: var(--font-size-lg);
}
.hardware-header__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}
.hardware-header__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-light);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
}
.card--hardware-header .hardware-hero-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-sm);
}
.card--hardware-header .hardware-hero-stat-card {
  background: var(--color-bg-card);
  border-color: var(--color-border-light);
  padding: var(--space-md);
}
.card--hardware-header .hardware-hero-stat-card h3 {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-none);
  margin-bottom: var(--space-2xs);
}
.card--hardware-header .hardware-hero-stat-card .hardware-stat-label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.card--hardware-header .grid-spec {
  margin-top: var(--space-md);
}
.grid-box--benchmarks {
  align-items: start;
}
.grid-box--benchmarks .card__title {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-md);
}
.benchmark-overview-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}
.grid-spec {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin: 0;
  padding: 0;
  width: 100%;
}
.grid-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  overflow: auto;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row .table-avatar-wrapper > a {
  font-size: var(--font-size-lg);
}
.grid-spec-row--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row:last-child {
  border-bottom: none;
}
.grid-spec-row .attribute {
  display: block;
  color: var(--color-text-primary);
  flex-shrink: 0;
}
.grid-spec-row .attribute-nowrap {
  white-space: nowrap;
}
.grid-spec-row--stacked .attribute {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-2xs);
}
.grid-spec-row .value {
  display: block;
  color: var(--color-text-primary);
}
.grid-spec-row--stacked .value {
  text-align: left;
  width: 100%;
  margin: 0;
}
.grid-spec-row .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-tight);
}
.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
  margin-top: var(--space-2xl);
  padding-top: var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.card-actions .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  gap: var(--space-xs);
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: var(--z-index-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-smooth), visibility var(--transition-smooth);
}
.modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.modal-dialog {
  background: var(--color-bg-main);
  width: 90%;
  max-width: 1200px;
  max-height: 85vh;
  border-radius: var(--border-radius);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.modal-dialog--result-history {
  max-width: var(--modal-width-md);
}
.modal-dialog--result-moderation {
  max-width: var(--modal-width-lg);
}
.modal-dialog--social {
  max-width: var(--modal-width-sm);
}
.modal-dialog__header,
.modal-header {
  padding: var(--space-sm) var(--space-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.modal-dialog__body,
.modal-body {
  padding: var(--space-md);
  overflow-y: auto;
  flex-grow: 1;
}
.modal-dialog__footer,
.modal-footer {
  padding: var(--space-md) var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
  text-align: right;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list {
  display: grid;
  gap: var(--space-md);
}
.list li {
  padding: var(--space-md) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.list li:last-child {
  border-bottom: none;
}
.list--scrollable {
  max-height: 160px;
  overflow-y: auto;
  padding-right: var(--space-xs);
}
.profile-banner-wrapper {
  position: relative;
  width: 100%;
}
.profile-banner-wrapper.has-banner .profile-banner img {
  width: 100%;
  aspect-ratio: 6 / 1;
  min-height: 120px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: var(--border-radius-xs);
}
.profile-banner-wrapper.has-banner .avatar-wrapper {
  position: absolute;
  bottom: 12px;
  left: 20px;
  z-index: 2;
}
.profile-banner-wrapper.has-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  border: var(--border-width-md) solid var(--color-text-white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
  object-fit: cover;
  display: block;
}
.profile-banner-wrapper.no-banner .avatar-wrapper {
  position: static;
}
.profile-banner-wrapper.no-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.side-area .content.executor ul,
.terms-and-conditions .content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.side-area .content.executor ul li {
  padding: var(--space-xs) 0;
}
.filter .list,
.filter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.filter .list li,
.filter ul li {
  padding: var(--space-xs) 0;
}
.filter .filter-key {
  margin-bottom: var(--space-xs);
  font-weight: var(--font-weight-bold);
}
.filter .ranking-filter {
  display: flex;
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
  gap: var(--space-sm);
  padding: var(--space-xs) 0 var(--space-sm) 0;
  margin-bottom: var(--space-md);
}
.filter-chips-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-bg-surface);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  margin-top: var(--space-xs);
}
.filter-chips-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-main);
  line-height: var(--line-height-normal);
}
.filter-chip-label {
  white-space: nowrap;
}
.filter-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  line-height: var(--line-height-none);
  padding: 0;
  margin: 0;
  cursor: pointer;
  border-radius: var(--border-radius-circle);
  width: 16px;
  height: 16px;
}
.filter-chip-remove:hover {
  color: var(--color-error);
  background: var(--color-error-bg);
}
.filter-chip-clear-all {
  background: transparent;
  border: none;
  color: var(--color-text-secondary);
  cursor: pointer;
  padding: var(--space-2xs) var(--space-sm);
  text-decoration: underline;
  line-height: var(--line-height-normal);
}
.filter-chip-clear-all:hover {
  color: var(--color-error);
}
.hardware-chips-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: center;
  width: 100%;
}
.hardware-chip {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-sm);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast);
}
.hardware-chip:hover,
.hardware-chip:focus-visible {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
  color: var(--color-text-primary);
  text-decoration: none;
}
.hardware-chips-scroll {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  max-height: 220px;
  overflow-y: auto;
  padding: var(--space-xs) 0;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
.hardware-expand-details {
  width: 100%;
  margin-top: var(--space-xs);
}
.hardware-expand-summary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-sm);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-lg);
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.hardware-expand-summary::-webkit-details-marker,
.hardware-expand-summary::marker {
  display: none;
}
.hardware-expand-summary:hover,
.hardware-expand-summary:focus-visible {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.hardware-expand-summary .fa-chevron-down {
  color: var(--color-text-primary);
  font-size: var(--font-size-2xs);
  transition: transform var(--transition-fast);
}
.hardware-expand-details[open] > .hardware-expand-summary .fa-chevron-down {
  transform: rotate(180deg);
}
.hardware-expand-details .expand-text-less {
  display: none;
}
.hardware-expand-details[open] .expand-text-more {
  display: none;
}
.hardware-expand-details[open] .expand-text-less {
  display: inline;
}
.badge--count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-hover);
  color: var(--color-text-secondary);
  border: var(--border-width-sm) solid var(--color-border-light);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  min-width: 18px;
  height: 18px;
  line-height: var(--line-height-none);
  margin-left: var(--space-2xs);
}
.progressbar {
  border: var(--border-width-sm) solid var(--color-border-standard);
  margin: var(--space-xs) auto;
  width: 100px;
  height: 5px;
}
.progressbar > div {
  background: green;
  height: 100%;
  width: 100%;
}
.submission-suggestions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  background-color: var(--color-info-bg);
  border: var(--border-width-sm) solid var(--color-info-border);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius-sm);
  max-width: 100%;
  box-sizing: border-box;
  overflow: auto;
}
.submission-suggestion {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-primary-hover);
  min-width: 0;
}
.button.btn-participate .contest-name {
  font-weight: var(--font-weight-bold);
}
.button.btn-participate .stage-name {
  opacity: 0.9;
  font-weight: var(--font-weight-bold);
}
.submission-score-card {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  padding: 0 var(--space-md);
  max-width: 100%;
  box-sizing: border-box;
  font-family: var(--font-heading);
  margin-bottom: var(--space-md);
  font-size: var(--font-size-3xl);
}
.submission-score-card .avatar-wrapper {
  flex-shrink: 0;
}
.submission-score-card .avatar-wrapper a {
  text-decoration: none;
}
.submission-score-card .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.submission-score-card .score-details {
  display: flex;
  gap: var(--space-sm);
  flex-direction: column;
}
.submission-score-card .score-details-row {
  display: flex;
  gap: var(--space-sm);
  flex-direction: row;
  align-items: center;
}
.submission-score-card .user-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
}
.submission-score-card .score-label,
.submission-score-card .connector-text {
  color: gray;
  font-style: italic;
}
.submission-score-card .temp-wrapper {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-text-inverse);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
}
.submission-sub-score {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin-top: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  box-sizing: border-box;
}
.submission-sub-score .sub-score-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.submission-sub-score .sub-score-name {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
}
.submission-sub-score .sub-score-name::after {
  content: ":";
}
.submission-sub-score .sub-score-val {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  width: 100%;
  margin-bottom: var(--space-md);
}
.form-row.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
  margin-top: var(--space-md);
}
.form-row.form-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 1 1 auto;
  min-width: 0;
}
.form-group--benchmark {
  max-width: 400px;
}
.form-group--narrow,
.form-group--file-upload {
  max-width: 480px;
}
.form-group--row {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}
.form-group--row > label {
  width: 100%;
}
.form-group--row > input {
  flex: 1;
}
.form-group-checkbox {
  display: flex;
  align-items: center;
  margin-top: var(--space-sm);
}
.form-group label {
  color: var(--color-text-primary);
}
.form-group-checkbox label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
  cursor: pointer;
  user-select: none;
  color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox] {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox].field-error {
  outline: 2px solid var(--color-error);
  outline-offset: 1px;
  border-color: var(--color-error);
}
.form-group-checkbox.has-error,
.form-group-checkbox.field-error {
  padding: var(--space-xs, 0.5rem);
  border: var(--border-width-sm) solid var(--color-error);
  border-radius: var(--border-radius-sm);
  background-color: var(--color-error-bg, rgba(220, 38, 38, 0.03));
}
.form-group-checkbox .binding-error {
  color: var(--color-error);
}
.form-group.has-error label {
  color: var(--color-error);
}
.form-group.has-error input {
  border-color: var(--color-error);
  background-color: var(--color-error-bg);
}
.form-filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
#ranking_filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-md);
}
#ranking_filter .form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 0 1 auto;
  max-width: 100%;
}
.form-input-search-wrapper {
  position: relative;
  width: 100%;
}
.form-input-search-wrapper .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
}
.form-input-search-wrapper input {
  width: 100%;
  padding-left: 36px;
  box-sizing: border-box;
}
.form-input-with-unit {
  display: flex;
  align-items: center;
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding-right: var(--space-md);
}
.form-input-with-unit .form-input {
  border: none;
  flex: 1;
  outline: none;
}
.form-input.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.form-input-with-unit .form-input.field-error {
  border: none;
}
.form-input-with-unit .field-error {
  border: none;
  outline: none;
}
.form-unit-suffix {
  color: var(--color-text-secondary);
  white-space: nowrap;
  user-select: none;
}
.form-input-with-unit.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.binding-error {
  color: var(--color-error);
}
.banner-image {
  margin: var(--space-sm) 0;
}
.banner-image img {
  width: 100%;
  height: auto;
  min-height: 100px;
  border-radius: var(--border-radius);
  display: block;
}
.competition-leader,
.timer,
.stages-sidebar-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.grid-box-card--stages,
.grid-box-card--leader,
.card--timer {
  background-color: var(--color-bg-main);
}
.stages-sidebar-grid .stage-info {
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  border-bottom-color: transparent;
}
.stages-sidebar-grid .stage-info.active {
  background-color: transparent;
}
.stages-sidebar-grid .stage-number {
  background-color: var(--color-border-subtle);
  border-color: transparent;
  color: var(--color-text-primary);
}
.stages-sidebar-grid .stage-number i {
  color: inherit;
}
.stages-sidebar-grid h2 {
  margin: 0 0 var(--space-md) 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  padding-bottom: var(--space-sm);
}
.text-gold {
  color: var(--color-warning);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.3));
}
.text-crimson {
  color: var(--color-error);
}
.text-amber {
  color: var(--color-warning);
}
.text-slate {
  color: var(--color-text-muted);
}
.competition-leader__header,
.timer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}
.competition-leader__header h2,
.timer__header h2 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.competition-leader__hero {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
}
.competition-leader__avatar-wrap {
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
}
.competition-leader__avatar {
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  border: var(--border-width-md) solid var(--color-warning-star);
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.25);
}
.competition-leader__pos-pill {
  position: absolute;
  bottom: -2px;
  right: -4px;
  background: var(--color-warning-star);
  color: var(--color-text-heading);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-extrabold);
  font-family: var(--font-mono);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--border-radius-full);
  border: var(--border-width-sm) solid var(--color-text-white);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
}
.competition-leader__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
.competition-leader__identity {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.competition-leader__name {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.competition-leader__subtext {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}
.competition-leader__subtext i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.competition-leader__stats {
  width: 100%;
}
.competition-leader__stat-box {
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.competition-leader__stat-label {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__stat-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  color: var(--color-text-heading);
  letter-spacing: 0.02em;
}
.competition-leader__stat-val small {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  margin-left: var(--space-2xs);
  text-transform: uppercase;
}
.timer__clock {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.timer__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-text-heading);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-xs) var(--space-sm);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
  min-width: 0;
}
.timer__count {
  color: var(--color-text-inverse);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: 0.02em;
}
.timer__unit {
  text-transform: uppercase;
  text-align: center;
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  margin-top: var(--space-xs);
}
.timer__clock--closed .timer__tile {
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  box-shadow: none;
}
.timer__clock--closed .timer__count {
  color: var(--color-text-muted);
}
.timer__clock--closed .timer__unit {
  color: var(--color-text-muted);
}
.timer__meta {
  margin-top: var(--space-md);
  padding-top: var(--space-xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.timer__meta i {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  flex-shrink: 0;
}
.timer__meta strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__empty {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg);
  background: var(--color-bg-main);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  width: 100%;
  box-sizing: border-box;
}
.competition-leader__empty-icon {
  font-size: var(--font-size-2xl);
  color: var(--color-border-dashed);
  flex-shrink: 0;
}
.competition-leader__empty-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  min-width: 0;
}
.competition-leader__empty-title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.competition-leader__empty-subtitle {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  letter-spacing: 0.02em;
}
.ranking-empty-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-md);
  padding: var(--space-xl) var(--space-lg);
  background: var(--color-bg-card);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  box-sizing: border-box;
  width: 100%;
}
.ranking-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  color: var(--color-text-muted);
  font-size: var(--font-size-2xl);
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}
.ranking-empty-icon--upcoming {
  border-color: rgba(2, 132, 199, 0.2);
}
.ranking-empty-icon--open {
  color: var(--color-warning-star);
  background: rgba(234, 179, 8, 0.08);
  border-color: rgba(234, 179, 8, 0.2);
}
.ranking-empty-icon--comments {
  border-color: rgba(99, 102, 241, 0.2);
}
.ranking-empty-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-xs);
  min-width: 0;
}
.ranking-empty-title {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.01em;
}
.ranking-empty-subtitle {
  margin: 0;
  font-size: var(--font-size-md);
  color: var(--color-text-secondary);
  line-height: var(--line-height-normal);
}
.ranking-empty-subtitle strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.season-points-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  width: 100%;
}
.season-points-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-left: var(--border-width-lg) solid transparent;
  border-radius: var(--border-radius);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
  min-height: 48px;
  box-sizing: border-box;
}
.season-points-item:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.season-points-item--gold {
  border-left-color: var(--color-warning-star);
}
.season-points-item--silver {
  border-left-color: var(--color-text-muted);
}
.season-points-item--bronze {
  border-left-color: var(--color-warning);
}
.season-points-item__rank {
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  min-width: 36px;
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  flex-shrink: 0;
}
.season-points-item__rank--gold {
  color: var(--color-warning);
}
.season-points-item__rank--gold .fa-trophy {
  color: var(--color-warning-star);
  filter: drop-shadow(0 0 3px rgba(245, 158, 11, 0.4));
}
.season-points-item__rank--silver {
  color: var(--color-text-secondary);
}
.season-points-item__rank--silver .fa-trophy {
  color: var(--color-text-muted);
}
.season-points-item__rank--bronze {
  color: var(--color-warning);
}
.season-points-item__competitor {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
  flex: 1;
}
.season-points-item__avatar {
  width: 32px;
  height: 32px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.season-points-item__avatar-flag {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.season-points-item__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.season-points-item__name {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.season-points-item__subtext {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.season-points-item__sub-avatar {
  width: 16px;
  height: 16px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.season-points-item__participants {
  font-size: var(--font-size-2xs);
  color: var(--color-text-secondary);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs);
}
.season-points-item__points {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  flex-shrink: 0;
  margin-left: auto;
}
.season-points-item__points-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-extrabold);
  color: var(--color-text-heading);
}
.season-points-item__points-unit {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  text-transform: uppercase;
}
.season-points-list__empty {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-lg);
  background: var(--color-bg-main);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  justify-content: center;
}
.compo-back-link,
.compo-back-link:link,
.compo-back-link:visited {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  width: fit-content;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  line-height: var(--line-height-normal);
  transition: color var(--transition-fast);
  padding: var(--space-xs) 0;
}
.compo-back-link:hover,
.compo-back-link:active,
.compo-back-link:focus-visible {
  color: var(--color-primary);
  text-decoration: none;
}
.compo-back-link i {
  font-size: var(--font-size-xs);
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}
.compo-back-link:hover i,
.compo-back-link:focus-visible i {
  transform: translateX(-3px);
}
.compo-back-link + h2 {
  margin-top: 0;
}
.compo-scoreboard-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.compo-scoreboard-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-dark);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  border-left: var(--pos-marker-width) solid transparent;
  color: var(--color-text-white);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  min-width: 0;
}
.compo-scoreboard-header__rank {
  display: inline-flex;
  align-items: center;
  min-width: 24px;
  font-variant-numeric: tabular-nums;
  color: var(--color-text-white);
  flex-shrink: 0;
}
.compo-scoreboard-header__content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  justify-content: space-between;
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-header__participant {
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-header__total {
  flex-shrink: 0;
  text-align: right;
}
.compo-scoreboard-card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-surface);
  border: none;
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  border-left: var(--pos-marker-width) solid var(--color-pos-four-five);
  border-radius: 0;
  transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
}
.compo-scoreboard-card:last-child {
  border-bottom: none;
}
.compo-scoreboard-card:hover {
  background: var(--color-bg-hover);
}
.compo-scoreboard-card--first {
  border-left-color: var(--color-pos-first);
}
.compo-scoreboard-card--second {
  border-left-color: var(--color-pos-second);
}
.compo-scoreboard-card--third {
  border-left-color: var(--color-pos-third);
}
.compo-scoreboard-card__rank {
  display: inline-flex;
  align-items: center;
  min-width: 24px;
  height: 28px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.compo-scoreboard-card__rank--first {
  color: var(--color-pos-first);
}
.compo-scoreboard-card__rank--second {
  color: var(--color-pos-second);
}
.compo-scoreboard-card__rank--third {
  color: var(--color-pos-third);
}
.compo-scoreboard-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  justify-content: space-between;
}
.compo-scoreboard-card__participant {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-card__participant .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.compo-scoreboard-card__avatar {
  width: 28px;
  height: 28px;
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.compo-scoreboard-card__name {
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
}
.compo-scoreboard-card__total {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  text-align: right;
  flex-shrink: 0;
}
.compo-scoreboard-card__total-value {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
}
.compo-scoreboard-card__total-unit {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  text-transform: uppercase;
}
.compo-scoreboard-card__cups {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.compo-scoreboard-cup {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-3xs) var(--space-xs);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  text-decoration: none;
  font-size: var(--font-size-2xs);
  line-height: var(--line-height-tight);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.compo-scoreboard-cup:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.compo-scoreboard-cup--scored {
  background: var(--color-bg-card);
}
.compo-scoreboard-cup__label {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-2xs);
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.compo-scoreboard-cup__stage-result {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup__score {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup__points {
  color: var(--color-text-muted);
  font-size: var(--font-size-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup--scored .compo-scoreboard-cup__points {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-bold);
}
.submission-score,
.compo-stage-score {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.submission-score i,
.compo-stage-score i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  transition: color var(--transition-fast);
}
a.submission-score:hover i,
a.compo-stage-score:hover i {
  color: var(--color-link-hover);
}
.compo-stage-card__points-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-left: var(--space-3xs);
}
.compo-stage-card__images {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.compo-stage-card__thumb-link {
  display: block;
  line-height: 0;
  border-radius: var(--border-radius-xs);
  overflow: hidden;
  border: var(--border-width-sm) solid var(--color-border-subtle);
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}
.compo-stage-card__thumb-link:hover {
  border-color: var(--color-primary);
  transform: scale(1.05);
}
.compo-stage-card__thumb {
  height: 36px;
  width: auto;
  object-fit: cover;
  display: block;
}
.stage-submissions-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
}
.stage-submission-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.stage-submission-card:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.stage-submission-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.stage-submission-card__participants {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
  min-width: 0;
}
.stage-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.stage-submission-card__avatar {
  width: 24px;
  height: 24px;
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.stage-submission-card__name {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stage-submission-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  flex-wrap: wrap;
  padding-top: var(--space-2xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.stage-submission-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  word-break: break-word;
}
.today-submissions-wrapper.sticky-table,
.benchmark-ranking-wrapper.sticky-table,
.benchmark-first-spots-wrapper.sticky-table,
.benchmark-overview-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.today-submissions-wrapper::-webkit-scrollbar,
.benchmark-ranking-wrapper::-webkit-scrollbar,
.benchmark-first-spots-wrapper::-webkit-scrollbar,
.benchmark-overview-wrapper::-webkit-scrollbar {
  height: 6px;
}
.today-submissions-wrapper::-webkit-scrollbar-track,
.benchmark-ranking-wrapper::-webkit-scrollbar-track,
.benchmark-first-spots-wrapper::-webkit-scrollbar-track,
.benchmark-overview-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.today-submissions-wrapper::-webkit-scrollbar-thumb,
.benchmark-ranking-wrapper::-webkit-scrollbar-thumb,
.benchmark-first-spots-wrapper::-webkit-scrollbar-thumb,
.benchmark-overview-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.today-submissions-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-ranking-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-first-spots-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-overview-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.today-submissions-table,
.benchmark-ranking-table,
.xtu-analyze-table,
.benchmark-overview-table,
.benchmark-first-spots-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.today-submissions-table thead tr th,
.benchmark-ranking-table thead tr th,
.xtu-analyze-table thead tr th,
.benchmark-overview-table thead tr th,
.benchmark-first-spots-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.today-submissions-table thead tr th.col-rank,
.benchmark-ranking-table thead tr th.col-rank {
  width: 44px;
  text-align: center;
}
.today-submissions-table thead tr th.col-date,
.xtu-analyze-table thead tr th.col-date {
  width: 105px;
  text-align: left;
}
.today-submissions-table thead tr th.col-score,
.benchmark-ranking-table thead tr th.col-score,
.xtu-analyze-table thead tr th.col-score,
.benchmark-first-spots-table thead tr th.col-score {
  text-align: left;
}
.today-submissions-table thead tr th.col-cooling,
.today-submissions-table thead tr th.col-subspecs,
.benchmark-ranking-table thead tr th.col-cooling,
.xtu-analyze-table thead tr th.col-cooling,
.xtu-analyze-table thead tr th.col-motherboard,
.benchmark-first-spots-table thead tr th.col-cooling {
  text-align: left;
}
.today-submissions-table thead tr th.col-actions,
.today-submissions-table thead tr th.col-subs,
.xtu-analyze-table thead tr th.col-actions,
.benchmark-first-spots-table thead tr th.col-actions {
  text-align: right;
}
.today-submissions-table thead tr th.col-career-rank,
.today-submissions-table thead tr th.col-members,
.today-submissions-table thead tr th.col-status {
  text-align: center;
}
.today-submissions-table thead tr th.col-career-points {
  text-align: right;
}
.today-submissions-table tbody tr,
.benchmark-ranking-table tbody tr,
.xtu-analyze-table tbody tr,
.benchmark-overview-table tbody tr,
.benchmark-first-spots-table tbody tr {
  transition: background-color var(--transition-fast);
}
.today-submissions-table tbody tr:hover,
.benchmark-ranking-table tbody tr:hover,
.xtu-analyze-table tbody tr:hover,
.benchmark-overview-table tbody tr:hover,
.benchmark-first-spots-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.today-submissions-table tbody tr td,
.benchmark-ranking-table tbody tr td,
.xtu-analyze-table tbody tr td,
.benchmark-overview-table tbody tr td,
.benchmark-first-spots-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.today-submissions-table tbody tr:last-child td,
.benchmark-ranking-table tbody tr:last-child td,
.xtu-analyze-table tbody tr:last-child td,
.benchmark-overview-table tbody tr:last-child td,
.benchmark-first-spots-table tbody tr:last-child td {
  border-bottom: none;
}
.today-submissions-table tbody tr td.col-rank,
.benchmark-ranking-table tbody tr td.col-rank {
  width: 44px;
  text-align: center;
}
.benchmark-ranking-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.benchmark-ranking-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.benchmark-ranking-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.today-submissions-table tbody tr td.col-date,
.xtu-analyze-table tbody tr td.col-date {
  width: 105px;
  text-align: left;
}
.today-submissions-table tbody tr td.col-score,
.benchmark-ranking-table tbody tr td.col-score,
.xtu-analyze-table tbody tr td.col-score,
.benchmark-first-spots-table tbody tr td.col-score {
  text-align: left;
}
.today-submissions-table tbody tr td.col-score a,
.hw-records-table tbody tr td.col-score a,
.benchmark-ranking-table tbody tr td.col-score a,
.xtu-analyze-table tbody tr td.col-score a,
.benchmark-first-spots-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.today-submissions-table tbody tr td.col-cooling,
.benchmark-ranking-table tbody tr td.col-cooling,
.today-submissions-table tbody tr td.col-subspecs,
.xtu-analyze-table tbody tr td.col-cooling,
.xtu-analyze-table tbody tr td.col-motherboard,
.benchmark-first-spots-table tbody tr td.col-cooling {
  text-align: left;
  white-space: nowrap;
}
.today-submissions-table tbody tr td.col-subspecs .today-submission-card__subspecs {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: nowrap;
}
.today-submissions-table tbody tr td.col-career-rank,
.today-submissions-table tbody tr td.col-members,
.today-submissions-table tbody tr td.col-status {
  text-align: center;
}
.today-submissions-table tbody tr td.col-career-points {
  text-align: right;
}
.today-submissions-table thead tr th.col-type,
.today-submissions-table tbody tr td.col-type {
  text-align: right;
}
.today-submissions-table tbody tr td.col-actions,
.today-submissions-table tbody tr td.col-subs,
.xtu-analyze-table tbody tr td.col-actions {
  text-align: right;
}
.xtu-analyze-table thead tr th.col-clock,
.xtu-analyze-table tbody tr td.col-clock {
  text-align: right;
  white-space: nowrap;
}
.xtu-analyze-table tbody tr.is-active {
  background-color: var(--color-info-bg);
}
.today-submissions-table tbody tr td.col-subs .gpu-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .cpu-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .mb-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .mem-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .disk-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .psu-card__subs-badge {
  margin-left: auto;
}
.today-submissions-table tbody tr td .cpu-card__spec,
.today-submissions-table tbody tr td .gpu-card__spec,
.today-submissions-table tbody tr td .mb-card__spec,
.today-submissions-table tbody tr td .mem-card__spec,
.today-submissions-table tbody tr td .psu-card__spec,
.today-submissions-table tbody tr td .disk-card__spec {
  margin-right: var(--space-2xs);
}
.today-submissions-table tbody tr td .cpu-card__spec:last-child,
.today-submissions-table tbody tr td .gpu-card__spec:last-child,
.today-submissions-table tbody tr td .mb-card__spec:last-child,
.today-submissions-table tbody tr td .mem-card__spec:last-child,
.today-submissions-table tbody tr td .psu-card__spec:last-child,
.today-submissions-table tbody tr td .disk-card__spec:last-child {
  margin-right: 0;
}
.today-submissions-table .col-actions .today-submission-card__actions,
.benchmark-first-spots-table .col-actions .today-submission-card__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  justify-content: flex-end;
  margin-left: 0;
}
.benchmark-overview-table thead tr th.col-beta,
.benchmark-overview-table tbody tr td.col-beta {
  width: 48px;
  text-align: center;
}
.benchmark-overview-table thead tr th.col-os,
.benchmark-overview-table tbody tr td.col-os {
  width: 72px;
  text-align: center;
}
.benchmark-overview-table tbody tr td.col-os i {
  margin: 0 var(--space-3xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.benchmark-overview-table thead tr th.col-glp,
.benchmark-overview-table tbody tr td.col-glp,
.benchmark-overview-table thead tr th.col-hwp,
.benchmark-overview-table tbody tr td.col-hwp {
  width: 52px;
  text-align: center;
}
.benchmark-overview-table thead tr th.col-links,
.benchmark-overview-table tbody tr td.col-links {
  width: 80px;
  text-align: center;
}
.benchmark-overview-table tbody tr td.col-links .flex-row--benchmark-links {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  flex-wrap: nowrap;
}
.benchmark-overview-table tbody tr td.col-links .flex-row--benchmark-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.benchmark-rule-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  font-size: var(--font-size-xs);
}
.benchmark-overview-table tbody tr td.empty-state {
  text-align: center;
  color: var(--color-text-secondary);
  padding: var(--space-md);
}
.team-cups-table thead tr th.col-trophy {
  width: 90px;
  text-align: center;
}
.team-cups-table tbody tr td.col-trophy {
  text-align: center;
}
.team-points-table thead tr th.col-points,
.team-points-table tbody tr td.col-points {
  text-align: right;
  white-space: nowrap;
}
.team-points-table thead tr th.col-metric,
.team-points-table tbody tr td.col-metric {
  text-align: left;
  white-space: nowrap;
  width: 110px;
}
.team-points-table thead tr th.col-league,
.team-points-table tbody tr td.col-league {
  width: 130px;
}
.team-members-table thead tr th.col-user,
.team-members-table tbody tr td.col-user {
  text-align: left;
}
.team-members-table thead tr th.col-role,
.team-members-table tbody tr td.col-role {
  width: 120px;
  text-align: left;
}
.team-members-table thead tr th.col-league,
.team-members-table tbody tr td.col-league {
  width: 140px;
  text-align: left;
}
.team-members-table thead tr th.col-joined,
.team-members-table tbody tr td.col-joined {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-members-table thead tr th.col-visit,
.team-members-table tbody tr td.col-visit {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-members-table thead tr th.col-actions,
.team-members-table tbody tr td.col-actions {
  width: 90px;
  text-align: right;
}
.team-members-table .col-actions .button {
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
}
.team-member-date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.team-member-date i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.team-member-date__label {
  display: none;
}
.team-requests-table thead tr th.col-user,
.team-requests-table tbody tr td.col-user {
  text-align: left;
}
.team-requests-table thead tr th.col-team,
.team-requests-table tbody tr td.col-team {
  text-align: left;
  min-width: 140px;
}
.team-requests-table thead tr th.col-league,
.team-requests-table tbody tr td.col-league {
  width: 140px;
  text-align: left;
}
.team-requests-table thead tr th.col-joined,
.team-requests-table tbody tr td.col-joined {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-requests-table thead tr th.col-visit,
.team-requests-table tbody tr td.col-visit {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-requests-table thead tr th.col-actions,
.team-requests-table tbody tr td.col-actions {
  width: 90px;
  text-align: right;
}
.team-requests-table .col-actions .button {
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
}
.team-requests-action {
  margin-bottom: var(--space-md);
}
.today-submission-card__rank,
.member-card__rank,
.team-card__rank {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.today-submission-card__date {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-muted);
  white-space: nowrap;
}
.today-submission-card__benchmark-link {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
}
.today-submission-card__version {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.today-submission-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}
.today-submission-card__clock {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.today-submission-card__subspecs {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  font-size: var(--font-size-xs);
}
.today-submission-card__subspec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
  word-break: break-word;
}
.today-submission-card__subspec:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.today-submission-card__subspec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.today-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.today-submission-card__avatar {
  width: 22px;
  height: 22px;
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.today-submission-card__name {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xs);
  white-space: nowrap;
}
.today-submission-card__participant .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.today-submission-card__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.today-submission-card__points {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  white-space: nowrap;
}
.today-submission-card__points:empty {
  display: none;
}
.today-submission-card__point,
.hw-records-table__point {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-xs);
  background: transparent;
  border: var(--border-width-sm) solid var(--color-text-secondary);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  line-height: var(--line-height-none);
  text-decoration: none;
  flex-shrink: 0;
}
.today-submission-card__point:hover,
.hw-records-table__point:hover {
  text-decoration: none;
  color: var(--color-text-secondary);
}
.today-submission-card__point-value,
.hw-records-table__point-value {
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  color: inherit;
}
.today-submission-card__point-label,
.hw-records-table__point-label {
  font-size: var(--font-size-3xs);
  font-weight: var(--font-weight-extrabold);
  letter-spacing: 0.05em;
  color: inherit;
  text-transform: uppercase;
}
.today-submission-card__point--wr {
  background: var(--color-warning-bg);
  border-color: var(--color-warning-border);
}
.today-submission-card__point--wr .today-submission-card__point-label {
  color: var(--color-warning);
}
.today-submission-card__point--wr .today-submission-card__point-value {
  color: var(--color-warning-text);
}
.today-submission-card__point--empty {
  opacity: 0.45;
}
.today-submission-card__comments {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  border-radius: var(--border-radius-xs);
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.today-submission-card__comments:hover {
  color: var(--color-link);
  background: var(--color-bg-hover);
}
.today-submission-card__comments i {
  font-size: var(--font-size-2xs);
}
.today-submission-card__vote {
  display: inline-flex;
  align-items: center;
}
.ranking-highlight-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.ranking-highlight-card {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: var(--space-sm) var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  box-shadow: var(--shadow-sm);
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
}
.ranking-highlight-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
}
.ranking-highlight-card__title {
  font-weight: var(--font-weight-semibold);
}
.ranking-highlight-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.ranking-highlight-card__score-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.ranking-highlight-card__score {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.ranking-highlight-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.ranking-highlight-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.today-submission-card__cores,
.ranking-highlight-card__cores {
  font-weight: var(--font-weight-bold);
  flex-shrink: 0;
}
.ranking-highlight-card__points {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  margin-left: auto;
}
.ranking-highlight-card__empty {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
}
.benchmark-ranking-table thead tr th.col-benchmark {
  text-align: center;
  width: 60px;
}
.benchmark-ranking-table tbody tr td.col-benchmark {
  text-align: center;
  font-weight: var(--font-weight-medium);
}
.benchmark-first-spots-table thead tr th.col-benchmark,
.benchmark-first-spots-table tbody tr td.col-benchmark {
  width: 80px;
  text-align: left;
}
.benchmark-ranking-table thead tr th.col-points,
.benchmark-ranking-table tbody tr td.col-points {
  text-align: right;
}
.library-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.library-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.library-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.library-table thead tr th.col-subs,
.library-table tbody tr td.col-subs {
  text-align: right;
}
.library-card__subs-label {
  display: none;
}
.library-table tbody tr {
  transition: background-color var(--transition-fast);
}
.library-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.library-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.library-table tbody tr:last-child td {
  border-bottom: none;
}
.library-table tbody tr td.col-model a {
  font-weight: var(--font-weight-semibold);
}
.xtu-profiles-table-wrapper.sticky-table,
.xtu-analyze-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.xtu-profiles-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.xtu-profiles-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.xtu-profiles-table thead tr th.col-actions,
.xtu-profiles-table tbody tr td.col-actions {
  text-align: right;
}
.xtu-profiles-table tbody tr {
  transition: background-color var(--transition-fast);
}
.xtu-profiles-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.xtu-profiles-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.xtu-profiles-table tbody tr:last-child td {
  border-bottom: none;
}
.xtu-profiles-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
}
.ranking-log-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.ranking-log-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.ranking-log-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.ranking-log-table thead tr th.col-score,
.ranking-log-table tbody tr td.col-score,
.ranking-log-table thead tr th.col-points,
.ranking-log-table tbody tr td.col-points {
  text-align: right;
}
.ranking-log-table tbody tr {
  transition: background-color var(--transition-fast);
}
.ranking-log-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.ranking-log-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.ranking-log-table tbody tr:last-child td {
  border-bottom: none;
}
.ranking-log-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
}
.user-points-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.user-points-table-wrapper::-webkit-scrollbar {
  height: 6px;
}
.user-points-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.user-points-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.user-points-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.user-points-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.user-points-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.user-points-table thead tr th.col-rank {
  width: 70px;
  text-align: center;
}
.user-points-table thead tr th.col-points {
  text-align: right;
  width: 100px;
}
.user-points-table thead tr th.col-date {
  text-align: right;
  width: 110px;
}
.user-points-table thead tr th.col-score {
  text-align: left;
}
.user-points-table thead tr th.col-cooling {
  text-align: left;
}
.user-points-table thead tr th.col-level {
  text-align: center;
  width: 80px;
}
.user-points-table tbody tr {
  transition: background-color var(--transition-fast);
}
.user-points-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.user-points-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.user-points-table tbody tr:last-child td {
  border-bottom: none;
}
.user-points-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}
.user-points-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.user-points-table tbody tr td.col-points {
  text-align: right;
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
  color: var(--color-text-primary);
}
.user-points-table tbody tr td.col-date {
  text-align: right;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.user-points-table tbody tr td.col-level {
  text-align: center;
}
.competitions-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.competitions-table-wrapper::-webkit-scrollbar {
  height: 6px;
}
.competitions-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.competitions-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.competitions-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.competitions-overview-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.competitions-overview-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.competitions-overview-table thead tr th.col-competition {
  width: auto;
}
.competitions-overview-table thead tr th.col-level,
.competitions-overview-table tbody tr td.col-level {
  width: 90px;
  text-align: center;
}
.competitions-overview-table thead tr th.col-stages,
.competitions-overview-table tbody tr td.col-stages {
  width: 80px;
  text-align: center;
}
.competitions-overview-table thead tr th.col-opens,
.competitions-overview-table tbody tr td.col-opens,
.competitions-overview-table thead tr th.col-closes,
.competitions-overview-table tbody tr td.col-closes {
  width: 175px;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.competitions-overview-table thead tr th.col-winner,
.competitions-overview-table tbody tr td.col-winner {
  width: 220px;
}
.competitions-overview-table tbody tr {
  transition: background-color var(--transition-fast);
}
.competitions-overview-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.competitions-overview-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.competitions-overview-table tbody tr:last-child td {
  border-bottom: none;
}
.competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
}
.competitions-table__level {
  display: inline-block;
  padding: var(--space-3xs) var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  background-color: var(--color-bg-hover);
  color: var(--color-text-secondary);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  white-space: nowrap;
}
.competitions-table__stages-label,
.competitions-table__date-label {
  display: none;
}
.competitions-table__stages-count {
  font-weight: var(--font-weight-semibold);
}
.competitions-table__winner {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.competitions-table__winner .gold-trophy {
  font-size: var(--font-size-xs);
  flex-shrink: 0;
}
.career-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.career-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.career-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.career-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.career-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.career-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.career-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.career-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.career-ranking-table thead tr th.col-user {
  width: auto;
}
.career-ranking-table thead tr th.col-team {
  width: auto;
}
.career-ranking-table thead tr th.col-points,
.career-ranking-table thead tr th.col-glp,
.career-ranking-table thead tr th.col-hwp {
  width: 110px;
  text-align: right;
}
.career-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.career-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.career-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.career-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.career-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.career-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.career-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.career-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.career-ranking-table tbody tr td.col-points,
.career-ranking-table tbody tr td.col-glp,
.career-ranking-table tbody tr td.col-hwp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.career-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.career-ranking-card__points-label {
  display: none;
}
.team-career-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.team-career-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.team-career-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.team-career-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.team-career-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.team-career-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.team-career-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.team-career-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.team-career-ranking-table thead tr th.col-team {
  width: auto;
}
.team-career-ranking-table thead tr th.col-points,
.team-career-ranking-table thead tr th.col-glp,
.team-career-ranking-table thead tr th.col-hwp,
.team-career-ranking-table thead tr th.col-gltpp,
.team-career-ranking-table thead tr th.col-hwtpp,
.team-career-ranking-table thead tr th.col-cp,
.team-career-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.team-career-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.team-career-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.team-career-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.team-career-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.team-career-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.team-career-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.team-career-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.team-career-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.team-career-ranking-table tbody tr td.col-points,
.team-career-ranking-table tbody tr td.col-glp,
.team-career-ranking-table tbody tr td.col-hwp,
.team-career-ranking-table tbody tr td.col-gltpp,
.team-career-ranking-table tbody tr td.col-hwtpp,
.team-career-ranking-table tbody tr td.col-cp,
.team-career-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.team-career-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.team-ranking-card__points-label,
.team-ranking-card__members-label {
  display: none;
}
.season-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.season-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.season-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.season-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.season-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.season-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.season-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.season-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.season-ranking-table thead tr th.col-user {
  width: auto;
}
.season-ranking-table thead tr th.col-team {
  width: auto;
}
.season-ranking-table thead tr th.col-points,
.season-ranking-table thead tr th.col-glp,
.season-ranking-table thead tr th.col-hwp,
.season-ranking-table thead tr th.col-cp {
  width: 110px;
  text-align: right;
}
.season-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.season-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.season-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.season-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.season-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.season-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.season-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.season-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.season-ranking-table tbody tr td.col-points,
.season-ranking-table tbody tr td.col-glp,
.season-ranking-table tbody tr td.col-hwp,
.season-ranking-table tbody tr td.col-cp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.season-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.season-ranking-card__points-label {
  display: none;
}
.team-season-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.team-season-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.team-season-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.team-season-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.team-season-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.team-season-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.team-season-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.team-season-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.team-season-ranking-table thead tr th.col-team {
  width: auto;
}
.team-season-ranking-table thead tr th.col-points,
.team-season-ranking-table thead tr th.col-glp,
.team-season-ranking-table thead tr th.col-hwp,
.team-season-ranking-table thead tr th.col-gltpp,
.team-season-ranking-table thead tr th.col-hwtpp,
.team-season-ranking-table thead tr th.col-cp,
.team-season-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.team-season-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.team-season-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.team-season-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.team-season-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.team-season-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.team-season-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.team-season-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.team-season-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.team-season-ranking-table tbody tr td.col-points,
.team-season-ranking-table tbody tr td.col-glp,
.team-season-ranking-table tbody tr td.col-hwp,
.team-season-ranking-table tbody tr td.col-gltpp,
.team-season-ranking-table tbody tr td.col-hwtpp,
.team-season-ranking-table tbody tr td.col-cp,
.team-season-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.team-season-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.team-season-ranking-card__points-label,
.team-season-ranking-card__members-label {
  display: none;
}
.country-league-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.country-league-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.country-league-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.country-league-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.country-league-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.country-league-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.country-league-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.country-league-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.country-league-ranking-table thead tr th.col-country {
  width: auto;
}
.country-league-ranking-table thead tr th.col-points,
.country-league-ranking-table thead tr th.col-glp,
.country-league-ranking-table thead tr th.col-hwp,
.country-league-ranking-table thead tr th.col-cp,
.country-league-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.country-league-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.country-league-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.country-league-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.country-league-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.country-league-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.country-league-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.country-league-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.country-league-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.country-league-ranking-table tbody tr td.col-points,
.country-league-ranking-table tbody tr td.col-glp,
.country-league-ranking-table tbody tr td.col-hwp,
.country-league-ranking-table tbody tr td.col-cp,
.country-league-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.country-league-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.country-league-ranking-card__points-label,
.country-league-ranking-card__members-label {
  display: none;
}
.global-masters-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.global-masters-wrapper::-webkit-scrollbar {
  height: 6px;
}
.global-masters-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.global-masters-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.global-masters-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.global-masters-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.global-masters-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.global-masters-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.global-masters-table thead tr th.col-user {
  width: auto;
}
.global-masters-table thead tr th.col-team {
  width: auto;
}
.global-masters-table thead tr th.col-points,
.global-masters-table thead tr th.col-wrp,
.global-masters-table thead tr th.col-glp {
  width: 110px;
  text-align: right;
}
.global-masters-table tbody tr {
  transition: background-color var(--transition-fast);
}
.global-masters-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.global-masters-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.global-masters-table tbody tr:last-child td {
  border-bottom: none;
}
.global-masters-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}
.global-masters-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.global-masters-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.global-masters-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.global-masters-table tbody tr td.col-points,
.global-masters-table tbody tr td.col-wrp,
.global-masters-table tbody tr td.col-glp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.global-masters-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.global-masters-card__points-label {
  display: none;
}
.hardware-masters-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.hardware-masters-wrapper::-webkit-scrollbar {
  height: 6px;
}
.hardware-masters-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.hardware-masters-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.hardware-masters-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.hardware-masters-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.hardware-masters-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.hardware-masters-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.hardware-masters-table thead tr th.col-user {
  width: auto;
}
.hardware-masters-table thead tr th.col-team {
  width: auto;
}
.hardware-masters-table thead tr th.col-points,
.hardware-masters-table thead tr th.col-2dp,
.hardware-masters-table thead tr th.col-3dp {
  width: 110px;
  text-align: right;
}
.hardware-masters-table tbody tr {
  transition: background-color var(--transition-fast);
}
.hardware-masters-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.hardware-masters-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.hardware-masters-table tbody tr:last-child td {
  border-bottom: none;
}
.hardware-masters-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}
.hardware-masters-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.hardware-masters-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.hardware-masters-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.hardware-masters-table tbody tr td.col-points,
.hardware-masters-table tbody tr td.col-2dp,
.hardware-masters-table tbody tr td.col-3dp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.hardware-masters-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.hardware-masters-card__points-label {
  display: none;
}
.compo-stage-wrapper {
  overflow-x: auto;
}
.compo-stage-wrapper::-webkit-scrollbar {
  height: 6px;
}
.compo-stage-wrapper::-webkit-scrollbar-track {
  background: var(--color-bg-subtle);
}
.compo-stage-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.compo-stage-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.compo-stage-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.compo-stage-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.compo-stage-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.compo-stage-table thead tr th.col-competitor {
  width: auto;
}
.compo-stage-table thead tr th.col-score {
  width: 200px;
}
.compo-stage-table thead tr th.col-points {
  width: 120px;
  text-align: right;
}
.compo-stage-table thead tr th.col-submissions {
  width: 200px;
}
.compo-stage-table tbody tr {
  transition: background-color var(--transition-fast);
}
.compo-stage-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.compo-stage-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.compo-stage-table tbody tr:last-child td {
  border-bottom: none;
}
.compo-stage-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
}
.compo-stage-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.compo-stage-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.compo-stage-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.compo-stage-table tbody tr td.col-competitor .today-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.compo-stage-table tbody tr td.col-score {
  white-space: nowrap;
}
.compo-stage-table tbody tr td.col-points {
  text-align: right;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
}
.compo-stage-table tbody tr td.col-submissions {
  vertical-align: middle;
}
@media screen and (max-width: 1200px) {
  .today-submissions-wrapper.sticky-table,
  .benchmark-ranking-wrapper.sticky-table,
  .member-table-wrapper.sticky-table,
  .team-table-wrapper.sticky-table,
  .team-cups-wrapper.sticky-table,
  .team-points-wrapper.sticky-table,
  .team-members-wrapper.sticky-table,
  .team-requests-wrapper.sticky-table,
  .gpu-table-wrapper.sticky-table,
  .cpu-table-wrapper.sticky-table,
  .mb-table-wrapper.sticky-table,
  .mem-table-wrapper.sticky-table,
  .cooling-table-wrapper.sticky-table,
  .psu-table-wrapper.sticky-table,
  .disk-table-wrapper.sticky-table,
  .hw-records-table-wrapper.sticky-table,
  .library-table-wrapper.sticky-table,
  .xtu-profiles-table-wrapper.sticky-table,
  .xtu-analyze-table-wrapper.sticky-table,
  .ranking-log-table-wrapper.sticky-table,
  .user-points-table-wrapper.sticky-table,
  .competitions-table-wrapper.sticky-table,
  .career-ranking-wrapper.sticky-table,
  .team-career-ranking-wrapper.sticky-table,
  .season-ranking-wrapper.sticky-table,
  .team-season-ranking-wrapper.sticky-table,
  .country-league-ranking-wrapper.sticky-table,
  .global-masters-wrapper.sticky-table,
  .hardware-masters-wrapper.sticky-table,
  .compo-stage-wrapper.sticky-table {
    overflow-x: visible;
  }
  .today-submissions-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .today-submissions-table thead {
    display: none;
  }
  .today-submissions-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .today-submissions-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    margin-bottom: 0;
    white-space: normal;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .today-submissions-table tbody tr:last-child {
    border-bottom: none;
  }
  .today-submissions-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-left-color: var(--color-primary);
  }
  .today-submissions-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-overview-table {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-light);
  }
  .benchmark-overview-table thead {
    display: table-header-group;
  }
  .benchmark-overview-table thead tr {
    display: table-row;
  }
  .benchmark-overview-table thead tr th {
    display: table-cell;
    padding: var(--space-xs) var(--space-md);
    vertical-align: middle;
  }
  .benchmark-overview-table tbody {
    display: table-row-group;
    width: auto;
    background: transparent;
    border: none;
  }
  .benchmark-overview-table tbody tr {
    display: table-row;
    background: transparent;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .benchmark-overview-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: transparent;
    box-shadow: none;
  }
  .benchmark-overview-table tbody tr td {
    display: table-cell;
    padding: var(--space-xs) var(--space-md);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    background: transparent;
    white-space: nowrap;
    vertical-align: middle;
  }
  .benchmark-overview-table tbody tr:last-child td {
    border-bottom: none;
  }
  .today-submissions-table.has-rank tbody tr {
    grid-template-columns: auto 1fr auto;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-rank {
    order: 1;
    width: auto;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-date {
    order: 1;
    grid-column: 1 / -1;
    width: 100%;
    display: flex;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-benchmark {
    order: 2;
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-benchmark {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score {
    order: 3;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score a {
    font-weight: var(--font-weight-semibold);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware {
    order: 4;
    grid-column: 1;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-hardware {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__cores):not(.ranking-highlight-card__cores):not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user {
    order: 5;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: var(--space-2xs) 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
    max-width: 140px;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-points {
    order: 6;
    grid-column: 1;
    justify-self: start;
    align-self: center;
    display: inline-flex;
    align-items: center;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-points {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-points:empty {
    display: none;
  }
  .today-submission-card__point,
  .hw-records-table__point {
    border: none;
    padding: 0;
    background: transparent;
  }
  .today-submission-card__point--wr {
    background: transparent;
  }
  .today-submission-card__points {
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions {
    order: 7;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .today-submission-card__actions {
    margin-left: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill,
  .today-submission-card__vote .vote-pill {
    padding: 0;
    height: 22px;
    font-size: var(--font-size-2xs);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius-full);
    box-shadow: none;
    background-color: var(--color-bg-surface);
    line-height: var(--line-height-none);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill:hover,
  .today-submission-card__vote .vote-pill:hover {
    border-color: var(--color-border-standard);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn,
  .today-submission-card__vote .vote-pill__btn {
    padding: 0 var(--space-s);
    font-size: var(--font-size-2xs);
    gap: var(--space-2xs);
    color: var(--color-text-secondary);
    line-height: 20px;
    height: 100%;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn:hover,
  .today-submission-card__vote .vote-pill__btn:hover {
    color: var(--color-link);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__action.has-voted,
  .today-submission-card__vote .vote-pill__action.has-voted {
    color: var(--color-link);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn i,
  .today-submission-card__vote .vote-pill__btn i {
    font-size: var(--font-size-2xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__divider,
  .today-submission-card__vote .vote-pill__divider {
    height: 10px;
    background-color: var(--color-border-subtle);
    margin: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__count,
  .today-submission-card__vote .vote-pill__count {
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__caret,
  .today-submission-card__vote .vote-pill__caret {
    font-size: 7px;
    opacity: 0.6;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-cooling {
    order: 6;
    grid-column: -2 / -1;
    justify-self: end;
    min-width: 0;
    padding: var(--space-2xs) 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
  }
  .status-badge {
    border: none;
    background: transparent;
    padding: 0;
    gap: var(--space-xs);
    letter-spacing: normal;
    line-height: var(--line-height-tight);
    flex-shrink: 0;
    white-space: nowrap;
  }
  .status-badge i {
    font-size: var(--font-size-xs);
  }
  .status-badge .status-value {
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .stage-number,
  .stage-number--running,
  .stage-number--closed,
  .stage-number--upcoming {
    background: transparent;
    background-color: transparent;
    border: none;
    border-color: transparent;
    border-radius: 0;
    padding: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs {
    order: 8;
    grid-column: 1 / -1;
    padding: var(--space-2xs) 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs .today-submission-card__subspecs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    align-items: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td {
    order: unset !important;
    padding: 0 !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-first-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(1) {
    border-left-color: var(--color-pos-first) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-second-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(2) {
    border-left-color: var(--color-pos-second) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-third-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(3) {
    border-left-color: var(--color-pos-third) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-rank,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-date,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-date {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center;
    justify-self: start;
    width: auto;
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0 !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    min-width: 28px;
    text-align: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-score,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-score,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-score {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center;
    text-align: left !important;
    min-width: 0;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    white-space: nowrap;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-hardware,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-hardware,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-hardware {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center;
    text-align: right !important;
    min-width: 0;
    padding: 0 !important;
    padding-right: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 180px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-cooling,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-cooling,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-cooling,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-cooling {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: center;
    min-width: 0;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-user,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-user,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-user {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: center;
    text-align: right !important;
    min-width: 0;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-subspecs,
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-actions,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-subspecs,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-actions {
    display: none !important;
  }
  .library-table,
  .library-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .library-table thead {
    display: none;
  }
  .library-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .library-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .library-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .library-table tbody tr td.col-manufacturer {
    order: 1;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .library-table tbody tr td.col-model {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-heading);
  }
  .library-table tbody tr td.col-product {
    order: 3;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .library-table tbody tr td.col-product:empty {
    display: none;
  }
  .library-table tbody tr td.col-socket {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .library-table tbody tr td.col-socket:empty {
    display: none;
  }
  .library-table tbody tr td.col-subs {
    order: 5;
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .library-card__subs-label {
    display: inline-block;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .library-table tbody tr td.col-subs a {
    font-weight: var(--font-weight-semibold);
  }
  .xtu-profiles-table,
  .xtu-profiles-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .xtu-profiles-table thead {
    display: none;
  }
  .xtu-profiles-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-profiles-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .xtu-profiles-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .xtu-profiles-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .xtu-profiles-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .xtu-profiles-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
  }
  .xtu-profiles-table tbody tr td.col-processor {
    order: 3;
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .xtu-profiles-table tbody tr td.col-socket {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .xtu-profiles-table tbody tr td.col-socket:empty {
    display: none;
  }
  .xtu-profiles-table tbody tr td.col-clock,
  .xtu-profiles-table tbody tr td.col-motherboard {
    display: none !important;
  }
  .xtu-profiles-table tbody tr td.col-actions {
    order: 5;
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .xtu-profiles-table tbody tr td.col-actions:empty {
    display: none;
  }
  .xtu-profiles-table tbody tr td.col-actions a {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-link);
    padding: var(--space-2xs) var(--space-sm);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius-xs);
    background: var(--color-bg-card);
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-profiles-table tbody tr td.col-actions a:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-primary);
    text-decoration: none;
  }
  .xtu-analyze-table,
  .xtu-analyze-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .xtu-analyze-table thead {
    display: none;
  }
  .xtu-analyze-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-analyze-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .xtu-analyze-table tbody tr.is-active {
    background-color: var(--color-info-bg);
    border-left-color: var(--color-primary);
    border-color: var(--color-primary);
  }
  .xtu-analyze-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .xtu-analyze-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
  }
  .xtu-analyze-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
  }
  .xtu-analyze-table tbody tr td.col-user {
    order: 3;
    min-width: 0;
  }
  .xtu-analyze-table tbody tr td.col-user .today-submission-card__participant {
    max-width: 100%;
    overflow: hidden;
  }
  .xtu-analyze-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-clock {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-clock:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-motherboard {
    order: 5;
    grid-column: 1 / -1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: var(--space-2xs) 0 0;
  }
  .xtu-analyze-table tbody tr td.col-motherboard:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-cooling {
    order: 6;
    grid-column: 1 / -1;
    padding: var(--space-2xs) 0;
  }
  .xtu-analyze-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-points {
    order: 7;
    justify-self: start;
    display: flex;
    align-items: center;
    padding-top: var(--space-2xs);
  }
  .xtu-analyze-table tbody tr td.col-points:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-actions {
    order: 8;
    justify-self: end;
    display: flex;
    align-items: center;
    padding-top: var(--space-2xs);
  }
  .competitions-overview-table,
  .competitions-overview-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .competitions-overview-table thead {
    display: none;
  }
  .competitions-overview-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .competitions-overview-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .competitions-overview-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .competitions-overview-table tbody tr td.col-competition {
    order: 1;
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
  }
  .competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .competitions-overview-table tbody tr td.col-level {
    order: 2;
    grid-column: 1;
    text-align: left;
    justify-self: start;
    width: auto;
  }
  .competitions-overview-table tbody tr td.col-level:empty {
    display: none;
  }
  .competitions-overview-table tbody tr td.col-stages {
    order: 3;
    grid-column: 2;
    text-align: right;
    justify-self: end;
    width: auto;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-table__stages-label {
    display: inline;
  }
  .competitions-overview-table tbody tr td.col-opens {
    order: 4;
    grid-column: 1 / -1;
    text-align: left;
    width: 100%;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-overview-table tbody tr td.col-closes {
    order: 5;
    grid-column: 1 / -1;
    text-align: left;
    justify-self: start;
    width: 100%;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-table__date-label {
    display: inline;
    color: var(--color-text-muted);
  }
  .competitions-overview-table tbody tr td.col-winner {
    order: 6;
    grid-column: 1 / -1;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) dashed var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .competitions-overview-table tbody tr td.col-winner:empty {
    display: none;
  }
  .career-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .career-ranking-table thead {
    display: none !important;
  }
  .career-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .career-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .career-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .career-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .career-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .career-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .career-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .career-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .career-ranking-table tbody tr td.col-rank,
  .career-ranking-table tbody tr.table-first-pos td.col-rank,
  .career-ranking-table tbody tr.table-second-pos td.col-rank,
  .career-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .career-ranking-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .career-ranking-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .career-ranking-table tbody tr td.col-team:empty {
    display: none;
  }
  .career-ranking-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-glp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-hwp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .team-career-ranking-table thead {
    display: none !important;
  }
  .team-career-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .team-career-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .team-career-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .team-career-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .team-career-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-career-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-career-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-career-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .team-career-ranking-table tbody tr td.col-rank,
  .team-career-ranking-table tbody tr.table-first-pos td.col-rank,
  .team-career-ranking-table tbody tr.table-second-pos td.col-rank,
  .team-career-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .team-career-ranking-table tbody tr td.col-team {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .team-career-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-points .team-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table tbody tr td.col-glp,
  .team-career-ranking-table tbody tr td.col-hwp,
  .team-career-ranking-table tbody tr td.col-gltpp,
  .team-career-ranking-table tbody tr td.col-hwtpp,
  .team-career-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .season-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .season-ranking-table thead {
    display: none !important;
  }
  .season-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .season-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .season-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .season-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .season-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .season-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .season-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .season-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .season-ranking-table tbody tr td.col-rank,
  .season-ranking-table tbody tr.table-first-pos td.col-rank,
  .season-ranking-table tbody tr.table-second-pos td.col-rank,
  .season-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .season-ranking-table tbody tr td.col-user {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .season-ranking-table tbody tr td.col-team {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .season-ranking-table tbody tr td.col-team:empty {
    display: none;
  }
  .season-ranking-table tbody tr td.col-points {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .season-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .season-ranking-table tbody tr td.col-glp,
  .season-ranking-table tbody tr td.col-hwp,
  .season-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .team-season-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .team-season-ranking-table thead {
    display: none !important;
  }
  .team-season-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .team-season-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .team-season-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .team-season-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .team-season-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-season-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-season-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-season-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .team-season-ranking-table tbody tr td.col-rank,
  .team-season-ranking-table tbody tr.table-first-pos td.col-rank,
  .team-season-ranking-table tbody tr.table-second-pos td.col-rank,
  .team-season-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .team-season-ranking-table tbody tr td.col-team {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .team-season-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-points .team-season-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-season-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-season-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .team-season-ranking-table tbody tr td.col-glp,
  .team-season-ranking-table tbody tr td.col-hwp,
  .team-season-ranking-table tbody tr td.col-gltpp,
  .team-season-ranking-table tbody tr td.col-hwtpp,
  .team-season-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .country-league-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .country-league-ranking-table thead {
    display: none !important;
  }
  .country-league-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .country-league-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .country-league-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .country-league-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .country-league-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .country-league-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .country-league-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .country-league-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .country-league-ranking-table tbody tr td.col-rank,
  .country-league-ranking-table tbody tr.table-first-pos td.col-rank,
  .country-league-ranking-table tbody tr.table-second-pos td.col-rank,
  .country-league-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .country-league-ranking-table tbody tr td.col-country {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .country_flags {
    flex-shrink: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .country-league-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-points .country-league-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .country-league-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .country-league-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .country-league-ranking-table tbody tr td.col-glp,
  .country-league-ranking-table tbody tr td.col-hwp,
  .country-league-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .global-masters-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .global-masters-table thead {
    display: none !important;
  }
  .global-masters-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .global-masters-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .global-masters-table tbody tr:last-child {
    border-bottom: none;
  }
  .global-masters-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .global-masters-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .global-masters-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .global-masters-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .global-masters-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .global-masters-table tbody tr td.col-rank,
  .global-masters-table tbody tr.table-first-pos td.col-rank,
  .global-masters-table tbody tr.table-second-pos td.col-rank,
  .global-masters-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .global-masters-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .global-masters-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .global-masters-table tbody tr td.col-team:empty {
    display: none;
  }
  .global-masters-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-wrp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-glp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .hardware-masters-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .hardware-masters-table thead {
    display: none !important;
  }
  .hardware-masters-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .hardware-masters-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .hardware-masters-table tbody tr:last-child {
    border-bottom: none;
  }
  .hardware-masters-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .hardware-masters-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .hardware-masters-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .hardware-masters-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .hardware-masters-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .hardware-masters-table tbody tr td.col-rank,
  .hardware-masters-table tbody tr.table-first-pos td.col-rank,
  .hardware-masters-table tbody tr.table-second-pos td.col-rank,
  .hardware-masters-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .hardware-masters-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .hardware-masters-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  .hardware-masters-table tbody tr td.col-team:empty {
    display: none;
  }
  .hardware-masters-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-2dp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-3dp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .compo-stage-table {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .compo-stage-table thead {
    display: block;
    width: 100%;
    background: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
  }
  .compo-stage-table thead tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-left: var(--pos-marker-width) solid transparent;
    align-items: center;
    background: transparent;
  }
  .compo-stage-table thead tr th {
    background: transparent;
    border: none;
    padding: 0;
    color: var(--color-text-white);
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .compo-stage-table thead tr th.col-rank {
    grid-column: 1;
    min-width: 20px;
    width: auto;
    text-align: left;
    font-variant-numeric: tabular-nums;
  }
  .compo-stage-table thead tr th.col-competitor {
    grid-column: 2;
    width: auto;
    text-align: left;
    min-width: 0;
  }
  .compo-stage-table thead tr th.col-points {
    grid-column: 3;
    width: auto;
    text-align: right;
    justify-self: end;
  }
  .compo-stage-table thead tr th.col-score,
  .compo-stage-table thead tr th.col-submissions {
    display: none;
  }
  .compo-stage-table tbody {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
  .compo-stage-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    row-gap: var(--space-2xs);
    column-gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .compo-stage-table tbody tr:last-child {
    border-bottom: none;
  }
  .compo-stage-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .compo-stage-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .compo-stage-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .compo-stage-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .compo-stage-table tbody tr.table-pos {
    border-left-color: var(--color-pos-four-five);
  }
  .compo-stage-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .compo-stage-table tbody tr td.col-rank,
  .compo-stage-table tbody tr.table-first-pos td.col-rank,
  .compo-stage-table tbody tr.table-second-pos td.col-rank,
  .compo-stage-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-muted);
    display: inline-flex;
    align-items: center;
    padding: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    min-width: 24px;
    font-variant-numeric: tabular-nums;
    text-align: left;
  }
  .compo-stage-table tbody tr.table-first-pos td.col-rank {
    color: var(--color-pos-first);
  }
  .compo-stage-table tbody tr.table-second-pos td.col-rank {
    color: var(--color-pos-second);
  }
  .compo-stage-table tbody tr.table-third-pos td.col-rank {
    color: var(--color-pos-third);
  }
  .compo-stage-table tbody tr td.col-competitor {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .compo-stage-table tbody tr td.col-competitor .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-competitor .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .compo-stage-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-sm);
    white-space: nowrap;
    padding: 0;
  }
  .compo-stage-table tbody tr td.col-score {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    padding: 0;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-submissions {
    grid-column: 2 / -1;
    grid-row: 3;
    align-self: center;
    justify-self: start;
    padding: 0;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-submissions:empty,
  .compo-stage-table tbody tr td.col-submissions--empty {
    display: none;
  }
  .compo-scoreboard-header {
    padding: var(--space-sm) var(--space-md);
    gap: var(--space-xs);
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-header__rank {
    min-width: 20px;
  }
  .compo-scoreboard-header__content {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card {
    padding: var(--space-sm) var(--space-md);
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__rank {
    min-width: 20px;
    height: 22px;
    font-size: var(--font-size-xs);
  }
  .compo-scoreboard-card__content {
    gap: var(--space-2xs);
  }
  .compo-scoreboard-card__header {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__participant {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__participant .country_flags {
    width: var(--space-sm);
    height: var(--space-sm);
    background-size: var(--space-sm);
  }
  .compo-scoreboard-card__avatar {
    width: 22px;
    height: 22px;
  }
  .compo-scoreboard-card__name {
    font-size: var(--font-size-xs);
  }
  .compo-scoreboard-card__total-value {
    font-size: var(--font-size-sm);
  }
  .compo-scoreboard-card__cups {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: var(--space-sm);
    padding-top: var(--space-sm);
    padding-bottom: 2px;
  }
  .compo-scoreboard-card__cups::-webkit-scrollbar {
    display: none;
  }
  .compo-scoreboard-cup {
    flex-shrink: 0;
    padding: 2px 6px;
    gap: var(--space-2xs);
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__label {
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__score {
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__points {
    font-size: var(--font-size-2xs);
  }
  .ranking-log-table,
  .ranking-log-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .ranking-log-table thead {
    display: none;
  }
  .ranking-log-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .ranking-log-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .ranking-log-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .ranking-log-table tbody tr td.col-user,
  .ranking-log-table tbody tr td.col-ranking,
  .ranking-log-table tbody tr td.col-cooling {
    display: none !important;
  }
  .ranking-log-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-log-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
  }
  .ranking-log-table tbody tr td.col-benchmark {
    order: 3;
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-hardware {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-log-table tbody tr td.col-hardware .ranking-log-cores {
    margin-left: var(--space-2xs);
    color: var(--color-text-tertiary);
  }
  .ranking-log-table tbody tr td.col-rank {
    order: 5;
    text-align: left;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-points {
    order: 6;
    text-align: right;
    justify-self: end;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-brand);
  }
  .ranking-log-table tbody tr td.col-points:empty {
    display: none;
  }
  .user-points-table,
  .user-points-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .user-points-table thead {
    display: none;
  }
  .user-points-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .user-points-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .user-points-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .user-points-table tbody tr td.col-benchmark {
    order: 1;
    min-width: 0;
    font-weight: var(--font-weight-semibold);
  }
  .user-points-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
  }
  .user-points-table tbody tr td.col-hardware {
    order: 3;
    grid-column: 1 / -1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .user-points-table tbody tr td.col-hardware:empty {
    display: none;
  }
  .user-points-table tbody tr td.col-cooling {
    order: 4;
    grid-column: 1 / -1;
  }
  .user-points-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .user-points-table tbody tr td.col-date {
    display: none;
  }
  .user-points-table tbody tr td.col-rank {
    order: 5;
    text-align: left;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
  }
  .user-points-table tbody tr td.col-points {
    order: 6;
    text-align: right;
    justify-self: end;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-brand);
  }
  .user-points-table--competition tbody tr td.col-competition {
    order: 1;
    min-width: 0;
    font-weight: var(--font-weight-semibold);
  }
  .user-points-table--competition tbody tr td.col-level {
    order: 2;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .user-points-table--competition tbody tr td.col-date {
    order: 3;
    grid-column: 1 / -1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-highlight-grid {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
  }
  .wall-submission-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: var(--space-sm);
    border: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .wall-card__body {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    align-items: center;
    white-space: normal;
  }
  .wall-card__user {
    order: 1;
    grid-column: 1;
    min-width: 0;
  }
  .wall-card__score {
    order: 2;
    grid-column: 2;
    margin-left: 0;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
  }
  .wall-card__benchmark {
    order: 3;
    grid-column: 1 / -1;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    word-break: break-word;
  }
  .wall-card__hardware {
    order: 4;
    grid-column: 1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    word-break: break-word;
    min-width: 0;
  }
  .wall-card__date {
    order: 5;
    grid-column: 2;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    white-space: nowrap;
    align-self: start;
  }
  .wall-card__cores {
    order: 6;
    grid-column: 1;
    align-self: center;
    width: fit-content;
    background: transparent;
    padding: 0;
    border-radius: 0;
  }
  .wall-card__cooling {
    order: 7;
    grid-column: 2;
    justify-self: end;
  }
  .wall-card__cooling:empty {
    display: none;
  }
  .wall-card__rankings {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    background: var(--color-bg-subtle);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    white-space: normal;
  }
  .wall-card__rankings .grid-spec {
    width: 100%;
    min-width: 0;
  }
  .wall-card__rankings .grid-spec-row {
    padding: var(--space-2xs) 0;
    border-bottom: none;
    overflow: visible;
  }
  .wall-card__rankings .attribute {
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: normal;
    word-break: break-word;
  }
  .wall-card__rankings .value {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    white-space: normal;
    word-break: break-word;
  }
  @media screen and (max-width: 480px) {
    .wall-card__rankings {
      grid-template-columns: 1fr;
      gap: var(--space-2xs);
    }
    .wall-card__rankings .grid-spec-row--stacked {
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
    }
    .wall-card__rankings .value {
      text-align: right;
      width: auto;
    }
  }
  .benchmark-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .benchmark-ranking-table thead {
    display: none !important;
  }
  .benchmark-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .benchmark-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .benchmark-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .benchmark-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .benchmark-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .benchmark-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .benchmark-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .benchmark-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-ranking-table tbody tr td.col-rank,
  .benchmark-ranking-table tbody tr.table-first-pos td.col-rank,
  .benchmark-ranking-table tbody tr.table-second-pos td.col-rank,
  .benchmark-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
  }
  .benchmark-ranking-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    min-width: 28px;
    text-align: center;
  }
  .benchmark-ranking-table tbody tr td.col-score {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    text-align: left;
    padding: 0;
    min-width: 0;
  }
  .benchmark-ranking-table tbody tr td.col-score a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
  }
  .benchmark-ranking-table tbody tr td.col-user {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .benchmark-ranking-table tbody tr td.col-user .today-submission-card__participant {
    justify-content: flex-end;
    max-width: 100%;
    min-width: 0;
  }
  .benchmark-ranking-table tbody tr td.col-user .today-submission-card__name {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-ranking-table tbody tr td.col-hardware {
    grid-column: 2 / 4;
    grid-row: 2;
    min-width: 0;
    padding: 0;
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__cores):not(.ranking-highlight-card__cores):not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .ranking-highlight-card__meta .today-submission-card__clock {
    display: none !important;
  }
  .benchmark-ranking-table tbody tr td.col-cooling {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
  }
  .benchmark-ranking-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .benchmark-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
    align-self: center;
    padding: 0;
    text-align: right;
  }
  .benchmark-ranking-table tbody tr td.col-points:empty {
    display: none;
  }
  .benchmark-ranking-table tbody tr td.col-benchmark {
    display: none !important;
  }
  .benchmark-first-spots-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .benchmark-first-spots-table thead {
    display: none !important;
  }
  .benchmark-first-spots-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .benchmark-first-spots-table tbody tr {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .benchmark-first-spots-table tbody tr:last-child {
    border-bottom: none;
  }
  .benchmark-first-spots-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-left-color: var(--color-primary);
  }
  .benchmark-first-spots-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-first-spots-table tbody tr td.col-benchmark {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    padding: 0;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-benchmark .today-submission-card__benchmark-link {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-score {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    text-align: left;
    padding: 0;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-score a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
  }
  .benchmark-first-spots-table tbody tr td.col-hardware {
    grid-column: 3 / -1;
    grid-row: 1;
    align-self: center;
    min-width: 0;
    padding: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--font-size-xs);
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
  }
  .benchmark-first-spots-table tbody tr td.col-user {
    grid-column: 1 / 3;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .benchmark-first-spots-table tbody tr td.col-cooling {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
  }
  .benchmark-first-spots-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .benchmark-first-spots-table tbody tr td.col-actions {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    padding: 0;
    text-align: right;
  }
  .benchmark-first-spots-table tbody tr td.col-actions .today-submission-card__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .member-table tbody tr {
    grid-template-columns: 1fr auto;
  }
  .member-table tbody tr td.col-rank,
  .member-table tbody tr td.col-roles {
    display: none !important;
  }
  .member-table tbody tr td.col-user {
    order: 1;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-user .member-card__name {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .member-table tbody tr td.col-team {
    order: 2;
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    min-width: 0;
    text-align: right;
  }
  .member-table tbody tr td.col-team:empty {
    display: none;
  }
  .member-table tbody tr td.col-team .member-card__team {
    max-width: min(160px, 45vw);
  }
  .member-table tbody tr td.col-league {
    order: 3;
    grid-column: 1;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-league:empty {
    display: none;
  }
  .member-table tbody tr td.col-joined {
    order: 4;
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    white-space: nowrap;
    flex-shrink: 0;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .member-table tbody tr td.col-joined:empty {
    display: none;
  }
  .member-table tbody tr td.col-career-rank {
    order: 5;
    grid-column: 1;
    grid-row: 3;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    text-align: left;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-career-rank:empty {
    display: none;
  }
  .member-table tbody tr td.col-career-points {
    order: 6;
    grid-column: 2;
    grid-row: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .member-table tbody tr td.col-career-points:empty {
    display: none;
  }
  .member-table tbody tr td.col-actions {
    order: 7;
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: end;
    align-self: center;
    padding-top: var(--space-2xs);
  }
  .member-table tbody tr td.col-actions:empty {
    display: none;
  }
  .team-table tbody tr {
    grid-template-columns: 1fr auto;
  }
  .team-table tbody tr td.col-rank,
  .team-table tbody tr td.col-captains {
    display: none !important;
  }
  .team-table tbody tr td.col-team {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    padding-bottom: var(--space-xs);
  }
  .team-table tbody tr td.col-members {
    grid-column: 1;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    padding: var(--space-2xs) 0;
  }
  .team-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-table tbody tr td.col-status {
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .team-table tbody tr td.col-status:empty {
    display: none;
  }
  .search-submissions-table tbody tr,
  .team-submissions-table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-rank,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-rank {
    display: none !important;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-benchmark,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-benchmark {
    order: 1;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-score,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-score {
    order: 2;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    text-align: right;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-hardware,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-hardware {
    order: 3;
    grid-column: 1;
    grid-row: 2;
    justify-self: stretch;
    align-self: center;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-cooling,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-cooling {
    order: 4;
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    min-width: 0;
    padding: var(--space-2xs) 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user {
    order: 5;
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    text-align: left;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user .today-submission-card__participant,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user .today-submission-card__participant {
    justify-content: flex-start;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user .today-submission-card__name,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user .today-submission-card__name {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points {
    order: 6;
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
    align-self: center;
    text-align: right;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points:empty,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points:empty {
    display: none;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points .today-submission-card__points,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points .today-submission-card__points {
    justify-content: flex-end;
  }
  .team-cups-table tbody tr {
    display: grid;
    grid-template-columns: auto repeat(4, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    align-items: center;
  }
  .team-cups-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-cups-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-cups-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-cups-table tbody tr td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    display: inline-flex;
    align-items: center;
  }
  .team-cups-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    min-width: 24px;
    text-align: left;
  }
  .team-cups-table tbody tr td.col-user {
    grid-column: 2 / -1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }
  .team-cups-table tbody tr td.col-user .today-submission-card__participant {
    min-width: 0;
  }
  .team-cups-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .team-cups-table tbody tr td.col-trophy {
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: none;
    padding: 0;
    width: auto;
    text-align: left;
  }
  .team-cups-table tbody tr td.col-trophy--gold {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }
  .team-cups-table tbody tr td.col-trophy--silver {
    grid-column: 3;
    grid-row: 2;
    justify-self: center;
  }
  .team-cups-table tbody tr td.col-trophy--bronze {
    grid-column: 4;
    grid-row: 2;
    justify-self: center;
  }
  .team-cups-table tbody tr td.col-trophy--medals {
    grid-column: 5;
    grid-row: 2;
    justify-self: end;
    justify-content: flex-end;
    margin-left: auto;
    text-align: right;
  }
  .team-points-table tbody tr {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    align-items: center;
  }
  .team-points-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-points-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-points-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-points-table tbody tr td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    display: inline-flex;
    align-items: center;
  }
  .team-points-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    min-width: 24px;
    text-align: left;
  }
  .team-points-table tbody tr td.col-user {
    grid-column: 2 / -1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }
  .team-points-table tbody tr td.col-user .today-submission-card__participant {
    min-width: 0;
  }
  .team-points-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .team-points-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    width: auto;
    text-align: left;
  }
  .team-points-table tbody tr td.col-league {
    grid-column: 3;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    width: auto;
    margin-left: auto;
    text-align: right;
  }
  .team-points-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-points-table tbody tr td.col-metric {
    display: none;
  }
  .team-members-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2xs) var(--space-sm);
  }
  .team-members-table tbody tr td.col-user {
    order: 1;
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: var(--space-2xs);
  }
  .team-members-table tbody tr td.col-league {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: auto;
    margin-bottom: var(--space-2xs);
    text-align: right;
  }
  .team-members-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-role {
    display: none;
  }
  .team-members-table tbody tr td.col-joined {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    text-align: left;
  }
  .team-members-table tbody tr td.col-joined:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-visit {
    order: 4;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    margin-left: auto;
    text-align: right;
  }
  .team-members-table tbody tr td.col-visit:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-actions {
    order: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 100%;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .team-members-table tbody tr td.col-actions:empty {
    display: none;
  }
  .team-member-date__label {
    display: inline;
  }
  .team-requests-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2xs) var(--space-sm);
  }
  .team-requests-table tbody tr td.col-user {
    order: 1;
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: var(--space-2xs);
  }
  .team-requests-table tbody tr td.col-league {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: auto;
    margin-bottom: var(--space-2xs);
    text-align: right;
  }
  .team-requests-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-team {
    display: none;
  }
  .team-requests-table tbody tr td.col-joined {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    text-align: left;
  }
  .team-requests-table tbody tr td.col-joined:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-visit {
    order: 4;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    margin-left: auto;
    text-align: right;
  }
  .team-requests-table tbody tr td.col-visit:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-actions {
    order: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 100%;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .team-requests-table tbody tr td.col-actions:empty {
    display: none;
  }
  .gpu-table tbody tr td.col-model,
  .cpu-table tbody tr td.col-model,
  .mb-table tbody tr td.col-model,
  .mem-table tbody tr td.col-model,
  .cooling-table tbody tr td.col-model,
  .psu-table tbody tr td.col-model,
  .disk-table tbody tr td.col-model {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .gpu-table tbody tr td.col-subs,
  .cpu-table tbody tr td.col-subs,
  .mb-table tbody tr td.col-subs,
  .mem-table tbody tr td.col-subs,
  .cooling-table tbody tr td.col-type,
  .psu-table tbody tr td.col-subs,
  .disk-table tbody tr td.col-subs {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .gpu-table tbody tr td.col-subs:empty,
  .cpu-table tbody tr td.col-subs:empty,
  .mb-table tbody tr td.col-subs:empty,
  .mem-table tbody tr td.col-subs:empty,
  .cooling-table tbody tr td.col-type:empty,
  .psu-table tbody tr td.col-subs:empty,
  .disk-table tbody tr td.col-subs:empty {
    display: none;
  }
  .gpu-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .gpu-table tbody tr td.col-core {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .gpu-table tbody tr td.col-memory {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .gpu-table tbody tr td.col-clock:empty,
  .gpu-table tbody tr td.col-core:empty,
  .gpu-table tbody tr td.col-memory:empty {
    display: none;
  }
  .cpu-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .cpu-table tbody tr td.col-cores {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .cpu-table tbody tr td.col-arch {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .cpu-table tbody tr td.col-clock:empty,
  .cpu-table tbody tr td.col-cores:empty,
  .cpu-table tbody tr td.col-arch:empty {
    display: none;
  }
  .mb-table tbody tr td.col-chipset {
    grid-column: 1;
    grid-row: 2;
  }
  .mb-table tbody tr td.col-launch {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .mb-table tbody tr td.col-chipset:empty,
  .mb-table tbody tr td.col-launch:empty {
    display: none;
  }
  .mem-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .mem-table tbody tr td.col-release {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .mem-table tbody tr td.col-clock:empty,
  .mem-table tbody tr td.col-release:empty {
    display: none;
  }
  .psu-table tbody tr td.col-watt {
    grid-column: 1;
    grid-row: 2;
  }
  .psu-table tbody tr td.col-release {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .psu-table tbody tr td.col-watt:empty,
  .psu-table tbody tr td.col-release:empty {
    display: none;
  }
  .disk-table tbody tr td.col-controller {
    grid-column: 1;
    grid-row: 2;
  }
  .disk-table tbody tr td.col-capacity {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .disk-table tbody tr td.col-controller:empty,
  .disk-table tbody tr td.col-capacity:empty {
    display: none;
  }
  .hw-records-table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto auto minmax(0, 1fr);
    row-gap: var(--space-2xs);
  }
  .hw-records-table tbody tr td.col-benchmark {
    grid-column: 1 / 4;
    grid-row: 1;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
    align-self: center;
  }
  .hw-records-table tbody tr td.col-benchmark .hw-records-table__benchmark {
    max-width: 100%;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__benchmark-link {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__benchmark-link span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__version {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-score {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    text-align: right;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-score a,
  .hw-records-table .hw-records-table__context-score {
    font-weight: var(--font-weight-semibold);
  }
  .hw-records-table tbody tr td.col-user {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    overflow: hidden;
    align-self: center;
    padding-right: var(--space-xs);
  }
  .hw-records-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-user .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .hw-records-table tbody tr td.col-date {
    grid-column: 2 / 4;
    grid-row: 2;
    justify-self: center;
    align-self: center;
    white-space: nowrap;
    padding: 0 var(--space-xs);
  }
  .hw-records-table tbody tr td.col-points {
    grid-column: 4;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-user:empty,
  .hw-records-table tbody tr td.col-points:empty,
  .hw-records-table tbody tr td.col-date:empty {
    display: none;
  }
  .hw-records-table tbody tr.hw-rec--no-context td.col-team-record,
  .hw-records-table tbody tr.hw-rec--no-context td.col-user-record {
    display: none;
  }
  .hw-records-table tbody tr td.col-team-record,
  .hw-records-table tbody tr td.col-user-record {
    grid-row: 3;
    min-width: 0;
    overflow: hidden;
    padding-top: var(--space-xs);
    margin-top: var(--space-2xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .hw-records-table tbody tr td.col-team-record {
    grid-column: 1 / 3;
    padding-right: var(--space-xs);
  }
  .hw-records-table tbody tr td.col-user-record {
    grid-column: 3 / 5;
    padding-left: var(--space-xs);
    border-left: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-box,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-box {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    font-size: var(--font-size-xs);
    width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-label,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-label {
    display: inline-flex;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    flex-shrink: 0;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__rank-pill,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__rank-pill {
    flex-shrink: 0;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-score,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-score {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-user-record .hw-records-table__point {
    margin-left: auto;
    flex-shrink: 0;
  }
}
.member-card__user {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.member-card__avatar {
  width: var(--space-xl);
  height: var(--space-xl);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.member-card__name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.member-card__user .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.member-card__roles {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  flex-wrap: wrap;
}
.member-card__header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
  margin-left: auto;
}
.member-card__impersonate-form {
  display: inline-flex;
  margin: 0;
}
.member-card__impersonate-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--border-width-sm) var(--space-sm);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
  cursor: pointer;
}
.member-card__team {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  min-width: 0;
}
.member-card__team span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.member-card__team-avatar {
  width: var(--space-lg);
  height: var(--space-lg);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  object-fit: cover;
  flex-shrink: 0;
}
.member-card__team--none {
  color: var(--color-text-muted);
}
.member-card__team--none i {
  color: var(--color-text-muted);
  font-size: var(--font-size-2xs);
  flex-shrink: 0;
}
.member-card__subspec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-tight);
}
.member-card__subspec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.member-card__stat {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  line-height: var(--line-height-tight);
  white-space: nowrap;
}
.member-card__points-score {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.member-card__points-score i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.member-card__points-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.team-card__identity {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  min-width: 0;
}
.team-card__avatar {
  width: var(--space-xl);
  height: var(--space-xl);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.team-card__name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.team-card__identity .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.team-card__captains-list {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.team-card__captain {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}
.team-card__captain:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.team-card__captain-avatar {
  width: var(--space-lg);
  height: var(--space-lg);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  object-fit: cover;
  flex-shrink: 0;
}
.team-card__members-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.team-card__members-badge i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.team-card__members-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cpu-card__identity,
.gpu-card__identity,
.mb-card__identity,
.mem-card__identity,
.disk-card__identity,
.psu-card__identity,
.cooling-card__identity {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  min-width: 0;
}
.cpu-card__name,
.gpu-card__name,
.mb-card__name,
.mem-card__name,
.disk-card__name,
.psu-card__name,
.cooling-card__name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cpu-card__manufacturer,
.gpu-card__manufacturer,
.cpu-card__socket,
.mb-card__manufacturer,
.mb-card__socket,
.mem-card__manufacturer,
.mem-card__type,
.disk-card__manufacturer,
.disk-card__type,
.psu-card__manufacturer,
.cooling-card__manufacturer,
.cooling-card__type {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  line-height: var(--line-height-tight);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}
.cpu-card__manufacturer:hover,
.gpu-card__manufacturer:hover,
.cpu-card__socket:hover,
.mb-card__manufacturer:hover,
.mb-card__socket:hover,
.mem-card__manufacturer:hover,
.mem-card__type:hover,
.disk-card__manufacturer:hover,
.disk-card__type:hover,
.psu-card__manufacturer:hover,
.cooling-card__manufacturer:hover,
.cooling-card__type:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.disk-card__partner-logo,
.psu-card__partner-logo,
.cooling-card__partner-logo {
  display: inline-flex;
  align-items: center;
  height: 18px;
}
.disk-card__partner-logo img,
.psu-card__partner-logo img,
.cooling-card__partner-logo img {
  height: 16px;
  width: auto;
  object-fit: contain;
  display: block;
}
.cpu-card__subs-badge,
.gpu-card__subs-badge,
.mb-card__subs-badge,
.mem-card__subs-badge,
.disk-card__subs-badge,
.psu-card__subs-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.cpu-card__subs-badge i,
.gpu-card__subs-badge i,
.mb-card__subs-badge i,
.mem-card__subs-badge i,
.disk-card__subs-badge i,
.psu-card__subs-badge i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.cpu-card__subs-label,
.gpu-card__subs-label,
.mb-card__subs-label,
.mem-card__subs-label,
.disk-card__subs-label,
.psu-card__subs-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cpu-card__spec,
.gpu-card__spec,
.mb-card__spec,
.mem-card__spec,
.disk-card__spec,
.psu-card__spec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-tight);
}
.cpu-card__spec i,
.gpu-card__spec i,
.mb-card__spec i,
.mem-card__spec i,
.disk-card__spec i,
.psu-card__spec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.cpu-card__spec-value,
.gpu-card__spec-value,
.mb-card__spec-value,
.mem-card__spec-value,
.disk-card__spec-value,
.psu-card__spec-value {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}
.cpu-card__spec--clock .cpu-card__spec-value,
.gpu-card__spec--clock .gpu-card__spec-value,
.mem-card__spec--clock .mem-card__spec-value {
  font-family: var(--font-mono);
}
.hw-records-table {
  width: 100%;
}
.hw-records-table thead tr th.col-benchmark {
  width: 22%;
  text-align: left;
}
.hw-records-table thead tr th.col-score {
  text-align: left;
}
.hw-records-table thead tr th.col-user {
  text-align: left;
}
.hw-records-table thead tr th.col-date,
.hw-records-table tbody tr td.col-date {
  text-align: left;
  width: auto;
  white-space: nowrap;
}
.hw-records-table thead tr th.col-points {
  text-align: left;
}
.hw-records-table thead tr th.col-team-record,
.hw-records-table thead tr th.col-user-record {
  width: 15%;
  text-align: left;
}
.hw-records-table tbody tr td.col-benchmark,
.hw-records-table tbody tr td.col-score,
.hw-records-table tbody tr td.col-user,
.hw-records-table tbody tr td.col-date,
.hw-records-table tbody tr td.col-points,
.hw-records-table tbody tr td.col-team-record,
.hw-records-table tbody tr td.col-user-record {
  vertical-align: middle;
}
.hw-records-table__benchmark {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.hw-records-table__date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  flex-shrink: 0;
  white-space: nowrap;
}
.hw-records-table__date i {
  font-size: var(--font-size-2xs);
}
.hw-records-table__no-record {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-style: italic;
}
.hw-records-table__context-box {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.hw-records-table__context-label {
  display: none;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-2xs);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.hw-records-table__rank-pill {
  display: inline-flex;
  align-items: center;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.hw-records-table__context-score {
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
}
.hw-records-table__context-none {
  color: var(--color-text-muted);
  font-style: italic;
  font-size: var(--font-size-xs);
}
.flex-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  align-items: center;
}
.flex-row--achievement-action {
  justify-content: flex-end;
  margin-bottom: var(--space-md);
}
.flex-row--additional-images {
  align-items: flex-end;
}
.flex-row--world-records {
  flex-wrap: nowrap;
  overflow: auto;
  background: var(--color-bg-alt);
  padding: var(--space-md);
}
.flex-row--table-compare-header {
  justify-content: space-between;
  flex-wrap: nowrap;
}
.sticky-table--compare .remove-btn {
  background: transparent;
  border: none;
  color: var(--font-color-muted, var(--color-text-muted));
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-none);
  padding: 0 var(--space-xs);
  cursor: pointer;
  border-radius: var(--border-radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.sticky-table--compare .remove-btn:hover {
  color: var(--color-text-white);
  background-color: var(--color-error);
}
.chart-wrapper {
  width: 100%;
  overflow: hidden;
}
.empty-message {
  margin: 0;
  padding: var(--space-sm) 0;
  color: var(--font-color-muted, var(--color-text-secondary));
  font-size: var(--font-size-md);
}
.flex-row--news-header {
  justify-content: space-between;
  padding: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.flex-row--news-footer {
  justify-content: flex-start;
  padding: var(--space-md);
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
}
.flex-row--wall {
  gap: var(--space-md);
  padding: var(--space-md) 0;
}
.flex-row--wall-social {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  margin-bottom: var(--space-sm);
}
.flex-row--badges {
  gap: var(--space-sm);
  padding: var(--space-xs) 0;
  align-items: center;
}
.modal-member-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  align-items: center;
}
.flex-row--info {
  gap: var(--space-md) var(--space-lg);
  padding: var(--space-md);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  justify-content: space-between;
  align-items: center;
}
.flex-row-group {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item--world-record {
  flex-direction: column;
  min-width: 400px;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  width: 100%;
}
.alert {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid transparent;
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  width: 100%;
  margin-bottom: var(--space-md);
  box-sizing: border-box;
}
.alert > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.alert p {
  margin: 0;
}
.alert a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-row > .alert {
  margin-bottom: 0;
}
.alert i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-normal);
  flex-shrink: 0;
}
.alert i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.alert-warning {
  color: var(--color-warning-text);
  background-color: var(--color-warning-bg);
  border-color: var(--color-warning-border);
}
.alert-warning i::before {
  content: "\f071";
}
.alert-danger {
  color: var(--color-error-text);
  background-color: var(--color-error-bg);
  border-color: var(--color-error-border);
}
.alert-danger i::before {
  content: "\f06a";
}
.alert-info {
  color: var(--color-link-hover);
  background-color: var(--color-info-bg);
  border-color: var(--color-info-border);
}
.alert-info i::before {
  content: "\f05a";
}
.screenshot-box {
  display: flex;
  gap: var(--space-sm);
  overflow: auto;
  width: 100%;
}
.screenshot-box a {
  text-decoration: none;
}
.screenshot-box img {
  border-radius: var(--border-radius-xs);
}
.screenshot-box--highlight-submission img {
  height: 100px;
}
.screenshot-box--submission img {
  height: 250px;
}
.screenshot-box--submission iframe,
.screenshot-box--submission .youtube-placeholder {
  height: 250px;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: var(--border-radius-xs);
  flex-shrink: 0;
}
.screenshot-box--news {
  display: flex;
  justify-content: center;
  overflow: hidden;
  height: 200px;
  border-radius: var(--border-radius-xs);
}
.screenshot-box--news img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rich-text-content {
  color: var(--color-text-heading);
}
.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4 {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
  margin-top: var(--space-lg);
  margin-bottom: var(--space-sm);
  line-height: var(--line-height-tight);
}
.rich-text-content strong,
.rich-text-content b {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
}
.rich-text-content p {
  margin-top: 0;
  margin-bottom: var(--space-md);
}
.rich-text-content ul,
.rich-text-content ol {
  padding-left: 1.25rem;
  margin-top: var(--space-sm);
  margin-bottom: var(--space-md);
}
.rich-text-content li {
  margin-bottom: 0.35rem;
}
.rich-text-content a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: var(--color-link-underline);
  text-underline-offset: 3px;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}
.rich-text-content a:hover {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}
.rich-text-content code,
.rich-text-content pre {
  background: var(--color-bg-hover);
  padding: 0.2rem 0.4rem;
  border-radius: var(--border-radius);
  font-family: var(--font-mono);
  color: var(--color-text-heading);
}
.rich-text-content img {
  width: 100%;
  max-width: 600px;
  border-radius: var(--border-radius);
}
.rich-text-content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}
.rich-text-content th,
.rich-text-content td {
  padding: var(--space-sm) var(--space-md);
  border: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
.rich-text-content th {
  background-color: var(--color-bg-hover);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.rich-text-content tr:hover td {
  background-color: var(--color-bg-hover);
}
.rich-text-content iframe {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 16 / 9;
  display: block;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
  border: none;
  border-radius: var(--border-radius);
}
.comments-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin-bottom: var(--space-lg);
}
.submitter-quote-card {
  background-color: var(--color-text-inverse);
  border-left: var(--border-width-lg) solid var(--color-primary);
  border-radius: var(--border-radius-xs);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-lg);
}
.quote-header {
  display: flex;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}
.quote-author {
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  text-decoration: none;
}
.quote-author:hover {
  text-decoration: underline;
}
.quote-action {
  color: var(--color-text-secondary);
}
.quote-body {
  margin: 0;
  font-style: italic;
  color: var(--color-text-heading);
}
.quote-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-sm);
}
.comments-thread {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}
.comment-card {
  display: flex;
  gap: var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  padding: var(--space-md) var(--space-lg);
}
.comment-card__avatar-link {
  flex-shrink: 0;
}
.comment-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
}
.comment-card__body {
  flex: 1;
  min-width: 0;
}
.comment-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
}
.comment-card__author {
  color: var(--color-primary);
  text-decoration: none;
}
.comment-card__author:hover {
  text-decoration: underline;
}
.comment-card__timestamp {
  color: var(--color-text-secondary);
}
.comment-card__text {
  color: var(--color-text-heading);
  word-break: break-word;
}
.comment-card__text img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: var(--space-md) 0;
  border-radius: var(--border-radius-xs);
}
.comment-form-box {
  margin-top: var(--space-lg);
}
.comment-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.comment-form__textarea {
  width: 100%;
  padding: var(--space-md);
  border: var(--border-width-sm) solid var(--color-border-dashed);
  border-radius: var(--border-radius-sm);
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.comment-form__textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.15);
}
.comment-form__actions {
  display: flex;
  justify-content: flex-end;
}
.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-text-white);
  border: none;
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--border-radius-xs);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.btn-primary:hover {
  background-color: var(--color-primary-hover);
}
.comment-form__login-notice {
  color: var(--color-text-secondary);
  font-style: italic;
}
.faint {
  opacity: 0.2;
}
.reset-password .content .grid input[type=password],
.reset-password .content .grid input[type=text] {
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
}
.reset-password .content .grid .row {
  width: 100%;
}
.side-area .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-gap: var(--space-sm);
}
.side-area-ranking-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
}
.side-area-ranking-grid > *:not(:last-child),
.card--sidebar-ranking .side-area--league-ranking-grid-row:not(:last-child),
.grid-box-card--sidebar-ranking .side-area--league-ranking-grid-row:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area--league-ranking-grid-row {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(var(--rank-pos-min-width), auto) minmax(0, 1fr) auto;
  grid-gap: var(--space-xs);
  align-items: center;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--space-xs) 0;
  transition: background-color var(--transition-fast);
}
.side-area--league-ranking-grid-row:hover {
  background-color: var(--color-text-inverse);
}
.side-area--league-ranking-grid-row .pos-marker {
  grid-column: 1;
  width: var(--pos-marker-width);
  height: 100%;
  min-height: var(--avatar-size-sm);
  align-self: stretch;
  border-radius: var(--border-radius-xs);
}
.side-area--league-ranking-grid-row .pos {
  grid-column: 2;
  min-width: var(--rank-pos-min-width);
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
  color: var(--color-text-secondary);
}
.side-area--league-ranking-grid-row .pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.side-area--league-ranking-grid-row .name {
  grid-column: 3;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper img {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper .country_flags,
.side-area-wr-ranking-grid .table-avatar-wrapper .country_flags {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  background-size: var(--avatar-size-sm);
  flex-shrink: 0;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}
.side-area--league-ranking-grid-row .points {
  grid-column: 4;
  width: auto;
  min-width: 0;
  white-space: nowrap;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
  text-align: right;
  justify-self: end;
}
.side-area-wr-ranking-grid {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  grid-gap: var(--space-2xs) var(--space-sm);
  align-items: start;
  justify-items: left;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--space-xs) 0;
  transition: background-color var(--transition-fast);
}
.card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child),
.grid-box-card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area-wr-ranking-grid:hover {
  background-color: var(--color-text-inverse);
}
.side-area-wr-ranking-grid .pos-marker {
  grid-column: 1;
  grid-row: 1 / -1;
  width: var(--pos-marker-width);
  height: 100%;
  align-self: stretch;
  border-radius: var(--border-radius-xs);
}
.side-area-wr-ranking-grid .pos {
  grid-column: 2;
  grid-row: 1;
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
  color: var(--color-text-secondary);
}
.side-area-wr-ranking-grid .pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.side-area-wr-ranking-grid .name {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}
.side-area-wr-ranking-grid .table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.side-area-wr-ranking-grid .table-avatar-wrapper img {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.side-area-wr-ranking-grid .hardware {
  grid-column: 2;
  grid-row: 3;
  width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
}
.side-area-wr-ranking-grid .hardware a {
  word-break: break-word;
  overflow-wrap: break-word;
}
.side-area-wr-ranking-grid .score {
  grid-column: 2;
  grid-row: 4;
  width: 100%;
  min-width: 0;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-align: left;
  justify-self: start;
}
.side-area .tab-menu {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: var(--space-md);
}
.side-area .tab-menu .button {
  padding: var(--space-xs) var(--space-s);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}
.side-area .tab-menu .button.focus,
.side-area .tab-menu .button.active {
  font-weight: var(--font-weight-bold);
}
#careerrankinghof,
#rankinghof,
#team_rankinghof {
  width: 100%;
  min-width: 0;
}
.reset-password .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-gap: var(--space-sm);
  align-items: center;
  justify-items: center;
  width: 30%;
  margin: auto;
  min-width: 320px;
}
.reset-password .content .grid .action {
  justify-self: end;
}
.grid-box-card--login,
.grid-box-card--register,
.grid-box-card--reset-password {
  max-width: 350px;
  width: 100%;
  margin: var(--space-xl) auto;
  gap: var(--space-md);
  text-align: center;
}
.grid-box-card--login > p,
.grid-box-card--register > p,
.grid-box-card--reset-password > p {
  color: var(--color-text-secondary);
  margin: 0;
}
.grid-box-card--login > p a,
.grid-box-card--register > p a,
.grid-box-card--reset-password > p a {
  color: inherit;
  text-decoration: underline;
}
.grid-box-card--login form,
.grid-box-card--register form,
.grid-box-card--reset-password form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
}
.grid-box-card--login form button[type=submit],
.grid-box-card--register form button[type=submit],
.grid-box-card--reset-password form button[type=submit] {
  width: 100%;
}
.grid-box-card--register .recaptcha-wrapper,
.grid-box-card--reset-password .recaptcha-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow-x: auto;
}
.form-label-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
}
.form-input-password-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}
.form-input-password-wrapper .form-input,
.form-input-password-wrapper input {
  width: 100%;
  padding-right: 42px;
  box-sizing: border-box;
}
.password-toggle-btn {
  position: absolute;
  right: 8px;
  background: transparent;
  border: none;
  padding: var(--space-sm);
  cursor: pointer;
  color: var(--color-text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.password-toggle-btn:hover {
  color: var(--color-text-primary);
}
.login-footer {
  text-align: center;
  color: var(--color-text-secondary);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.footer .content .info {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  font-family: var(--font-heading);
}
.footer .info ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer .system-info {
  text-align: center;
  font-family: var(--font-heading);
}
.footer .partner-info {
  text-align: center;
}
.footer .content .partner-info {
  margin: var(--space-lg) 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: var(--space-lg);
}
.footer .content .partner-info .partner-box {
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main-area.hw-data {
  position: relative;
  z-index: 1;
}
.hardware-overview .content-type-2 .manufacturer-grid,
.main-area.hw-data .content .manufacturer-grid {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell {
  height: 40px;
  display: flex;
  gap: var(--space-xs);
  align-items: center;
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell img {
  height: 40px;
  width: auto;
  display: block;
  object-fit: contain;
}
@keyframes loading {
  from {
    background-color: rgba(0, 0, 0, 0.5);
  }
  to {
    background-color: rgba(0, 0, 0, 0.4);
  }
}
.gold {
  background-color: var(--color-pos-first);
}
.silver {
  background-color: var(--color-border-light);
}
.bronze {
  background-color: var(--color-pos-third);
}
.medal {
  background-color: var(--color-pos-four-five);
}
.nomedal {
  background-color: var(--color-pos-four-five);
}
.gold-trophy {
  color: var(--color-pos-first);
}
.silver-trophy {
  color: var(--color-pos-second);
}
.bronze-trophy {
  color: var(--color-pos-third);
}
.medal-trophy {
  color: var(--color-pos-four-five);
}
.trophy-count {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  white-space: nowrap;
}
.trophy-count--empty {
  opacity: 0.4;
  color: var(--color-text-muted);
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.is-loading {
  position: relative;
  overflow: hidden;
  pointer-events: none;
}
.is-loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(
      90deg,
      rgba(232, 238, 241, 0) 0%,
      rgba(255, 255, 255, 0.6) 50%,
      rgba(232, 238, 241, 0) 100%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  z-index: 2;
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.button {
  font-family: var(--font-heading);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
}
.button--info-row {
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-xs);
  height: auto;
}
.button--modal-header-close {
  background: transparent;
  border: none;
}
.button--modal-header-close:hover {
  opacity: 0.7;
}
.button--modal-header-close:focus {
  outline: none;
}
.button--primary {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.button--primary:hover {
  opacity: 0.9;
}
.button--image {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: block;
  width: 100%;
}
.button--danger {
  color: var(--color-error);
  border-color: var(--color-error-border);
  background-color: var(--color-error-bg);
}
.button--danger:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--color-border-light);
  color: var(--color-text-primary);
}
.button--100 {
  width: 100%;
}
.active,
.button:hover {
  border-color: var(--color-bg-hover-dark);
  box-shadow: var(--shadow-sm);
  background: lightgray;
  text-decoration: none;
}
.focus,
.button:focus {
  border-color: var(--color-primary);
  color: var(--color-text-white);
  outline: none;
  background: var(--color-bg-hover-dark);
}
.button:disabled,
.button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}
.info-message {
  background: var(--color-info-bg);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.warn-message {
  background-color: var(--color-warning-bg);
  border: var(--border-width-sm) solid var(--color-warning-border);
  color: var(--color-warning-text);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.error-message {
  background: var(--color-error);
  padding: var(--space-md);
  border-radius: var(--border-radius);
  color: var(--color-text-inverse);
}
.error-message a,
.info-message a,
.warn-message a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-input {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  padding: var(--space-sm) var(--space-md);
  box-sizing: border-box;
}
input[type=checkbox].field-error {
  outline: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.field-error {
  border: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.ui-widget {
  font-family: var(--font-base);
}
.ui-widget-content {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: 0;
  background: var(--color-bg-main);
  color: var(--color-text-primary);
}
.ui-widget-content a,
.ui-widget-content a:link,
.ui-widget-content a:hover,
.ui-widget-content a:visited,
.ui-widget-content a:active {
  color: var(--color-text-primary);
}
.ui-widget-content a:hover {
  text-decoration: underline;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-state-hover,
.ui-widget-content a.ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-menu .ui-menu-item a.ui-state-hover {
  margin: 0;
}
.result-status-comment .content .event-container,
.reporting-overview .content .sticky-table .event-container {
  background-color: var(--color-bg-card);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-xs) 0;
  max-height: 160px;
  overflow-y: auto;
}
.result-status-comment .content .event-container::-webkit-scrollbar,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar {
  width: 6px;
}
.result-status-comment .content .event-container::-webkit-scrollbar-track,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-track {
  background: var(--color-bg-hover);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb {
  background: var(--color-border-dashed);
  border-radius: var(--border-radius-xs);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb:hover,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.result-status-comment .content .event-timeline,
.reporting-overview .content .sticky-table .event-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.result-status-comment .content .event-item,
.reporting-overview .content .sticky-table .event-item {
  display: flex;
  align-items: flex-start;
}
.result-status-comment .content .event-icon,
.reporting-overview .content .sticky-table .event-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.result-status-comment .content .event-meta,
.reporting-overview .content .sticky-table .event-meta {
  min-width: 220px;
  white-space: nowrap;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  font-family: var(--font-mono);
}
.result-status-comment .content .event-user,
.reporting-overview .content .sticky-table .event-user {
  min-width: 140px;
  white-space: nowrap;
  flex-shrink: 0;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-right: var(--space-md);
}
.result-status-comment .content .event-desc,
.reporting-overview .content .sticky-table .event-desc {
  color: var(--color-text-primary);
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.reporting-overview .content .sticky-table thead tr th.col-benchmark,
.reporting-overview .content .sticky-table tbody tr td.col-benchmark,
.reporting-overview .content .sticky-table thead tr th.col-score,
.reporting-overview .content .sticky-table tbody tr td.col-score,
.reporting-overview .content .sticky-table tbody tr td.col-action {
  white-space: nowrap;
}
.reporting-overview .content .sticky-table .nested-row td {
  padding: 0;
  border-bottom: var(--border-width-md) solid var(--color-border-light);
}
.reporting-overview .content .search-group-mobile {
  width: 100%;
}
.reporting-overview .content .search-input-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 400px;
}
.reporting-overview .content .search-input-wrapper input[type=text] {
  width: 100%;
  padding-right: 90px;
  box-sizing: border-box;
}
.reporting-overview .content .search-input-wrapper button {
  position: absolute;
  right: 2px;
  top: 2px;
  bottom: 2px;
  border-radius: 0 var(--border-radius-xs) var(--border-radius-xs) 0;
  cursor: pointer;
}
.tab-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: var(--space-md);
}
.tab-menu--hardware {
  margin-bottom: var(--space-md);
}
.tab-menu > * {
  flex: 0 0 auto;
}
.tab-menu select {
  margin-bottom: var(--space-xs);
}
.filter.tab-menu {
  border-bottom: none;
  margin-bottom: 0;
}
.tab-menu .button {
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: var(--border-width-md) solid transparent;
  margin-bottom: -1px;
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-sm);
  box-shadow: none;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.tab-menu .button:hover {
  background: transparent;
  border-color: var(--color-border-standard);
  color: var(--color-link);
  box-shadow: none;
}
.tab-menu .button:focus {
  outline: none;
  box-shadow: none;
  background: transparent;
  color: var(--color-text-primary);
}
.tab-menu .button.focus,
.tab-menu .button.active,
.tab-menu .button.focus:hover,
.tab-menu .button.active:hover,
.tab-menu .button.focus:focus,
.tab-menu .button.active:focus {
  background: transparent;
  border-color: var(--color-link);
  color: var(--color-link);
  font-weight: var(--font-weight-bold);
  box-shadow: none;
}
.tab-menu .button:focus-visible {
  outline: 2px solid var(--color-highlight);
  outline-offset: -2px;
}
.tab-menu .table-navigation {
  margin-left: auto;
  margin-top: 0;
  margin-bottom: var(--space-xs);
}
.flex-row > .table-navigation {
  margin-left: auto;
  margin-top: 0;
}
.sidebar-title {
  color: var(--color-text-heading);
  margin-bottom: var(--space-md);
}
.sidebar-empty {
  color: var(--color-text-secondary);
  font-style: italic;
}
.wr-ranking-card {
  display: flex;
  flex-direction: column;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}
.wr-ranking-card .wr-ranking-row:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.wr-ranking-row {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  grid-gap: var(--space-2xs) var(--space-sm);
  align-items: start;
  position: relative;
  padding: var(--space-sm) var(--space-md) var(--space-sm) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  transition: background-color var(--transition-fast);
}
.wr-ranking-row:last-child {
  border-bottom: none;
}
.wr-ranking-row:hover {
  background-color: var(--color-text-inverse);
}
.wr-ranking-row.is-active {
  background-color: var(--color-info-bg);
}
.pos-marker {
  width: var(--pos-marker-width);
  align-self: stretch;
  flex-shrink: 0;
}
.wr-ranking-row .pos-marker {
  grid-column: 1;
  grid-row: 1 / -1;
  width: var(--pos-marker-width);
  height: 100%;
  align-self: stretch;
}
.pos-marker.gold {
  background-color: var(--color-warning-star);
}
.pos-marker.silver {
  background-color: var(--color-text-muted);
}
.pos-marker.bronze {
  background-color: var(--color-warning);
}
.pos-marker.medal {
  background-color: var(--color-pos-four-five);
}
.pos-marker.nomedal {
  background-color: var(--color-pos-four-five);
}
.rank-pos {
  color: var(--color-text-secondary);
  text-align: center;
  flex-shrink: 0;
}
.wr-ranking-row .rank-pos {
  grid-column: 2;
  grid-row: 1;
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
}
.wr-ranking-row .rank-pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.rank-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: var(--space-2xs);
}
.wr-ranking-row .rank-content {
  grid-column: 2;
  grid-row: 2;
}
.wr-ranking-row .rank-score {
  grid-column: 2;
  grid-row: 3;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-align: left;
}
.rank-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
}
.rank-label i {
  font-size: var(--font-size-2xs);
  color: var(--color-primary);
}
.rank-user-line {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}
.rank-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.rank-username {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-hardware-line {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
}
.rank-clock {
  color: var(--color-text-secondary);
}
.rank-score {
  flex-shrink: 0;
  text-align: left;
}
.history-meta {
  display: flex;
  gap: var(--space-sm);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-2xs);
}
.history-meta::after {
  content: "";
}
.history-user {
  color: var(--color-accent);
}
.history-desc {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}
.history-icon {
  color: var(--color-text-secondary);
  margin-top: var(--space-2xs);
}
.hw-tree-list,
.hw-tree-sublist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hw-tree-sublist {
  padding-left: var(--space-md);
  border-left: var(--border-width-sm) solid var(--color-border-light);
  margin-left: var(--space-sm);
}
.hw-tree-summary {
  display: list-item;
  cursor: pointer;
  border-radius: var(--border-radius);
}
.hw-tree-summary::-webkit-details-marker {
  display: none;
}
.hw-tree-summary::marker {
  content: "";
  display: none;
}
.hw-tree-summary-content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
}
.hw-tree-summary-content .hw-tree-link {
  display: inline;
  padding: 0;
  background: transparent;
  color: inherit;
  flex: 1;
}
.hw-tree-summary-content .hw-tree-label {
  flex: 1;
}
.hw-tree-summary-content::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free", "FontAwesome";
  color: var(--color-text-muted);
  transition: transform var(--transition-base);
}
.hw-tree-branch[open] > .hw-tree-summary .hw-tree-summary-content::before {
  transform: rotate(90deg);
  color: var(--color-text-primary);
}
.hw-tree-link {
  display: block;
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  border-radius: var(--border-radius);
}
.hw-tree-summary:not(.is-active):hover,
.hw-tree-link:not(.is-active):hover {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
}
.hw-tree-summary-content .hw-tree-link:hover {
  background: transparent;
}
.hw-tree-link.is-active,
.hw-tree-summary.is-active {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
}
.hw-tree-link.is-active:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary.is-active,
.hw-tree-summary.is-active .hw-tree-link:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary.is-active .hw-tree-label,
.hw-tree-summary.is-active .hw-tree-summary-content::before {
  color: var(--color-text-inverse);
  text-decoration: none;
}
@media screen and (min-width: 1201px) {
  .header,
  .navigation,
  .footer {
    grid-column: 1 / -1;
  }
  body.one-column {
    grid-template-columns: auto;
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  body.left-sidebar {
    grid-template-columns: minmax(var(--sidebar-min-width), 1fr) minmax(0, 3fr);
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  body.right-sidebar {
    grid-template-columns: minmax(0, 3fr) minmax(var(--sidebar-min-width), 1fr);
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  .nodesktop {
    display: none !important;
  }
}
@media screen and (max-width: 1200px) {
  body.left-sidebar,
  body.right-sidebar {
    grid-template-columns: 1fr;
  }
  .nomobile {
    display: none !important;
  }
  .content {
    grid-template-columns: 10px minmax(0, 1fr) 10px;
  }
  .side-area {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: var(--z-index-drawer);
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    overflow-y: auto;
    box-sizing: border-box;
  }
  .side-area.is-open {
    transform: translateY(0);
  }
  .side-area .content {
    padding: 0 var(--space-lg) var(--space-2xl) var(--space-lg);
  }
  .side-area .content .hw-tree {
    height: calc(100vh - 70px);
    overflow-y: auto;
  }
  .hw-tree-summary-content,
  .hw-tree-link {
    padding: var(--space-md);
  }
  .sidebar-mobile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: var(--space-xs);
    background: var(--color-bg-alt);
    color: var(--color-text-primary);
    border-bottom: var(--border-width-md) solid var(--color-primary);
    margin: 0 -15px var(--space-lg) -15px;
    text-transform: uppercase;
    font-family: var(--font-heading);
  }
  .modal-overlay,
  .modal-overlay--fullscreen-mobile {
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    height: 100dvh;
  }
  .modal-dialog,
  .modal-dialog--fullscreen-mobile {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    overflow: hidden;
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    will-change: transform;
    display: flex;
    flex-direction: column;
  }
  .modal-overlay.is-open .modal-dialog,
  .modal-overlay--fullscreen-mobile.is-open .modal-dialog--fullscreen-mobile {
    transform: translateY(0);
  }
  .modal-dialog__header,
  .modal-dialog .modal-header,
  .modal-dialog--fullscreen-mobile .modal-header {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    padding: max(10px, env(safe-area-inset-top, 10px)) max(15px, env(safe-area-inset-right, 15px)) 10px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__body,
  .modal-dialog .modal-body,
  .modal-dialog--fullscreen-mobile .modal-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding: 15px max(15px, env(safe-area-inset-right, 15px)) 15px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__footer,
  .modal-dialog .modal-footer,
  .modal-dialog--fullscreen-mobile .modal-footer {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-top: var(--border-width-sm) solid var(--color-border-light);
    padding: 12px max(15px, env(safe-area-inset-right, 15px)) max(12px, env(safe-area-inset-bottom, 12px)) max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog .form-modal-actions,
  .modal-dialog--fullscreen-mobile .form-modal-actions {
    display: flex;
    gap: var(--space-md);
    justify-content: flex-end;
    align-items: center;
    margin: 0;
  }
  .modal-dialog__footer .button,
  .modal-dialog .modal-footer .button,
  .modal-dialog--fullscreen-mobile .form-modal-actions .button {
    min-height: 44px;
  }
  @media (prefers-reduced-motion: reduce) {
    .modal-dialog,
    .modal-dialog.modal-dialog--fullscreen-mobile {
      transition: none;
    }
  }
  .filter .ranking-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .filter .ranking-filter::-webkit-scrollbar {
    display: none;
  }
  .tab-menu {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0;
  }
  .tab-menu::-webkit-scrollbar {
    display: none;
  }
  .hero-banner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--space-lg);
  }
  .grid-box--submit-hardware {
    grid-template-columns: auto;
  }
  .submission-score-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .submission-score-card .score-details {
    flex-wrap: wrap;
  }
  .submission-score-card .score-details-row {
    flex-wrap: wrap;
  }
  .flex-row--info,
  .flex-row--badges {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .flex-row--info {
    margin: var(--space-md) 0;
  }
  .flex-row--info::-webkit-scrollbar,
  .flex-row--badges::-webkit-scrollbar {
    display: none;
  }
  .flex-row--info > *,
  .flex-row--badges > * {
    flex-shrink: 0;
  }
  .profile-banner-wrapper.has-banner .avatar {
    width: 60px;
    height: 60px;
  }
  .profile-banner-wrapper.has-banner .avatar-wrapper {
    bottom: 10px;
    left: 12px;
  }
  .reporting-overview .content .sticky-table table,
  .reporting-overview .content .sticky-table tbody,
  .reporting-overview .content .sticky-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .reporting-overview .content .sticky-table thead {
    display: none;
  }
  .reporting-overview .content .sticky-table tbody tr {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-standard);
    border-radius: var(--border-radius-sm);
    margin-bottom: var(--space-md);
    padding: var(--space-md);
    box-shadow: var(--shadow-sm);
  }
  .reporting-overview .content .sticky-table tbody tr:nth-child(odd) td,
  .reporting-overview .content .sticky-table tbody tr:nth-child(even) td {
    background-color: transparent;
  }
  .reporting-overview .content .sticky-table tbody tr td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: var(--border-width-sm) dashed var(--color-border-light);
    white-space: normal;
  }
  .reporting-overview .content .sticky-table tbody tr td:last-child {
    border-bottom: none;
  }
  .reporting-overview .content .sticky-table tbody tr td[data-label]::before {
    content: attr(data-label);
    font-family: var(--font-heading);
    color: var(--color-text-primary);
    text-transform: uppercase;
    padding-right: var(--space-md);
    white-space: nowrap;
    flex-shrink: 0;
  }
  .reporting-overview .content .sticky-table tbody tr.nested-row {
    margin-top: calc(-1 * var(--space-md) + 2px);
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background: var(--color-bg-card);
    padding-top: var(--space-xs);
  }
  .reporting-overview .content .sticky-table tbody tr.nested-row td {
    padding: 0;
    border-bottom: none;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-benchmark {
    order: 1;
    white-space: normal;
    text-align: right;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-score {
    order: 2;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    white-space: nowrap;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-user {
    order: 3;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-hardware {
    order: 4;
    border-top: none;
    padding-top: var(--space-2xs);
    color: var(--color-text-secondary);
  }
  .reporting-overview .content .sticky-table tbody tr td.col-reason {
    order: 5;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-action {
    order: 6;
    white-space: nowrap;
  }
  .result-status-comment .content .event-container,
  .reporting-overview .content .sticky-table .event-container {
    max-height: 200px;
    margin-top: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-left: var(--border-width-md) solid var(--color-text-primary);
  }
  .reporting-overview .content .sticky-table .event-container {
    width: 100%;
  }
  .result-status-comment .content .event-item,
  .reporting-overview .content .sticky-table .event-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2xs);
    padding-bottom: var(--space-sm);
    border-bottom: var(--border-width-sm) solid var(--color-bg-hover-dark);
  }
  .reporting-overview .content .sticky-table .event-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .reporting-overview .content .sticky-table .event-meta,
  .reporting-overview .content .sticky-table .event-user {
    min-width: unset;
  }
  .reporting-overview .content .search-input-wrapper {
    max-width: 100%;
  }
  .form-filter {
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: visible;
    overflow-y: visible;
    gap: var(--space-xs);
  }
  .form-filter > * {
    flex-shrink: 0;
    scroll-snap-align: none;
  }
  .modal-body .form-filter {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  .modal-body .form-filter > * {
    scroll-snap-align: none;
  }
  .modal-body #ranking_filter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-md) var(--space-lg);
    margin-bottom: 0;
  }
  .filter-chips-bar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: visible;
    overflow-y: visible;
    gap: var(--space-xs);
  }
  .filter-chips-bar > * {
    flex-shrink: 0;
  }
  .filter-chips-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }
  .filter-chips-list > * {
    flex-shrink: 0;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL2JhZGdlcy5jc3MiLCAiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL25hdmlnYXRpb24uY3NzIiwgIi4uLy4uLy4uLy4uL2Zyb250ZW5kL2Nzcy9zZWFyY2guY3NzIiwgIi4uLy4uLy4uLy4uL2Zyb250ZW5kL2Nzcy92b3RlLmNzcyIsICIuLi8uLi8uLi8uLi9mcm9udGVuZC9jc3MveW91dHViZS5jc3MiLCAiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL3N0eWxlLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFdCT1QgQmFkZ2UgU3lzdGVtIChiYWRnZXMuY3NzKVxuICAgQ29udGFpbnMgZ2VuZXJpYyBiYWRnZSwgbWVtYmVyIHJvbGUgYmFkZ2VzLCBhbmQgc3RhdHVzL2Nvb2xpbmcvbGVhZ3VlIGJhZGdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBHZW5lcmljIEJhZGdlICovXG4uYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5idXR0b24gLmJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNlLXhzKSk7XG59XG5cbi5idXR0b24tLXByaW1hcnkgLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLyogTWVtYmVyIFJvbGUgQmFkZ2VzICovXG4ubWVtYmVyLXJvbGUtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1hZG1pbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XG59XG5cbi5tZW1iZXItcm9sZS1iYWRnZS0tbW9kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5mby10ZXh0KTtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1jYXB0YWluIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy10ZXh0KTtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1zdHVkZW50LFxuLm1lbWJlci1yb2xlLWJhZGdlLS1zdHVkZW50LW1vZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGVhbS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10ZWFtLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRlYW0tdGV4dC1kYXJrKTtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1tZW1iZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLyogU3RhdHVzIEJhZGdlIFN5c3RlbSAqL1xuLnN0YXR1cy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbn1cblxuLnN0YXR1cy1iYWRnZSBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhdHVzLWJhZGdlIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uc3RhdHVzLXZhbHVlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdGF0dXMtc3VjY2Vzcyxcbi5zdGF0dXMtZ3JlZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5zdGF0dXMtc3VjY2VzcyBpOjpiZWZvcmUsXG4uc3RhdHVzLWdyZWVuIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjsgLyogZmEtY2hlY2sgKi9cbn1cblxuLnN0YXR1cy13YXJuaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4uc3RhdHVzLXdhcm5pbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3MVwiOyAvKiBmYS10cmlhbmdsZS1leGNsYW1hdGlvbiAqL1xufVxuXG4uc3RhdHVzLXVua25vd24sXG4uc3RhdHVzLWdyYXkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uc3RhdHVzLXVua25vd24gaTo6YmVmb3JlLFxuLnN0YXR1cy1ncmF5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWFcIjsgLyogZmEtY2lyY2xlLWluZm8gKi9cbn1cblxuLnN0YXR1cy1wcm9jZXNzaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uc3RhdHVzLXByb2Nlc3NpbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFjZVwiOyAvKiBmYS1jaXJjbGUtbm90Y2ggKi9cbn1cblxuLnN0YXR1cy1vcGVuIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc3RhdHVzLW9wZW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjNjMVwiOyAvKiBmYS1sb2NrLW9wZW4gKi9cbn1cblxuLnN0YXR1cy1jbG9zZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4uc3RhdHVzLWNsb3NlZCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDIzXCI7IC8qIGZhLWxvY2sgKi9cbn1cblxuLnN0YXR1cy1vZmZpY2lhbCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7IC8qIGZhLWNoZWNrICovXG59XG5cbi5zdGF0dXMtb25saW5lIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYWNcIjsgLyogZmEtZ2xvYmUgKi9cbn1cblxuLnN0YXR1cy1saXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnN0YXR1cy1saXZlIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMDFcIjsgLyogZmEtdG93ZXItYnJvYWRjYXN0ICovXG59XG5cbi5zdGF0dXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc3RhdHVzLWFjdGl2ZSBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7IC8qIGZhLWNoZWNrICovXG59XG5cbi5zdGF0dXMtaW5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uc3RhdHVzLWluYWN0aXZlIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWVcIjsgLyogZmEtYmFuICovXG59XG5cbi5zdGF0dXMtc3BvbnNvcmVkIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxY2RcIjsgLyogZmEtbGlmZS1yaW5nICovXG59XG5cbi5zdGF0dXMtYmFubmVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnN0YXR1cy1iYW5uZWQgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1ZVwiOyAvKiBmYS1iYW4gKi9cbn1cblxuLnN0YXR1cy1hZG1pbixcbi5zdGF0dXMtbW9kZXJhdG9yLFxuLnN0YXR1cy1zdHVkZW50LFxuLnN0YXR1cy1zdHVkZW50LW1vZGVyYXRvcixcbi5zdGF0dXMtY2FwdGFpbixcbi5zdGF0dXMtdXNlcixcbi5zdGF0dXMtdGVhbSxcbi5zdGF0dXMtY291bnRyeSxcbi5zdGF0dXMtam9pbmVkLFxuLnN0YXR1cy1zcG9uc29yZWQsXG4uc3RhdHVzLW9ubGluZSxcbi5zdGF0dXMtb2ZmaWNpYWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zdGF0dXMtYWRtaW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjRmZVwiOyAvKiBmYS11c2VyLWdlYXIgKi9cbn1cblxuLnN0YXR1cy1tb2RlcmF0b3IgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjUwOFwiOyAvKiBmYS11c2VyLXRpZSAqL1xufVxuXG4uc3RhdHVzLXN0dWRlbnQgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE5ZFwiOyAvKiBmYS1ncmFkdWF0aW9uLWNhcCAqL1xufVxuXG4uc3RhdHVzLXN0dWRlbnQtbW9kZXJhdG9yIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGY1MDhcIjsgLyogZmEtdXNlci10aWUgKi9cbn1cblxuLnN0YXR1cy1jYXB0YWluIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGY0ZmVcIjsgLyogZmEtdXNlci1nZWFyICovXG59XG5cbi5zdGF0dXMtdXNlciBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDA3XCI7IC8qIGZhLXVzZXIgKi9cbn1cblxuLnN0YXR1cy10ZWFtIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYzBcIjsgLyogZmEtdXNlcnMgKi9cbn1cblxuLnN0YXR1cy1jb3VudHJ5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMjRcIjsgLyogZmEtZmxhZyAqL1xufVxuXG4uc3RhdHVzLWpvaW5lZCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7IC8qIGZhLWNhbGVuZGFyICovXG59XG5cbi5zdGF0dXMtam9pbmVkIC5zdGF0dXMtdmFsdWUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5hLnN0YXR1cy1iYWRnZSxcbmEuc3RhdHVzLWJhZGdlOmxpbmssXG5hLnN0YXR1cy1iYWRnZTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuYS5zdGF0dXMtYmFkZ2U6aG92ZXIsXG5hLnN0YXR1cy1iYWRnZTphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc3RhdHVzLWJhZGdlOmlzKFxuICAgIC5zdGF0dXMtYWRtaW4sXG4gICAgLnN0YXR1cy1tb2RlcmF0b3IsXG4gICAgLnN0YXR1cy1zdHVkZW50LFxuICAgIC5zdGF0dXMtc3R1ZGVudC1tb2RlcmF0b3IsXG4gICAgLnN0YXR1cy1jYXB0YWluLFxuICAgIC5zdGF0dXMtdXNlcixcbiAgICAuc3RhdHVzLXRlYW0sXG4gICAgLnN0YXR1cy1jb3VudHJ5LFxuICAgIC5zdGF0dXMtam9pbmVkLFxuICAgIC5zdGF0dXMtc3BvbnNvcmVkLFxuICAgIC5zdGF0dXMtb25saW5lLFxuICAgIC5zdGF0dXMtb2ZmaWNpYWxcbik6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBDb29saW5nIEJhZGdlcyAqL1xuLmNvb2xpbmctYWlyLXN0b2NrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLmNvb2xpbmctYWlyLXN0b2NrIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNzJlXCI7IH0gLyogZmEtZmFuICovXG5cbi5jb29saW5nLWFpci1jdXN0b20ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5jb29saW5nLWFpci1jdXN0b20gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3MmVcIjsgfSAvKiBmYS1mYW4gKi9cblxuLmNvb2xpbmctd2F0ZXItY3VzdG9tIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy13YXRlci1jdXN0b20gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDNcIjsgfSAvKiBmYS1kcm9wbGV0ICovXG5cbi5jb29saW5nLWFpby13YXRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG4uY29vbGluZy1haW8td2F0ZXIgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDNcIjsgfSAvKiBmYS1kcm9wbGV0ICovXG5cbi5jb29saW5nLXdhdGVyLWNoaWxsZWQtY29sZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmNvb2xpbmctd2F0ZXItY2hpbGxlZC1jb2xkIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH0gLyogZmEtc25vd2ZsYWtlICovXG5cbi5jb29saW5nLWRyeS1pY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uY29vbGluZy1kcnktaWNlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWIyXCI7IH0gLyogZmEtY3ViZSAqL1xuXG4uY29vbGluZy1zaW5nbGUtc3RhZ2UtcGhhc2UtY2hhbmdlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy1zaW5nbGUtc3RhZ2UtcGhhc2UtY2hhbmdlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH0gLyogZmEtc25vd2ZsYWtlICovXG5cbi5jb29saW5nLWNhc2NhZGUtcGhhc2UtY2hhbmdlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy1jYXNjYWRlLXBoYXNlLWNoYW5nZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkY1wiOyB9IC8qIGZhLXNub3dmbGFrZSAqL1xuXG4uY29vbGluZy1saXF1aWQtbml0cm9nZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cbi5jb29saW5nLWxpcXVpZC1uaXRyb2dlbiBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjM1wiOyB9IC8qIGZhLWZsYXNrICovXG5cbi5jb29saW5nLWxpcXVpZC1oZWxpdW0ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uY29vbGluZy1saXF1aWQtaGVsaXVtIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmN2E2XCI7IH0gLyogZmEtYXRvbSAqL1xuXG4vKiBMZWFndWUgQmFkZ2VzICovXG4ubGVhZ3VlLWVsaXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4ubGVhZ3VlLWVsaXRlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNTIxXCI7IH0gLyogZmEtY3Jvd24gKi9cblxuLmxlYWd1ZS1leHRyZW1lIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLmxlYWd1ZS1leHRyZW1lIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDZkXCI7IH0gLyogZmEtZmlyZSAqL1xuXG4ubGVhZ3VlLWFwcHJlbnRpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cbi5sZWFndWUtYXBwcmVudGljZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkMFwiOyB9IC8qIGZhLW1hZ2ljICovXG5cbi5sZWFndWUtZW50aHVzaWFzdCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmxlYWd1ZS1lbnRodXNpYXN0IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGU3XCI7IH0gLyogZmEtYm9sdCAqL1xuXG4ubGVhZ3VlLW5vdmljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLmxlYWd1ZS1ub3ZpY2UgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY0ZDhcIjsgfSAvKiBmYS1zZWVkbGluZyAqL1xuXG4ubGVhZ3VlLXJvb2tpZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5sZWFndWUtcm9va2llIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTlkXCI7IH0gLyogZmEtZ3JhZHVhdGlvbi1jYXAgKi9cblxuLyogUmVmZXJlbmNlIEJhZGdlcyAqL1xuLnJlZi1yZXZpZXcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5yZWYtcmV2aWV3IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU1XCI7IH0gLyogZmEtYmlub2N1bGFycyAqL1xuXG4ucmVmLW5ld3MsXG4ucmVmLXByZXNzLFxuLnJlZi1yb3VuZHVwLFxuLnJlZi1zdGF0aWMtY29udGVudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5yZWYtbmV3cyBpOjpiZWZvcmUsXG4ucmVmLXByZXNzIGk6OmJlZm9yZSxcbi5yZWYtcm91bmR1cCBpOjpiZWZvcmUsXG4ucmVmLXN0YXRpYy1jb250ZW50IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVhXCI7IH0gLyogZmEtbmV3c3BhcGVyICovXG5cbi5yZWYtZGlzY3Vzc2lvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJlZi1kaXNjdXNzaW9uIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg2XCI7IH0gLyogZmEtY29tbWVudHMgKi9cblxuLnJlZi1ydWxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4ucmVmLXJ1bGUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmFcIjsgfSAvKiBmYS1jaXJjbGUtZXhjbGFtYXRpb24gKi9cblxuLnJlZi1lc3BvcnRzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnJlZi1lc3BvcnRzIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRiXCI7IH0gLyogZmEtbWljcm9jaGlwICovXG5cbi8qIFBhcnRuZXIgSGFyZHdhcmUgSW5kaWNhdG9yICovXG4ucGFydG5lci1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmE6aXMoOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUpIC5wYXJ0bmVyLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhXQk9UIE5hdmlnYXRpb24gQ29tcG9uZW50IChuYXZpZ2F0aW9uLmNzcylcbiAgIFBhaXJlZCB3aXRoIHRhZ3MvbmF2aWdhdGlvbi5qdGVcbiAgIENvbnRhaW5zIGJhc2UsIGRlc2t0b3AgKEBtZWRpYSBtaW4td2lkdGg6IDEyMDFweCksIGFuZCBtb2JpbGUgKEBtZWRpYSBtYXgtd2lkdGg6IDEyMDBweCkgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDEuIEJhc2UgTmF2aWdhdGlvbiAmIE1vYmlsZSBCYXJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xufVxuXG4vKiBBY2NvdW50IERyb3Bkb3duICovXG4ubmF2X19kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2X19kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyA4cHgpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJvcGRvd24pO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCB2aXNpYmlsaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLS1vcGVuIC5uYXZfX2Ryb3Bkb3duLW1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWhlYWRlciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ubmF2X19kcm9wZG93bi11c2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtLFxuLm5hdl9fZHJvcGRvd24taXRlbTp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtIGkge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0LFxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0OnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dCBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQ6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dDppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XG59XG5cbi5uYXZfX292ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMsIDYsIDIzLCAwLjcpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtYmFja2Ryb3ApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ubmF2X19kcmF3ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubmF2X19kcmF3ZXItaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLm5hdl9fZHJhd2VyLXRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5uYXZfX2Nsb3NlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ubmF2X19jbG9zZTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cblxuLm5hdl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm5hdl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2X19saW5rLFxuLm5hdl9fbGluazpsaW5rLFxuLm5hdl9fbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5uYXZfX2xpbms6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZfX2xpbmstcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubmF2X19zdWItdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2X19zdWIge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5uYXZfX3N1Yi1saW5rLFxuLm5hdl9fc3ViLWxpbms6bGluayxcbi5uYXZfX3N1Yi1saW5rOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLm5hdl9fc3ViLWxpbms6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogU3VibWl0IFNjb3JlIExpbmsgKi9cbi5uYXZfX2l0ZW0tLWN0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubmF2X19saW5rLS1jdGEge1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ubmF2X19saW5rLS1jdGEgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fbGluay0tY3RhOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDIuIERlc2t0b3AgTmF2aWdhdGlvbiAobWluLXdpZHRoOiAxMjAxcHgpXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAubmF2X19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLWN0YSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLWhhcy1zdWIgPiAubmF2X19saW5rLXJvdyA+IC5uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3JkZXItdG9wLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0taGFzLXN1Yjppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pID4gLm5hdl9fbGluay1yb3cgPiAubmF2X19saW5rOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKSB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1kcm9wZG93bik7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCB2aXNpYmlsaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLyogSG92ZXIgYnJpZGdlIHByZXZlbnRpbmcgY3Vyc29yIGRyb3BzICovXG4gICAgLm5hdl9fc3ViOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLWhhcy1zdWI6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSA+IC5uYXZfX3N1YiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgLyogRGVza3RvcCBIZWFkZXIgJiBOYXZpZ2F0aW9uIEJhciAqL1xuICAgIC5oZWFkZXIsXG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIH1cblxuICAgIC5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fdG9wLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMjgwcHgsIDFmcikgYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS14bCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGF0cmVvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4bCk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGF0cmVvbiBhLFxuICAgIC5oZWFkZXIgLnBhdHJlb24gYTpsaW5rLFxuICAgIC5oZWFkZXIgLnBhdHJlb24gYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGF0cmVvbiBhOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmdsb2JhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlciAucGxhdGludW0tcGFydG5lciBpbWcge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXBhcnRuZXItbG9nby1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50LXdyYXBwZXIgLmdyaWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50LXdyYXBwZXIgLmdyaWQgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWljb24tc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIC5ncmlkIC5oZWFkZXItYXZhdGFyLWltZy0tZGVza3RvcCB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IGxpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudCBhLFxuICAgIC5oZWFkZXIgLmFjY291bnQgYTpsaW5rLFxuICAgIC5oZWFkZXIgLmFjY291bnQgYTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOmhvdmVyLFxuICAgIC5oZWFkZXIgLmFjY291bnQgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMy4gTW9iaWxlIE5hdmlnYXRpb24gRHJhd2VyIChtYXgtd2lkdGg6IDEyMDBweClcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgLm5hdl9fb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5uYXYtLW9wZW4gLm5hdl9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgIC5uYXZfX2RyYXdlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIG1heC13aWR0aDogODV2dztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1kcmF3ZXIpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG4gICAgfVxuXG4gICAgLm5hdi0tb3BlbiAubmF2X19kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gICAgLm5hdl9fZHJhd2VyLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLm5hdl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgMCB2YXIoLS1zcGFjZS0yeGwpIDA7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluay1yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluayxcbiAgICAubmF2X19saW5rOmxpbmssXG4gICAgLm5hdl9fbGluazp2aXNpdGVkIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICAgIH1cblxuICAgIC5uYXZfX2xpbmstcm93OmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbiksXG4gICAgLm5hdl9fbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItdG9nZ2xlOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0tb3BlbiAubmF2X19zdWItdG9nZ2xlIGkge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLW9wZW4gLm5hdl9fc3ViIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViLWxpbmssXG4gICAgLm5hdl9fc3ViLWxpbms6bGluayxcbiAgICAubmF2X19zdWItbGluazp2aXNpdGVkIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtMnhsKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViLWxpbms6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluay0tY3RhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogTW9iaWxlIEhlYWRlciAmIFNtYXJ0IFN0aWNreSBQYXJ0bmVyIFJvdyAqL1xuICAgIC5oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDkwMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX190b3AtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5sb2dvLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmxvZ28gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fbW9iaWxlLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19hY3Rpb24tYnRuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19hY3Rpb24tYnRuOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpLFxuICAgIC5uYXZfX2Ryb3Bkb3duLS1vcGVuIC5oZWFkZXJfX2FjdGlvbi1idG4tLWFjY291bnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19hY3Rpb24tYnRuOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19hY3Rpb24tYnRuIGkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLmhlYWRlci1hdmF0YXItaW1nIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItd3JhcHBlci0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogNnB4IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0OHB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjIycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoIDAuMjhzIGVhc2U7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItd3JhcHBlci0tbW9iaWxlIC5wbGF0aW51bS1wYXJ0bmVyIGltZyB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5oZWFkZXItLXBhcnRuZXItaGlkZGVuIC5wYXJ0bmVyLXdyYXBwZXItLW1vYmlsZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFdCT1QgR2xvYmFsIFNlYXJjaCBDb21wb25lbnQgKHNlYXJjaC5jc3MpXG4gICBQYWlyZWQgd2l0aCB0YWdzL3NlYXJjaG1vZGFsLmp0ZSBhbmQgbW9kdWxlcy9zZWFyY2gudHNcbiAgIENvbnRhaW5zIGJhc2UsIGRlc2t0b3AgKEBtZWRpYSBtaW4td2lkdGg6IDEyMDFweCksIGFuZCBtb2JpbGUgKEBtZWRpYSBtYXgtd2lkdGg6IDEyMDBweCkgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDEuIEJhc2UgJiBCYWNrZHJvcCAvIFNjcm9sbCBMb2NrIFN0eWxlc1xuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbC5zZWFyY2gtb3BlbixcbmJvZHkuc2VhcmNoLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1iYWNrZHJvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMsIDYsIDIzLCAwLjc1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtYmFja2Ryb3ApO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4uZ2xvYmFsLXNlYXJjaCxcbi5nbG9iYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1oZWFkZXItdG9vbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtc3Bpbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLXhsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuY2F0ZWdvcnktaGVhZGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmNhdGVnb3J5LWhlYWRlciBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuY2F0ZWdvcnktYmFkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1pdGVtLWxpc3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpIDAgMDtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbmssXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6bGluayxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazp2aXNpdGVkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbmFtZSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmhvdmVyLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmZvY3VzLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmFjdGl2ZSxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluay5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tYXJyb3cge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmlzKDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLCAuaXMtYWN0aXZlKSAuaXRlbS1hcnJvdyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1lbXB0eS1zdGF0ZSxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1wcm9tcHQtc3RhdGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNDBweCB2YXIoLS1zcGFjZS1sZyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuZW1wdHktaWNvbixcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnByb21wdC1pY29uIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5lbXB0eS10aXRsZSxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnByb21wdC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmVtcHR5LXN1YnRpdGxlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LXN1YnRpdGxlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAyLiBEZXNrdG9wIFNlYXJjaCAobWluLXdpZHRoOiAxMjAxcHgpXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgICAuZ2xvYmFsLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0LWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0LFxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKSAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICB3aWR0aDogMzgwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLWxnKSAwIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCkgdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaDpob3ZlciAuZ2xvYmFsLXNlYXJjaC1pbnB1dCxcbiAgICAuZ2xvYmFsLXNlYXJjaDpob3ZlciAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b246aG92ZXIsXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMtdmlzaWJsZSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaDpmb2N1cy13aXRoaW4gLmdsb2JhbC1zZWFyY2gtaW5wdXQge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmZvY3VzLXdpdGhpbiAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDc1cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogOTAwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTJ2dztcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1tb2RhbCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhsKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtZGVza3RvcC1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIgLmJ1dHRvbixcbiAgICAuZ2xvYmFsLXNlYXJjaC1kZXNrdG9wLWFjdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIgLmJ1dHRvbjpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaC1kZXNrdG9wLWFjdGlvbiAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1jYXRlZ29yeS1ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMy4gTW9iaWxlIFNlYXJjaCBNb2RhbCAobWF4LXdpZHRoOiAxMjAwcHgpXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbW9kYWwpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogbm9uZTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1zdGlja3ktaGVhZGVyKTtcbiAgICAgICAgcGFkZGluZzogbWF4KHZhcigtLXNwYWNlLW1kKSwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDEycHgpKSBtYXgodmFyKC0tc3BhY2UtbWQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxMnB4KSkgdmFyKC0tc3BhY2UtbWQpIG1heCh2YXIoLS1zcGFjZS1tZCksIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMTJweCkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIC5idXR0b246YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiAuZ2xvYmFsLXNlYXJjaC1zcGlubmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIGlucHV0LmlucHV0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiBpbnB1dC5pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgbWF4KHZhcigtLXNwYWNlLW1kKSwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTJweCkpIG1heCh2YXIoLS1zcGFjZS0yeGwpLCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMzJweCkpIG1heCh2YXIoLS1zcGFjZS1tZCksIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMTJweCkpO1xuICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWNhdGVnb3J5LWdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIV0JPVCBWb3RlIENvbXBvbmVudCAmIFZvdGVycyBQb3BvdmVyICh2b3RlLmNzcylcbiAgIFBhaXJlZCB3aXRoIHdlYi9zcmMvbWFpbi9mcm9udGVuZC9tb2R1bGVzL3ZvdGUudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVm90ZSBXaWRnZXQgJiBQb3BvdmVyICovXG4udm90ZS1jZWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnZvdGUtY2VsbCAudm90ZS1waWxsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi52b3RlLXdpZGdldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi52b3RlLXBpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi52b3RlLXBpbGw6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLnZvdGUtcGlsbF9fYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnZvdGUtcGlsbF9fYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi52b3RlLXBpbGxfX2FjdGlvbi5oYXMtdm90ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4udm90ZS1waWxsX19hY3Rpb24tLWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udm90ZS1waWxsX19kaXZpZGVyIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbjogMCAxcHg7XG59XG5cbi52b3RlLXBpbGxfX2NvdW50IHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi52b3RlLXBpbGxfX2NhcmV0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0zeHMpO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLyogRHJvcGRvd24gUG9wb3ZlciAqL1xuLnZvdGUtZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1kcm9wZG93bik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnZvdGUtcG9wb3Zlci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi52b3RlLXBvcG92ZXItbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi52b3RlLXBvcG92ZXItaXRlbSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnZvdGUtdXNlci1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udm90ZS11c2VyLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi52b3RlLXVzZXItYXZhdGFyIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udm90ZS1wb3BvdmVyLWVtcHR5LFxuLnZvdGUtbG9hZGluZyxcbi52b3RlLXBvcG92ZXItZXJyb3Ige1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhXQk9UIFlvdVR1YmUgQ2xpY2stdG8tTG9hZCBQbGFjZWhvbGRlciAoeW91dHViZS5jc3MpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi55b3V0dWJlLXBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBjZW50ZXIsIHZhcigtLWNvbG9yLWJnLWRhcmspIDAlLCB2YXIoLS1jb2xvci1iZy1uYXZ5KSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1iYXNlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnlvdXR1YmUtcGxhY2Vob2xkZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi55b3V0dWJlLXBsYWNlaG9sZGVyX19pY29uIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnlvdXR1YmUtcGxhY2Vob2xkZXI6aG92ZXIgLnlvdXR1YmUtcGxhY2Vob2xkZXJfX2ljb24ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnlvdXR1YmUtcGxhY2Vob2xkZXJfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuXG4ueW91dHViZS1wbGFjZWhvbGRlcl9fbm90aWNlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZS1tdXRlZCk7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc251Zyk7XG59XG4iLCAiQGltcG9ydCBcIi4vYmFkZ2VzLmNzc1wiO1xuQGltcG9ydCBcIi4vbmF2aWdhdGlvbi5jc3NcIjtcbkBpbXBvcnQgXCIuL3NlYXJjaC5jc3NcIjtcbkBpbXBvcnQgXCIuL3ZvdGUuY3NzXCI7XG5AaW1wb3J0IFwiLi95b3V0dWJlLmNzc1wiO1xuXG46cm9vdCB7XG4gICAgLyogQmFja2dyb3VuZHMgJiBTdXJmYWNlcyAqL1xuICAgIC0tY29sb3ItYmctZ3JhZGllbnQtc3RhcnQ6ICM1MDkxREQ7XG4gICAgLS1jb2xvci1iZy1ncmFkaWVudC1lbmQ6ICMwMzA2MTc7XG4gICAgLS1jb2xvci1iZy1tYWluOiAjRjRGN0Y4O1xuICAgIC0tY29sb3ItYmctc3VyZmFjZTogI0ZGRkZGRjtcbiAgICAtLWNvbG9yLWJnLWNhcmQ6ICNmOGZhZmM7XG4gICAgLS1jb2xvci1iZy1ob3ZlcjogI2YxZjVmOTtcbiAgICAtLWNvbG9yLWJnLWhvdmVyLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1jb2xvci1iZy1kYXJrOiAjMzY0NTRGO1xuICAgIC0tY29sb3ItYmctbmF2eTogIzAzMDYxNztcblxuICAgIC8qIFRleHQgJiBUeXBvZ3JhcGh5IENvbG9ycyAqL1xuICAgIC0tY29sb3ItdGV4dC1wcmltYXJ5OiAjMzY0NTRGO1xuICAgIC0tY29sb3ItdGV4dC1oZWFkaW5nOiAjMGYxNzJhO1xuICAgIC0tY29sb3ItdGV4dC1zZWNvbmRhcnk6ICM2NDc0OGI7XG4gICAgLS1jb2xvci10ZXh0LW11dGVkOiAjOTRhM2I4O1xuICAgIC0tY29sb3ItdGV4dC1pbnZlcnNlOiAjRjRGN0Y4O1xuICAgIC0tY29sb3ItdGV4dC1pbnZlcnNlLW11dGVkOiAjRENEQ0RDO1xuICAgIC0tY29sb3ItdGV4dC13aGl0ZTogI2ZmZmZmZjtcblxuICAgIC8qIEJvcmRlcnMgKi9cbiAgICAtLWNvbG9yLWJvcmRlci1saWdodDogI0U1RTVFNTtcbiAgICAtLWNvbG9yLWJvcmRlci1zdWJ0bGU6ICNlMmU4ZjA7XG4gICAgLS1jb2xvci1ib3JkZXItZGFzaGVkOiAjY2JkNWUxO1xuICAgIC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkOiBsaWdodGdyYXk7XG4gICAgLS1jb2xvci1ib3JkZXItZGFyazogIzM2NDU0RjtcbiAgICAtLWJvcmRlci13aWR0aC1zbTogMXB4O1xuICAgIC0tYm9yZGVyLXdpZHRoLW1kOiAycHg7XG4gICAgLS1ib3JkZXItd2lkdGgtbGc6IDRweDtcbiAgICAtLWJvcmRlci13aWR0aC14bDogNXB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy14czogNHB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy1zbTogNnB4O1xuICAgIC0tYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy1sZzogMTZweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtZnVsbDogOTk5OXB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy1jaXJjbGU6IDUwJTtcblxuICAgIC8qIEJyYW5kLCBBY3Rpb25zICYgSGlnaGxpZ2h0cyAqL1xuICAgIC0tY29sb3ItcHJpbWFyeTogIzAyODRjNztcbiAgICAtLWNvbG9yLXByaW1hcnktaG92ZXI6ICMwMzY5YTE7XG4gICAgLS1jb2xvci1hY2NlbnQ6ICMzOGJkZjg7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICM2MGE1ZmE7XG5cbiAgICAvKiBMaW5rcyAqL1xuICAgIC0tY29sb3ItbGluazogIzFkNGVkODtcbiAgICAtLWNvbG9yLWxpbmstaG92ZXI6ICMxZTQwYWY7XG4gICAgLS1jb2xvci1saW5rLXVuZGVybGluZTogcmdiYSgyOSwgNzgsIDIxNiwgMC4zNSk7XG5cbiAgICAvKiBTdGF0dXM6IFN1Y2Nlc3MgKEdyZWVuKSAqL1xuICAgIC0tY29sb3Itc3VjY2VzczogIzE2YTM0YTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtYmc6ICNmMGZkZjQ7XG4gICAgLS1jb2xvci1zdWNjZXNzLWJvcmRlcjogI2JiZjdkMDtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtdGV4dDogIzE2NjUzNDtcblxuICAgIC8qIFN0YXR1czogV2FybmluZyAvIFBlbmRpbmcgKEFtYmVyKSAqL1xuICAgIC0tY29sb3Itd2FybmluZzogI2Q5NzcwNjtcbiAgICAtLWNvbG9yLXdhcm5pbmctYmc6ICNmZmZiZWI7XG4gICAgLS1jb2xvci13YXJuaW5nLWJvcmRlcjogI2ZkZTY4YTtcbiAgICAtLWNvbG9yLXdhcm5pbmctdGV4dDogIzkyNDAwZTtcbiAgICAtLWNvbG9yLXdhcm5pbmctc3RhcjogI2VhYjMwODtcblxuICAgIC8qIFN0YXR1czogRGFuZ2VyIC8gRXJyb3IgKFJlZCkgKi9cbiAgICAtLWNvbG9yLWVycm9yOiAjZGMyNjI2O1xuICAgIC0tY29sb3ItZXJyb3ItYmc6ICNmZWYyZjI7XG4gICAgLS1jb2xvci1lcnJvci1ib3JkZXI6ICNmZWNhY2E7XG4gICAgLS1jb2xvci1lcnJvci10ZXh0OiAjOTkxYjFiO1xuXG4gICAgLyogU3RhdHVzOiBJbmZvIChCbHVlKSAqL1xuICAgIC0tY29sb3ItaW5mby1iZzogI2VmZjZmZjtcbiAgICAtLWNvbG9yLWluZm8tYm9yZGVyOiAjYmZkYmZlO1xuICAgIC0tY29sb3ItaW5mby10ZXh0OiAjMWU0MGFmO1xuXG4gICAgLyogU3RhdHVzOiBUZWFtIChQdXJwbGUpICovXG4gICAgLS1jb2xvci10ZWFtOiAjN2MzYWVkO1xuICAgIC0tY29sb3ItdGVhbS1iZzogI2Y1ZjNmZjtcbiAgICAtLWNvbG9yLXRlYW0tYm9yZGVyOiAjZGRkNmZlO1xuICAgIC0tY29sb3ItdGVhbS10ZXh0OiAjN2MzYWVkO1xuICAgIC0tY29sb3ItdGVhbS10ZXh0LWRhcms6ICM1YjIxYjY7XG5cbiAgICAvKiBSYW5raW5ncyAvIE1lZGFscyAqL1xuICAgIC0tY29sb3ItcG9zLWZpcnN0OiAjRkZENzAwO1xuICAgIC0tY29sb3ItcG9zLXNlY29uZDogI0MwQzBDMDtcbiAgICAtLWNvbG9yLXBvcy10aGlyZDogI0NEN0YzMjtcbiAgICAtLWNvbG9yLXBvcy1mb3VyLWZpdmU6ICNBQUJGQzk7XG4gICAgLS1wb3MtbWFya2VyLXdpZHRoOiA0cHg7XG4gICAgLS1yYW5rLXBvcy1taW4td2lkdGg6IDI2cHg7XG5cbiAgICAvKiBDb21wb25lbnQgU2l6ZXMgKi9cbiAgICAtLWF2YXRhci1zaXplLXNtOiAyMnB4O1xuICAgIC0taGVhZGVyLWljb24tc2l6ZTogMTVweDtcbiAgICAtLXBhcnRuZXItbG9nby1oZWlnaHQ6IDMwcHg7XG5cbiAgICAvKiBTcGFjaW5nICovXG4gICAgLS1zcGFjZS0yeHM6IDJweDtcbiAgICAtLXNwYWNlLXhzOiAgNHB4O1xuICAgIC0tc3BhY2UtczogICA2cHg7XG4gICAgLS1zcGFjZS1zbTogIDhweDtcbiAgICAtLXNwYWNlLW1kOiAxMnB4O1xuICAgIC0tc3BhY2UtbGc6IDE2cHg7XG4gICAgLS1zcGFjZS14bDogMjRweDtcbiAgICAtLXNwYWNlLTJ4bDogMzJweDtcblxuICAgIC8qIEZvbnQgKi9cbiAgICAtLWZvbnQtaGVhZGluZzogXCJQaWxsR290aGljMzAwbWdCb2xkXCIsIFwiTHVjaWRhIEdyYW5kZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1iYXNlOiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtbW9ubzogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZTtcbiAgICAtLWZvbnQtc2l6ZS0zeHM6ICAwLjYyNXJlbTtcbiAgICAtLWZvbnQtc2l6ZS0yeHM6ICAwLjY4NzVyZW07XG4gICAgLS1mb250LXNpemUteHM6ICAgMC43NXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1zbTogICAwLjgxMjVyZW07XG4gICAgLS1mb250LXNpemUtbWQ6ICAgMC44NzVyZW07XG4gICAgLS1mb250LXNpemUtYmFzZTogMXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1sZzogICAxLjEyNXJlbTtcbiAgICAtLWZvbnQtc2l6ZS14bDogICAxLjI1cmVtO1xuICAgIC0tZm9udC1zaXplLTJ4bDogIDEuNXJlbTtcbiAgICAtLWZvbnQtc2l6ZS0zeGw6ICAxLjg3NXJlbTtcbiAgICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogICAgNDAwO1xuICAgIC0tZm9udC13ZWlnaHQtbWVkaXVtOiAgICA1MDA7XG4gICAgLS1mb250LXdlaWdodC1zZW1pYm9sZDogIDYwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgNzAwO1xuICAgIC0tZm9udC13ZWlnaHQtZXh0cmFib2xkOiA4MDA7XG5cbiAgICAvKiBMaW5lIEhlaWdodCAqL1xuICAgIC0tbGluZS1oZWlnaHQtbm9uZTogICAxO1xuICAgIC0tbGluZS1oZWlnaHQtdGlnaHQ6ICAxLjI1O1xuICAgIC0tbGluZS1oZWlnaHQtbm9ybWFsOiAxLjU7XG5cblxuICAgIC8qIEVsZXZhdGlvbiAvIFNoYWRvd3MgKi9cbiAgICAtLXNoYWRvdy1zbTogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAtLXNoYWRvdy1tZDogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIC0tc2hhZG93LWxnOiAwIDEwcHggMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAtLXNoYWRvdy14bDogMCAyNXB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuXG4gICAgLyogVHJhbnNpdGlvbnMgJiBNb3Rpb24gKi9cbiAgICAtLXRyYW5zaXRpb24tZmFzdDogICAwLjE1cyBlYXNlO1xuICAgIC0tdHJhbnNpdGlvbi1iYXNlOiAgIDAuMnMgZWFzZTtcbiAgICAtLXRyYW5zaXRpb24tc21vb3RoOiAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG4gICAgLyogTGF5b3V0IERpbWVuc2lvbnMgKi9cbiAgICAtLWxheW91dC1tYXgtd2lkdGg6IDIwMDBweDtcbiAgICAtLXNpZGViYXItbWluLXdpZHRoOiAyNjBweDtcblxuICAgIC8qIE1vZGFsIC8gRGlhbG9nIFdpZHRocyAqL1xuICAgIC0tbW9kYWwtd2lkdGgtc206IDQ4MHB4O1xuICAgIC0tbW9kYWwtd2lkdGgtbWQ6IDYwMHB4O1xuICAgIC0tbW9kYWwtd2lkdGgtbGc6IDgwMHB4O1xuICAgIC0tbW9kYWwtd2lkdGgteGw6IDEyMDBweDtcblxuICAgIC8qIFN0YWNraW5nIENvbnRleHQgKHotaW5kZXgpICovXG4gICAgLS16LWluZGV4LXRhYmxlLXN0aWNreTogMjsgICAgICAgICAgLyogdGJvZHkgc3RpY2t5IGNvbHVtbnMgKi9cbiAgICAtLXotaW5kZXgtdGFibGUtc3RpY2t5LWhlYWQ6IDM7ICAgICAvKiB0aGVhZCBzdGlja3kgY29sdW1ucyAqL1xuICAgIC0tei1pbmRleC1zdGlja3ktaGVhZGVyOiAxMDsgICAgICAgIC8qIEluLXBhZ2Ugc3RpY2t5IGhlYWRlcnMgKi9cbiAgICAtLXotaW5kZXgtbG9hZGluZy1vdmVybGF5OiAyMDsgICAgICAvKiBJbi1wYWdlL2NvbXBvbmVudCBsb2FkZXJzICovXG4gICAgLS16LWluZGV4LWRyb3Bkb3duOiA1MDA7ICAgICAgICAgICAgLyogTWVudXMgYW5kIGZseW91dHMgKi9cbiAgICAtLXotaW5kZXgtYmFja2Ryb3A6IDk5MDsgICAgICAgICAgICAvKiBEaW1tZXIgb3ZlcmxheXMgKi9cbiAgICAtLXotaW5kZXgtZHJhd2VyOiAxMDAwOyAgICAgICAgICAgICAvKiBPZmYtY2FudmFzIG5hdmlnYXRpb24gJiBzaWRlYmFycyAqL1xuICAgIC0tei1pbmRleC1tb2RhbDogMTA1MDsgICAgICAgICAgICAgIC8qIFNlYXJjaCBtb2RhbCAmIGRpYWxvZ3MgKi9cbn1cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYmFzZSk7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgYm90dG9tLCB2YXIoLS1jb2xvci1iZy1ncmFkaWVudC1zdGFydCkgMCUsIHZhcigtLWNvbG9yLWJnLWdyYWRpZW50LWVuZCkgMTAwJSkgbm8tcmVwZWF0IGZpeGVkO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG5ib2R5IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbnAge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1sZykgMCB2YXIoLS1zcGFjZS1tZCkgMDtcbn1cblxuLmZvb3RlciBoMSwgLmZvb3RlciBoMiwgLmZvb3RlciBoMywgLmZvb3RlciBoNCxcbi5mb290ZXIgaDUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG5hLCBhOmxpbmssIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciwgYTphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuXG4uZm9udC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5mb250LW11dGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuXG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbmlucHV0W3R5cGU9c3VibWl0XSxcbmlucHV0W3R5cGU9ZmlsZV0sXG5zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG50ZXh0YXJlYSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5zZWxlY3Qge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBUYWJsZSAqL1xudGFibGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbnRhYmxlIHRoZWFkIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbnRhYmxlIHRoZWFkIHRyIHRoLFxudGFibGUgdGhlYWQgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG50YWJsZSB0aGVhZCBhLFxudGFibGUgdGhlYWQgYTppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG50YWJsZSB0Ym9keSB0ciB0aCxcbnRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbnRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJvcmRlci13aWR0aC1zbSkpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCBoMyAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRoLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRkLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRoZWFkIHRoLnN0aWNreS1jb2wge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC10YWJsZS1zdGlja3ktaGVhZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3gtc2hhZG93OiAycHggMCA1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0aC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0ZC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0Ym9keSB0aC5zdGlja3ktY29sIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtdGFibGUtc3RpY2t5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmhvdmVyIHRoLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmhvdmVyIHRkLnN0aWNreS1jb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuYm9keS53YWl0aW5nLFxuYm9keS53YWl0aW5nICoge1xuICAgIGN1cnNvcjogd2FpdDtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uLmJ1dHRvbi0tcHJpbWFyeSxcbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIC5idXR0b24uZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbjpub3QoLmJ1dHRvbi0tcHJpbWFyeSk6bm90KC5mb2N1cyk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRhYmxlLWF2YXRhci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciBpbWcge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciAucGFydGljaXBhbnQge1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXItLWZvbGxvd2VycyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlci0tZm9sbG93ZXJzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4udGFibGUtZmlyc3QtcG9zIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4udGFibGUtc2Vjb25kLXBvcyB7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi50YWJsZS10aGlyZC1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi50YWJsZS1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB0YWJsZSB0aGVhZCB0ciB0aCxcbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUgdGhlYWQgdHIgdGQge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbn1cblxuLm1haW4tYXJlYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLWxnKSA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWluLWhlaWdodDogOTAwcHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpIDA7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCBlbGxpcHNlIDY1JSA1NSUgYXQgNTAlIDU1JSwgcmdiYSgxOTAsIDIyNSwgMjU1LCAwLjcpIDAlLCByZ2JhKDIxNSwgMjM1LCAyNTUsIDAuMzUpIDQ1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA3NSUgKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnNpZGUtYXJlYSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uc2lkZS1hcmVhIGgxLFxuLnNpZGUtYXJlYSBoMixcbi5zaWRlLWFyZWEgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXNtKSAwIHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5zaWRlLWFyZWEtLXRyZWUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4uZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5mb290ZXIgYSxcbi5mb290ZXIgYTpsaW5rLFxuLmZvb3RlciBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uZm9vdGVyIGE6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogQ29udGVudCB3cmFwcGVyICovXG4uY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggbWlubWF4KDAsIDFmcikgMjBweDtcbiAgICByb3ctZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xufVxuXG4uY29udGVudCA+ICoge1xuICAgIGdyaWQtY29sdW1uOiAyO1xufVxuXG4uY29udGVudCA+IC5mbGV4LXJvdy0td29ybGQtcmVjb3JkcyB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5cbi5zdWItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4vKiBoZXJvIGJhbm5lciAqL1xuLmhlcm8tYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMzA2MTcgMCUsICMxZTNhNWYgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpIHZhcigtLXNwYWNlLW1kKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGVyby1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5oZXJvLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uaGVyby1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBIYXJkd2FyZSBoZXJvIHNjdGlvbiAqL1xuLmhhcmR3YXJlLWhlcm8tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLmhhcmR3YXJlLWhlcm8taW1hZ2UtY2FyZCB7XG4gIGZsZXg6IDEgMSAzMDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5oYXJkd2FyZS1iZW5jaG1hcmstaW1hZ2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleDogMTtcbn1cblxuLmhhcmR3YXJlLWJlbmNobWFyay1pbWFnZS13cmFwcGVyIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMjIwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmhhcmR3YXJlLWFmZmlsaWF0ZS1hY3Rpb25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uYnV0dG9uLS1hbWF6b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmY5OTAwO1xuICBjb2xvcjogIzExMTExMTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogOHB4IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTY4YTAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLmJ1dHRvbi0tYW1hem9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2YwOGMwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmJ1dHRvbi0tYW1hem9uOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJ1dHRvbi0tYW1hem9uIGkge1xuICBmb250LXNpemU6IDEuMTVyZW07XG59XG5cbi5oYXJkd2FyZS1oZXJvLXN0YXRzLWdyaWQge1xuICBmbGV4OiAyIDEgMzIwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS14cykgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtc3ViLWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2Utc20pIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLXN0YXQtbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLWZhbWlseS1saW5rIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtZmFtaWx5LWxpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmhhcmR3YXJlLXRhYi1tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oYXJkd2FyZS10YWItbWVudSAuYnV0dG9uIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmltYWdlLW1vZGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmc6IDUwcHggMCAwIDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG5cbi5pbWFnZS1tb2RhbC1jb250ZW50IHtcbiAgICBtYXJnaW46IGF1dG8gYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXgtaGVpZ2h0OiA5MCU7XG59XG5cbi8qIGltYWdlICovXG4uaW1hZ2Utd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYmVuY2htYXJrLWltYWdlLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLyogQ29tcG8gc3RhZ2UgaW5mbyBjYXJkICovXG4ubGlzdC0tc3RhZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmxpc3QgbGkuc3RhZ2UtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubGlzdCBsaS5zdGFnZS1pbmZvOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5zdGFnZS1pbmZvLW1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGFnZS1pbmZvLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnN0YWdlLW51bWJlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zdGFnZS1udW1iZXIgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbn1cblxuLnN0YWdlLW51bWJlci0tcnVubmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1iZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtdGV4dCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLWJvcmRlcik7XG59XG5cbi5zdGFnZS1udW1iZXItLXJ1bm5pbmcgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuXG4uc3RhZ2UtbnVtYmVyLS1jbG9zZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtbnVtYmVyLS1jbG9zZWQgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLnN0YWdlLW51bWJlci0tdXBjb21pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbn1cblxuLnN0YWdlLW51bWJlci0tdXBjb21pbmcgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuXG4uc3RhZ2UtaW5mbyAuc3RhZ2UtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5zdGFnZS1pbmZvIC5zdGFnZS1saW5rIHNwYW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5zdGFnZS1pbmZvLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG59XG5cbi5zdGFnZS1pbmZvLmFjdGl2ZSAuc3RhZ2UtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc3RhZ2UtbGluayBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhZ2UtaW5mbyAuc3RhZ2UtbGluazpob3ZlciBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi5zdGFnZS1pbmZvLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uc3RhZ2UtbWV0YS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zdGFnZS1tZXRhLXJhbmsgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rLnJhbmstLWdvbGQgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5zdGFnZS1tZXRhLXJhbmsucmFuay0tc2lsdmVyIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuay5yYW5rLS1icm9uemUgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uc3RhZ2UtaW5mbyAudGV4dC1tdXRlZCAuZmEtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5zdGFnZS1tZXRhLXNjb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zdGFnZS1pbmZvIC50ZXh0LW11dGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGFnZS1pbmZvIC5zY29yZS1saW5rIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5zdGFnZS1pbmZvIC50YXJnZXQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLyogR3JpZCBib3hlcyAqL1xuLmdyaWQtYm94IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZ3JpZC1ib3gtLXN1Ym1pdC1oYXJkd2FyZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG59XG5cbi5ncmlkLWJveC0tc3VibWl0LWhhcmR3YXJlID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5ncmlkLWJveC0tc3VibWl0LWhhcmR3YXJlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi53YWxsLXN1Ym1pc3Npb24tY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZ2FwOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ud2FsbC1zdWJtaXNzaW9uLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLmdyaWQtYm94LS1hY2hpZXZlbWVudCxcbi5ncmlkLWJveC0tcGFydG5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0taGlnaGxpZ2h0LXN1Ym1pc3Npb24sXG4uZ3JpZC1ib3gtLXN1Ym1pc3Npb24taGFyZHdhcmUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xufVxuXG4uZ3JpZC1ib3gtLWNvbXBvLFxuLmdyaWQtYm94LS1wcm9maWxlLFxuLmdyaWQtYm94LS1zdWJtaXNzaW9uLXJhbmtpbmcge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xufVxuXG4uZ3JpZC1ib3gtLWJlbmNobWFya3MsXG4uZ3JpZC1ib3gtLWhhcmR3YXJlLW92ZXJ2aWV3LFxuLmdyaWQtYm94LS1sZWFndWUtaW5mbyxcbi5ncmlkLWJveC0tbmV3cyxcbi5ncmlkLWJveC0tc2VhcmNoIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1wcm9maWxlLWFjY291bnQtc2V0dGluZ3Mge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDI4MHB4LCAxMDAlKSwgNTAwcHgpKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdlbmVyaWMgQ2FyZCBTdXJmYWNlIFByaW1pdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJkLFxuLmdyaWQtYm94LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLyogQ2FyZCBFbGVtZW50cyAqL1xuLmNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5jYXJkX190aXRsZSxcbi5jYXJkLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uY2FyZCA+IDppcyhoMiwgaDMpOmZpcnN0LWNoaWxkLFxuLmdyaWQtYm94LWNhcmQgPiA6aXMoaDIsIGgzKTpmaXJzdC1jaGlsZCxcbi5jYXJkX19ib2R5ID4gOmlzKGgyLCBoMyk6Zmlyc3QtY2hpbGQsXG4uY2FyZC1ib2R5ID4gOmlzKGgyLCBoMyk6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNhcmQgPiA6aXMoaDIsIGgzKTpsYXN0LWNoaWxkLFxuLmdyaWQtYm94LWNhcmQgPiA6aXMoaDIsIGgzKTpsYXN0LWNoaWxkLFxuLmNhcmRfX2JvZHkgPiA6aXMoaDIsIGgzKTpsYXN0LWNoaWxkLFxuLmNhcmQtYm9keSA+IDppcyhoMiwgaDMpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1iZW5jaG1hcmstc3RhdHMgPiA6aXMoaDIsIGgzKTpmaXJzdC1jaGlsZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jYXJkX19ib2R5LFxuLmNhcmQtYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jYXJkX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tc3VibWl0LWhhcmR3YXJlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7XG59XG5cblxuLmdyaWQtYm94LWNhcmQtLWRlc2NyaXB0aW9uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uY2FyZC0tc2lkZWJhci1yYW5raW5nLFxuLmdyaWQtYm94LWNhcmQtLXNpZGViYXItcmFua2luZyxcbi5ncmlkLWJveC1jYXJkLmdyaWQtYm94LWNhcmQtLXNpZGViYXItcmFua2luZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLW5ld3Mge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLW5ld3MgLmZsZXgtcm93LS1uZXdzLWZvb3RlciBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLW5ld3Mge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWFjaGlldmVtZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFyay1zdGF0cyxcbi5ncmlkLWJveC1jYXJkLS1wYXJ0bmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1iZW5jaG1hcmstc3RhdHMgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5zdGF0LXN0YXR1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbmV3czpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4vKiBXYWxsIFN1Ym1pc3Npb24gQ2FyZCAoVXNlciBQcm9maWxlICYgVGVhbSBXYWxsKSAqL1xuLndhbGwtY2FyZF9fYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLndhbGwtY2FyZF9fcmFua2luZ3Mge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdWJ0bGUpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ud2FsbC1jYXJkX19yYW5raW5ncyAuZ3JpZC1zcGVjLXJvdyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ud2FsbC1jYXJkX19kYXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53YWxsLWNhcmRfX3VzZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud2FsbC1jYXJkX191c2VyIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi53YWxsLWNhcmRfX2JlbmNobWFyayBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ud2FsbC1jYXJkX19oYXJkd2FyZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ud2FsbC1jYXJkX19jb3JlcyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeHMpIHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndhbGwtY2FyZF9fY29vbGluZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53YWxsLWNhcmRfX3Njb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFya3Mge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrcyxcbi5ncmlkLWJveC1jYXJkLS1jb21wbyxcbi5ncmlkLWJveC1jYXJkLS1oYXJkd2FyZS1vdmVydmlldyxcbi5ncmlkLWJveC1jYXJkLS1oaWdobGlnaHQtc3VibWlzc2lvbixcbi5ncmlkLWJveC1jYXJkLS1sZWFndWUtaW5mbyxcbi5ncmlkLWJveC1jYXJkLS1sb2dpbixcbi5ncmlkLWJveC1jYXJkLS1wcm9maWxlLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkLFxuLmdyaWQtYm94LWNhcmQtLXNlYXJjaCxcbi5ncmlkLWJveC1jYXJkLS1zdWJtaXNzaW9uLWhhcmR3YXJlLFxuLmdyaWQtYm94LWNhcmQtLXRvcC1maWx0ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jYXJkLS1jb21wZXRpdGlvbixcbi5ncmlkLWJveC1jYXJkLS1jb21wbyB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2FyZC0tY29tcGV0aXRpb24gLmNhcmQtYm9keSxcbi5jYXJkLS1jb21wZXRpdGlvbiAuY2FyZF9fYm9keSxcbi5ncmlkLWJveC1jYXJkLS1jb21wbyAuY2FyZC1ib2R5IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7XG59XG5cbi5jYXJkLS1jb21wZXRpdGlvbiAucmFua2luZy1lbXB0eS1jYXJkLFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvIC5yYW5raW5nLWVtcHR5LWNhcmQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1oaWdobGlnaHQtc3VibWlzc2lvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogSGFyZHdhcmUgSGVhZGVyIENhcmQgKi9cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuY2FyZF9faGVhZGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuY2FyZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5oYXJkd2FyZS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5oYXJkd2FyZS1oZWFkZXJfX2JhZGdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmhhcmR3YXJlLWhlYWRlcl9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmhhcmR3YXJlLWhlcm8tc3RhdHMtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCBoMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhsKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuaGFyZHdhcmUtaGVyby1zdGF0LWNhcmQgLmhhcmR3YXJlLXN0YXQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmdyaWQtc3BlYyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4vKiBCZW5jaG1hcmsgT3ZlcnZpZXcgKi9cbi5ncmlkLWJveC0tYmVuY2htYXJrcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG4uZ3JpZC1ib3gtLWJlbmNobWFya3MgLmNhcmRfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLyogU3BlYyAqL1xuLmdyaWQtc3BlYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5ncmlkLXNwZWMtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciA+IGEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAuYXR0cmlidXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLmF0dHJpYnV0ZS1ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ncmlkLXNwZWMtcm93LS1zdGFja2VkIC5hdHRyaWJ1dGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQgLnZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLmNhcmQtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5jYXJkLWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi8qIE1vZGFsIG92ZXJsYXkgKi9cbi5tb2RhbC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbW9kYWwpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc21vb3RoKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG59XG5cbi5tb2RhbC1vdmVybGF5LmlzLW9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXgtaGVpZ2h0OiA4NXZoO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5tb2RhbC1kaWFsb2ctLXJlc3VsdC1oaXN0b3J5IHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1vZGFsLXdpZHRoLW1kKTtcbn1cblxuLm1vZGFsLWRpYWxvZy0tcmVzdWx0LW1vZGVyYXRpb24ge1xuICAgIG1heC13aWR0aDogdmFyKC0tbW9kYWwtd2lkdGgtbGcpO1xufVxuXG4ubW9kYWwtZGlhbG9nLS1zb2NpYWwge1xuICAgIG1heC13aWR0aDogdmFyKC0tbW9kYWwtd2lkdGgtc20pO1xufVxuXG4ubW9kYWwtZGlhbG9nX19oZWFkZXIsXG4ubW9kYWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ubW9kYWwtZGlhbG9nX19ib2R5LFxuLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLm1vZGFsLWRpYWxvZ19fZm9vdGVyLFxuLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qIExpc3QgKi9cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmxpc3QgbGkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmxpc3QtLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4vKiBQcm9maWxlIGJhbm5lciAqL1xuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAucHJvZmlsZS1iYW5uZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDYgLyAxO1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTJweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5uby1iYW5uZXIgLmF2YXRhci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5uby1iYW5uZXIgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50LmV4ZWN1dG9yIHVsLFxuLnRlcm1zLWFuZC1jb25kaXRpb25zIC5jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50LmV4ZWN1dG9yIHVsIGxpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLyogU3RhcnQgZmlsdGVyIHNldHRpbmdzICovXG5cbi5maWx0ZXIgLmxpc3QsXG4uZmlsdGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZmlsdGVyIC5saXN0IGxpLFxuLmZpbHRlciB1bCBsaSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi5maWx0ZXIgLmZpbHRlci1rZXkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5maWx0ZXIgLnJhbmtpbmctZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDAgdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG5cbi8qIEFjdGl2ZSBGaWx0ZXIgQ2hpcHMgKi9cbi5maWx0ZXItY2hpcHMtYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uZmlsdGVyLWNoaXBzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5maWx0ZXItY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYWluKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1jaGlwLWxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmlsdGVyLWNoaXAtcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uZmlsdGVyLWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbn1cblxuLmZpbHRlci1jaGlwLWNsZWFyLWFsbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLWNoaXAtY2xlYXItYWxsOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4vKiBIYXJkd2FyZSBMaW5rcyAvIENoaXAgQ2xvdWQgKi9cbi5oYXJkd2FyZS1jaGlwcy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFyZHdhcmUtY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5oYXJkd2FyZS1jaGlwOmhvdmVyLFxuLmhhcmR3YXJlLWNoaXA6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1jaGlwcy1zY3JvbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLWRldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyLFxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5OjptYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeTpob3Zlcixcbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnkgLmZhLWNoZXZyb24tZG93biB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1kZXRhaWxzW29wZW5dID4gLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5IC5mYS1jaGV2cm9uLWRvd24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtZGV0YWlscyAuZXhwYW5kLXRleHQtbGVzcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1kZXRhaWxzW29wZW5dIC5leHBhbmQtdGV4dC1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLWRldGFpbHNbb3Blbl0gLmV4cGFuZC10ZXh0LWxlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmJhZGdlLS1jb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1pbi13aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4vKiBQcm9ncmVzcyAqL1xuLnByb2dyZXNzYmFyIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSBhdXRvO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDVweDtcbn1cblxuLnByb2dyZXNzYmFyID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cblxuLyogU3VibWlzc2lvbiBzdWdnZXN0aW9ucyAqL1xuLnN1Ym1pc3Npb24tc3VnZ2VzdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1pbmZvLWJvcmRlcik7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnN1Ym1pc3Npb24tc3VnZ2VzdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5idXR0b24uYnRuLXBhcnRpY2lwYXRlIC5jb250ZXN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmJ1dHRvbi5idG4tcGFydGljaXBhdGUgLnN0YWdlLW5hbWUge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8qIFN1Ym1pc3Npb24gc2NvcmUgKi9cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hsKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuYXZhdGFyLXdyYXBwZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5hdmF0YXItd3JhcHBlciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAudXNlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtbGFiZWwsXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5jb25uZWN0b3ItdGV4dCB7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC50ZW1wLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBTdWJtaXNzaW9uIHN1YiBzY29yZSAqL1xuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSAuc3ViLXNjb3JlLW5hbWU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIjpcIjtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtdmFsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi8qIEZvcm0gKi9cbi5mb3JtLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1yb3cuZm9ybS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1yb3cuZm9ybS1tb2RhbC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uZm9ybS1ncm91cC0tYmVuY2htYXJrIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4uZm9ybS1ncm91cC0tbmFycm93LFxuLmZvcm0tZ3JvdXAtLWZpbGUtdXBsb2FkIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xufVxuXG4uZm9ybS1ncm91cC0tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZm9ybS1ncm91cC0tcm93ID4gbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cC0tcm93ID4gaW5wdXQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uZm9ybS1ncm91cCBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94Lmhhcy1lcnJvcixcbi5mb3JtLWdyb3VwLWNoZWNrYm94LmZpZWxkLWVycm9yIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cywgMC41cmVtKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnLCByZ2JhKDIyMCwgMzgsIDM4LCAwLjAzKSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IC5iaW5kaW5nLWVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1ncm91cC5oYXMtZXJyb3IgbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWdyb3VwLmhhcy1lcnJvciBpbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xufVxuXG4uZm9ybS1maWx0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbiNyYW5raW5nX2ZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4jcmFua2luZ19maWx0ZXIgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEycHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmZvcm0taW5wdXQtc2VhcmNoLXdyYXBwZXIgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMzZweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdCAuZm9ybS1pbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZsZXg6IDE7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSAgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQgLmZvcm0taW5wdXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0IC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mb3JtLXVuaXQtc3VmZml4IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmJpbmRpbmctZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5iYW5uZXItaW1hZ2Uge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2Utc20pIDA7XG59XG5cbi5iYW5uZXItaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLyogQ29tcG8gc2lkZWJhciBjYXJkcyAtIExpZ2h0IFRlY2huaWNhbCAqL1xuLmNvbXBldGl0aW9uLWxlYWRlcixcbi50aW1lcixcbi5zdGFnZXMtc2lkZWJhci1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1zdGFnZXMsXG4uZ3JpZC1ib3gtY2FyZC0tbGVhZGVyLFxuLmNhcmQtLXRpbWVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbn1cblxuLnN0YWdlcy1zaWRlYmFyLWdyaWQgLnN0YWdlLWluZm8ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1pbmZvLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1udW1iZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1udW1iZXIgaSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIGgyIHtcbiAgICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS1tZCkgMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnRleHQtZ29sZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDRweCByZ2JhKDI0NSwgMTU4LCAxMSwgMC4zKSk7XG59XG5cbi50ZXh0LWNyaW1zb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi50ZXh0LWFtYmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi50ZXh0LXNsYXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi8qIFNwb3RsaWdodCBDYXJkcyAoTGVhZGVyICYgVGltZXIpICovXG4uY29tcGV0aXRpb24tbGVhZGVyX19oZWFkZXIsXG4udGltZXJfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2hlYWRlciBoMixcbi50aW1lcl9faGVhZGVyIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2hlcm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19hdmF0YXItd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19hdmF0YXIge1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyMzQsIDE3OSwgOCwgMC4yNSk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3Bvcy1waWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMnB4O1xuICAgIHJpZ2h0OiAtNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9faWRlbnRpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdWJ0ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N1YnRleHQgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdHMge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0LWJveCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdC12YWwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1leHRyYWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXQtdmFsIHNtYWxsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50aW1lcl9fY2xvY2sge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnRpbWVyX190aWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4udGltZXJfX2NvdW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi50aW1lcl9fdW5pdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnRpbWVyX19jbG9jay0tY2xvc2VkIC50aW1lcl9fdGlsZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi50aW1lcl9fY2xvY2stLWNsb3NlZCAudGltZXJfX2NvdW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi50aW1lcl9fY2xvY2stLWNsb3NlZCAudGltZXJfX3VuaXQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnRpbWVyX19tZXRhIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRpbWVyX19tZXRhIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50aW1lcl9fbWV0YSBzdHJvbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHktaWNvbiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhsKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5LWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eS10aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5LXN1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi8qIFJhbmtpbmcgRW1wdHkgU3RhdGUgQ2FyZCAqL1xuLnJhbmtpbmctZW1wdHktY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhsKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmFua2luZy1lbXB0eS1pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4bCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbi0tdXBjb21pbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyLCAxMzIsIDE5OSwgMC4yKTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbi0tb3BlbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDE3OSwgOCwgMC4wOCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjIpO1xufVxuXG4ucmFua2luZy1lbXB0eS1pY29uLS1jb21tZW50cyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKTtcbn1cblxuLnJhbmtpbmctZW1wdHktY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnJhbmtpbmctZW1wdHktdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG5cbi5yYW5raW5nLWVtcHR5LXN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi5yYW5raW5nLWVtcHR5LXN1YnRpdGxlIHN0cm9uZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLyogU2Vhc29uIFBvaW50cyBMZWFkZXJib2FyZCBMaXN0IChNb2RhbCkgKi9cbi5zZWFzb24tcG9pbnRzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgbWluLWhlaWdodDogNDhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtLS1nb2xkIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbS0tc2lsdmVyIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW0tLWJyb256ZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWluLXdpZHRoOiAzNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3JhbmstLWdvbGQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuay0tZ29sZCAuZmEtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAzcHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuNCkpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1zaWx2ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3JhbmstLXNpbHZlciAuZmEtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3JhbmstLWJyb256ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19jb21wZXRpdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXg6IDE7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX2F2YXRhciB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fYXZhdGFyLWZsYWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX2luZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX25hbWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19zdWJ0ZXh0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19zdWItYXZhdGFyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19wYXJ0aWNpcGFudHMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcG9pbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19wb2ludHMtdmFsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcG9pbnRzLXVuaXQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zZWFzb24tcG9pbnRzLWxpc3RfX2VtcHR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIENvbXBldGl0aW9uIEJhY2sgTGluayAqL1xuLmNvbXBvLWJhY2stbGluayxcbi5jb21wby1iYWNrLWxpbms6bGluayxcbi5jb21wby1iYWNrLWxpbms6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi5jb21wby1iYWNrLWxpbms6aG92ZXIsXG4uY29tcG8tYmFjay1saW5rOmFjdGl2ZSxcbi5jb21wby1iYWNrLWxpbms6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbXBvLWJhY2stbGluayBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wby1iYWNrLWxpbms6aG92ZXIgaSxcbi5jb21wby1iYWNrLWxpbms6Zm9jdXMtdmlzaWJsZSBpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7XG59XG5cbi5jb21wby1iYWNrLWxpbmsgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogQ29tcGV0aXRpb24gU2NvcmVib2FyZCBDYXJkcyAqL1xuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWhlYWRlcl9fcmFuayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWhlYWRlcl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyX19wYXJ0aWNpcGFudCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWhlYWRlcl9fdG90YWwge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkLS1maXJzdCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmQtLXNlY29uZCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkLS10aGlyZCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3Jhbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19yYW5rLS1maXJzdCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3JhbmstLXNlY29uZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19yYW5rLS10aGlyZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcGFydGljaXBhbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcGFydGljaXBhbnQgLmNvdW50cnlfZmxhZ3Mge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fbmFtZSB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwtdW5pdCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fY3VwcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXAtLXNjb3JlZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cF9fbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19zdGFnZS1yZXN1bHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXBfX3Njb3JlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19wb2ludHMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cC0tc2NvcmVkIC5jb21wby1zY29yZWJvYXJkLWN1cF9fcG9pbnRzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLFxuLmNvbXBvLXN0YWdlLXNjb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZSBpLFxuLmNvbXBvLXN0YWdlLXNjb3JlIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuYS5zdWJtaXNzaW9uLXNjb3JlOmhvdmVyIGksXG5hLmNvbXBvLXN0YWdlLXNjb3JlOmhvdmVyIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4uY29tcG8tc3RhZ2UtY2FyZF9faW1hZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29tcG8tc3RhZ2UtY2FyZF9fdGh1bWItbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tc3RhZ2UtY2FyZF9fdGh1bWItbGluazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4uY29tcG8tc3RhZ2UtY2FyZF9fdGh1bWIge1xuICAgIGhlaWdodDogMzZweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogU3RhZ2UgU3VibWlzc2lvbnMgTGlzdCAmIENhcmRzICovXG4uc3RhZ2Utc3VibWlzc2lvbnMtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9fbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vKiBUb2RheSBTdWJtaXNzaW9ucyBUYWJsZSAmIFJlc3BvbnNpdmUgQ2FyZHMgKi9cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyLnN0aWNreS10YWJsZSxcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLmJlbmNobWFyay1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5iZW5jaG1hcmstb3ZlcnZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4uYmVuY2htYXJrLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmJlbmNobWFyay1vdmVydmlldy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLmJlbmNobWFyay1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5iZW5jaG1hcmstb3ZlcnZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlLFxuLnh0dS1hbmFseXplLXRhYmxlLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGgsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGgsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmssXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1kYXRlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1kYXRlIHtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29vbGluZyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3Vic3BlY3MsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLW1vdGhlcmJvYXJkLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29vbGluZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdWJzLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY2FyZWVyLXJhbmssXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLW1lbWJlcnMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXN0YXR1cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNhcmVlci1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHI6aG92ZXIsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHI6aG92ZXIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjcyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19zdWJzcGVjcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXJlZXItcmFuayxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3RhdHVzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdHlwZSxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHlwZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vicyxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi54dHUtYW5hbHl6ZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY2xvY2ssXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5ncHUtY2FyZF9fc3Vicy1iYWRnZSxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyAuY3B1LWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLm1iLWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLm1lbS1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5kaXNrLWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLnBzdS1jYXJkX19zdWJzLWJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5jcHUtY2FyZF9fc3BlYyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZ3B1LWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLm1iLWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLm1lbS1jYXJkX19zcGVjLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5wc3UtY2FyZF9fc3BlYyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZGlzay1jYXJkX19zcGVjIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuY3B1LWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZ3B1LWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAubWItY2FyZF9fc3BlYzpsYXN0LWNoaWxkLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5tZW0tY2FyZF9fc3BlYzpsYXN0LWNoaWxkLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5wc3UtY2FyZF9fc3BlYzpsYXN0LWNoaWxkLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5kaXNrLWNhcmRfX3NwZWM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgLmNvbC1hY3Rpb25zIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2FjdGlvbnMsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIC5jb2wtYWN0aW9ucyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIEJlbmNobWFyayBPdmVydmlldyAmIFJ1bGVzIFRhYmxlcyAqL1xuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmV0YSxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWJldGEge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtb3MsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1vcyB7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1vcyBpIHtcbiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWxpbmtzLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGlua3Mge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGlua3MgLmZsZXgtcm93LS1iZW5jaG1hcmstbGlua3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxpbmtzIC5mbGV4LXJvdy0tYmVuY2htYXJrLWxpbmtzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstcnVsZS1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuZW1wdHktc3RhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLyogVGVhbSBDdXBzIGFuZCBNZWRhbHMgVGFibGUgKi9cbi50ZWFtLWN1cHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXRyb3BoeSB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogVGVhbSBQb2ludHMgQ29udHJpYnV0aW9uIFRhYmxlICovXG4udGVhbS1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLW1ldHJpYyxcbi50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWV0cmljIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDExMHB4O1xufVxuXG4udGVhbS1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWxlYWd1ZSxcbi50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICB3aWR0aDogMTMwcHg7XG59XG5cbi8qIFRlYW0gTWVtYmVycyBUYWJsZSAqL1xuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlcixcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJvbGUsXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yb2xlIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbGVhZ3VlLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtam9pbmVkLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC12aXNpdCxcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXZpc2l0IHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgLmNvbC1hY3Rpb25zIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRlYW0tbWVtYmVyLWRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGVhbS1tZW1iZXItZGF0ZSBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRlYW0tbWVtYmVyLWRhdGVfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUZWFtIFJlcXVlc3RzIFRhYmxlICovXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlcixcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1pbi13aWR0aDogMTQwcHg7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1sZWFndWUsXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWpvaW5lZCxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC12aXNpdCxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdCB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWFjdGlvbnMsXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIC5jb2wtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50ZWFtLXJlcXVlc3RzLWFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4vKiBTdWItY29tcG9uZW50cyBpbnNpZGUgY2VsbHMgYW5kIGNhcmRzICovXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19yYW5rLFxuLm1lbWJlci1jYXJkX19yYW5rLFxuLnRlYW0tY2FyZF9fcmFuayB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2RhdGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYmVuY2htYXJrLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdmVyc2lvbiB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlY3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19zdWJzcGVjIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlYzpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWMgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IC5jb3VudHJ5X2ZsYWdzIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnRzOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludCxcbi5ody1yZWNvcmRzLXRhYmxlX19wb2ludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQ6aG92ZXIsXG4uaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC12YWx1ZSxcbi5ody1yZWNvcmRzLXRhYmxlX19wb2ludC12YWx1ZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LWxhYmVsLFxuLmh3LXJlY29yZHMtdGFibGVfX3BvaW50LWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0zeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1leHRyYWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyogQ29tcGV0aXRpdmUgTGVhZ3VlIFBvaW50IEJhZGdlcyAqL1xuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtLXdyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctYm9yZGVyKTtcbn1cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS13ciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtLXdyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LXZhbHVlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy10ZXh0KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtLWVtcHR5IHtcbiAgICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19jb21tZW50cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvbW1lbnRzOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19jb21tZW50cyBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBQZXJzb25hbCAmIFRlYW0gQmVuY2htYXJrIFN1bW1hcnkgSGlnaGxpZ2h0IENhcmRzICovXG4ucmFua2luZy1oaWdobGlnaHQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zKTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX3Njb3JlLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19zY29yZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19oYXJkd2FyZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29yZXMsXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fY29yZXMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX3BvaW50cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19lbXB0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWJlbmNobWFyayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA2MHB4O1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1iZW5jaG1hcmssXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiBVc2VyIEhhcmR3YXJlIExpYnJhcnkgVGFibGUgKi9cbi5saWJyYXJ5LXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4ubGlicmFyeS10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdWJzLFxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubGlicmFyeS1jYXJkX19zdWJzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4vKiBVc2VyIFhUVSBQcm9maWxlcyBUYWJsZSAmIFhUVSBBbmFseXplIFRhYmxlICovXG4ueHR1LXByb2ZpbGVzLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuLnh0dS1hbmFseXplLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4vKiBVc2VyIFJhbmtpbmcgTG9nIFRhYmxlICovXG4ucmFua2luZy1sb2ctdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlLFxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbi5yYW5raW5nLWxvZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi8qIFVzZXIgUG9pbnRzIFRhYmxlICovXG4udXNlci1wb2ludHMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWRhdGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAxMTBweDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb29saW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWxldmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDgwcHg7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZXZlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBDb21wZXRpdGlvbiBPdmVydmlldyBUYWJsZSAqL1xuLmNvbXBldGl0aW9ucy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29tcGV0aXRpb24ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1sZXZlbCxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxldmVsIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLXN0YWdlcyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YWdlcyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1vcGVucyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLW9wZW5zLFxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY2xvc2VzLFxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvc2VzIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLXdpbm5lcixcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXdpbm5lciB7XG4gICAgd2lkdGg6IDIyMHB4O1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24gYS5jb21wZXRpdGlvbnMtdGFibGVfX25hbWUtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX2xldmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX3N0YWdlcy1sYWJlbCxcbi5jb21wZXRpdGlvbnMtdGFibGVfX2RhdGUtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX3N0YWdlcy1jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZV9fd2lubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX3dpbm5lciAuZ29sZC10cm9waHkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogQ2FyZWVyIFdvcmxkIFJhbmtpbmcgVGFibGUgKi9cbi5jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHAsXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUZWFtIENhcmVlciBXb3JsZCBSYW5raW5nIFRhYmxlICovXG4udGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3AsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2x0cHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHd0cHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY3AsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbWVtYmVycyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdsdHBwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3dHBwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnRlYW0tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwsXG4udGVhbS1yYW5raW5nLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNlYXNvbiBMZWFndWUgUmFua2luZyBUYWJsZSAqL1xuLnNlYXNvbi1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jcCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVGVhbSBTZWFzb24gTGVhZ3VlIFJhbmtpbmcgVGFibGUgKi9cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHRwcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3RwcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tZW1iZXJzIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3Mtb3RoZXIpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2x0cHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHd0cHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3AsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwsXG4udGVhbS1zZWFzb24tcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDb3VudHJ5IExlYWd1ZSBSYW5raW5nIFRhYmxlICovXG4uY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNvdW50cnkge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3AsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY3AsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbWVtYmVycyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogR2xvYmFsIE1hc3RlcnMgTGVhZ3VlIFJhbmtpbmcgVGFibGUgKi9cbi5nbG9iYWwtbWFzdGVycy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC13cnAsXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXdycCxcbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIYXJkd2FyZSBNYXN0ZXJzIExlYWd1ZSBSYW5raW5nIFRhYmxlICovXG4uaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtMmRwLFxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLTNkcCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtMmRwLFxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLTNkcCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb21wby1zdGFnZS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uY29tcG8tc3RhZ2Utd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uY29tcG8tc3RhZ2Utd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1YnRsZSk7XG59XG5cbi5jb21wby1zdGFnZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLmNvbXBvLXN0YWdlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb21wZXRpdG9yIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSB7XG4gICAgd2lkdGg6IDIwMHB4O1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXN1Ym1pc3Npb25zIHtcbiAgICB3aWR0aDogMjAwcHg7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdG9yIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VibWlzc2lvbnMge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFIENBUkQgTEFZT1VUICg8PSAxMjAwcHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAubWVtYmVyLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLWN1cHMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tcG9pbnRzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLW1lbWJlcnMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tcmVxdWVzdHMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmdwdS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY3B1LXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5tYi10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAubWVtLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jb29saW5nLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5wc3UtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmRpc2stdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmh3LXJlY29yZHMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmxpYnJhcnktdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAueHR1LWFuYWx5emUtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC51c2VyLXBvaW50cy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuc2Vhc29uLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jb21wby1zdGFnZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIEJlbmNobWFyayBPdmVydmlldyBUYWJsZTogUHJlc2VydmUgdGFibGUgbGF5b3V0IG9uIHJlc3BvbnNpdmUgc2NyZWVucyAqL1xuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC8qIFN1Ym1pc3Npb25zIENhcmQgUm93IE1hcHBpbmcgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBiZW5jaG1hcmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29yZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyBoYXJkd2FyZSAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyBwb2ludHMgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgY29tbWVudHMgLSBsaWtlcyAocmlnaHQpIF1cbiAgICAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gQmVuY2htYXJrLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogLTIgLyAtMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBIYXJkd2FyZSwgUmlnaHQgPSBVc2VyICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSBzcGFuOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jb3Jlcyk6bm90KC5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19jb3Jlcyk6bm90KC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jayB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogLTIgLyAtMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA9IFBvaW50cywgUmlnaHQgPSBDb21tZW50cyAmIExpa2VzIChBY3Rpb25zKSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQsXG4gICAgLmh3LXJlY29yZHMtdGFibGVfX3BvaW50IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC0td3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHMge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBvcmRlcjogNztcbiAgICAgICAgZ3JpZC1jb2x1bW46IC0yIC8gLTE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLyogQ29tcGFjdCBNaWNyby1QaWxsIFZvdGUgV2lkZ2V0IGZvciBNb2JpbGUgQ2FyZHMgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbCxcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbDpob3ZlcixcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGw6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2J0bixcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2J0biB7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fYnRuOmhvdmVyLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fYnRuOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19hY3Rpb24uaGFzLXZvdGVkLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fYWN0aW9uLmhhcy12b3RlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fYnRuIGksXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19idG4gaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2RpdmlkZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19kaXZpZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19jb3VudCxcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2NvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fY2FyZXQsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19jYXJldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogN3B4O1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuXG4gICAgLyogQ29vbGluZyAmIFN1YnNwZWNzIFBsYWNlbWVudCAod2hlbiBwcmVzZW50KSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogLTIgLyAtMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBCb3JkZXJsZXNzIFN0YXR1cyBCYWRnZXMgb24gTW9iaWxlICovXG4gICAgLnN0YXR1cy1iYWRnZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuc3RhdHVzLWJhZGdlIGkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLnN0YXR1cy1iYWRnZSAuc3RhdHVzLXZhbHVlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB9XG5cbiAgICAvKiBCb3JkZXJsZXNzIFN0YWdlICYgQ3VwIEJhZGdlcyBvbiBNb2JpbGUgKi9cbiAgICAuc3RhZ2UtbnVtYmVyLFxuICAgIC5zdGFnZS1udW1iZXItLXJ1bm5pbmcsXG4gICAgLnN0YWdlLW51bWJlci0tY2xvc2VkLFxuICAgIC5zdGFnZS1udW1iZXItLXVwY29taW5nIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzIHtcbiAgICAgICAgb3JkZXI6IDg7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWNzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAvKiBIYWxsIG9mIEZhbWUgLyBSZWNvcmRzIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBmcmVxdWVuY3kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgXVxuICAgICAgIFJvdyAyOiBbICAgICAgIHwgY29vbGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIF1cbiAgICAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0cixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZCxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIDFzdCwgMm5kLCAzcmQgUG9zaXRpb24gTGVmdCBCb3JkZXIgQ29sb3JzICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0cjpudGgtY2hpbGQoMSkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHI6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgLyBEYXRlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19yYW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IEZyZXF1ZW5jeSAvIFNjb3JlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogSGFyZHdhcmUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSBzcGFuOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jaykge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IENvb2xpbmcgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1yb3c6IDIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDM6IFVzZXIgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1yb3c6IDIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIEhpZGRlbiBjb2x1bW5zIG9uIG1vYmlsZSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBVc2VyIEhhcmR3YXJlIExpYnJhcnkgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IE1hbnVmYWN0dXJlciAobGVmdCkgICAgICAgICAgTW9kZWwgKHJpZ2h0KSB8XG4gICAgICAgfCBQcm9kdWN0L1R5cGUgKGxlZnQpICAgIENvcmUvU29ja2V0IChyaWdodCkgfFxuICAgICAgIHwgU1VCTUlTU0lPTlMgKGxlZnQpICAgICAgICAgICAgICAgWCAocmlnaHQpIHxcbiAgICAqL1xuICAgIC5saWJyYXJ5LXRhYmxlLFxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gTWFudWZhY3R1cmVyLCBSaWdodCA9IE1vZGVsICovXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLW1hbnVmYWN0dXJlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gUHJvZHVjdC9UeXBlLCBSaWdodCA9IENvcmUvU29ja2V0L0NoaXBzZXQgKi9cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcHJvZHVjdCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2R1Y3Q6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXNvY2tldDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgPSBTdWJtaXNzaW9ucyBsYWJlbCwgUmlnaHQgPSBTdWJtaXNzaW9ucyBjb3VudCAqL1xuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LWNhcmRfX3N1YnMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbiAgICAvKiBVc2VyIFhUVSBQcm9maWxlcyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgICAgICB8XG4gICAgICAgfCBwcm9jZXNzb3IgICAgICAgICAgICAgICAgICBzb2NrZXQgICAgIHxcbiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuYWx5emUgICAgfFxuICAgICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSxcbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBEYXRlLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBQcm9jZXNzb3IsIFJpZ2h0ID0gU29ja2V0ICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcHJvY2Vzc29yIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNvY2tldCB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEhpZGUgRnJlcXVlbmN5ICYgTW90aGVyYm9hcmQgb24gbW9iaWxlIGNhcmQgKi9cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jayxcbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogUmlnaHQgPSBBbmFseXplICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyBhIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8qIFhUVSBBbmFseXplIE5laWdoYm9ycyBUYWJsZSBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgRGF0ZSAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NvcmUgKHJpZ2h0KSB8XG4gICAgICAgfCBVc2VyIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9jayAocmlnaHQpIHxcbiAgICAgICB8IE1vdGhlcmJvYXJkIChmdWxsLXdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgQ29vbGluZyAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCBQb2ludHMgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVm90ZSAocmlnaHQpIHxcbiAgICAqL1xuICAgIC54dHUtYW5hbHl6ZS10YWJsZSxcbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBEYXRlLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IFVzZXIsIFJpZ2h0ID0gQ2xvY2sgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2sge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jazplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IE1vdGhlcmJvYXJkIChmdWxsIHdpZHRoKSAqL1xuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW90aGVyYm9hcmQge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDAgMDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgNDogQ29vbGluZyAoZnVsbCB3aWR0aCkgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDU6IExlZnQgPSBQb2ludHMsIFJpZ2h0ID0gQWN0aW9ucyAoVm90ZSkgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA3O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDg7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAvKiBDb21wZXRpdGlvbiBPdmVydmlldyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgQ29tcGV0aXRpb24gTmFtZSAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgTGV2ZWwgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZ2VzIChyaWdodCkgfFxuICAgICAgIHwgT3BlbnM6IDxkYXRlPiAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgQ2xvc2VzOiA8ZGF0ZT4gKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgW1Ryb3BoeV0gV2lubmVyIChmdWxsLXdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSxcbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IENvbXBldGl0aW9uIE5hbWUgKGZ1bGwgd2lkdGgpICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24ge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdGlvbiBhLmNvbXBldGl0aW9ucy10YWJsZV9fbmFtZS1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gTGV2ZWwsIFJpZ2h0ID0gU3RhZ2VzICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGV2ZWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxldmVsOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdGFnZXMge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLXRhYmxlX19zdGFnZXMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IE9wZW5zIGRhdGUgKGZ1bGwgd2lkdGgpICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtb3BlbnMge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgNDogQ2xvc2VzIGRhdGUgKGZ1bGwgd2lkdGgpICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvc2VzIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy10YWJsZV9fZGF0ZS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIH1cblxuICAgIC8qIFJvdyA1OiBXaW5uZXIgKGZ1bGwgd2lkdGgpICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd2lubmVyIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC13aW5uZXI6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIENhcmVlciBXb3JsZCBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgcmFuayAgfCB1c2VyIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZWFtIChyaWdodCkgXVxuICAgICAgIFJvdyAyOiBbICAgICAgIHwgcG9pbnRzIChsZWZ0KSAgICAgICAgZ2wgcG9pbnRzIChtaWQpICAgICBodyBwb2ludHMgKHJpZ2h0KSBdXG4gICAgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMi0zOiBVc2VyICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCA0OiBUZWFtIChyaWdodC1hbGlnbmVkKSAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBQb2ludHMgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiBHTCBQb2ludHMgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgNDogSFcgUG9pbnRzICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3Age1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogVGVhbSBDYXJlZXIgV29ybGQgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgW0F2YXRhcl0gVGVhbSBbRmxhZ10gICAgICAgICAgICAgICAgICAgIFtQb2ludHNdIFBUUyBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBbQ291bnRdIG1lbWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBUZWFtICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IFBvaW50cyAqL1xuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAudGVhbS1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IE1lbWJlcnMgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVyczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFN1Yi1wb2ludCBjb2x1bW5zIGhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdsdHBwLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3RwcCxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogU2Vhc29uIExlYWd1ZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBbQXZhdGFyXSBVc2VyIFtGbGFnXSAgICAgICAgICAgICBbQXZhdGFyXSBUZWFtIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IFtQb2ludHNdIFBUUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICovXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogVXNlciAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IFRlYW0gKHJpZ2h0LWFsaWduZWQpICovXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IFBvaW50cyAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogU3ViLXBvaW50IGNvbHVtbnMgaGlkZGVuIG9uIG1vYmlsZSAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogVGVhbSBTZWFzb24gTGVhZ3VlIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyAjcmFuayB8IFtBdmF0YXJdIFRlYW0gW0ZsYWddICAgICAgICAgICAgICAgICAgICBbUG9pbnRzXSBQVFMgXVxuICAgICAgIFJvdyAyOiBbICAgICAgIHwgW0NvdW50XSBtZW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogVGVhbSAqL1xuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzOiBQb2ludHMgKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMgLnRlYW0tc2Vhc29uLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMjogTWVtYmVycyAqL1xuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFN1Yi1wb2ludCBjb2x1bW5zIGhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdsdHBwLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3RwcCxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQ291bnRyeSBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgW0ZsYWddIENvdW50cnkgICAgICAgICAgICAgICAgICAgICAgICAgIFtQb2ludHNdIFBUUyBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBbQ291bnRdIG1lbWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBDb3VudHJ5ICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvdW50cnkge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3VudHJ5IC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY291bnRyeSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3VudHJ5IC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogUG9pbnRzICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IE1lbWJlcnMgKi9cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVyczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBTdWItcG9pbnQgY29sdW1ucyBoaWRkZW4gb24gbW9iaWxlICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBHbG9iYWwgTWFzdGVycyBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIHJhbmsgIHwgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IHBvaW50cyAobGVmdCkgICAgICAgIHdyIHBvaW50cyAobWlkKSAgICAgZ2wgcG9pbnRzIChyaWdodCkgXVxuICAgICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMS4yZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMi0zOiBVc2VyICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCA0OiBUZWFtIChyaWdodC1hbGlnbmVkKSAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBQb2ludHMgKi9cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiBXUiBQb2ludHMgKi9cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXdycCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgNDogR0wgUG9pbnRzICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogSGFyZHdhcmUgTWFzdGVycyBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIHJhbmsgIHwgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IGh3cCAobGVmdCkgICAgICAgICAgIDJkcCAobWlkKSAgICAgICAgICAgICAgICAgIDNkcCAocmlnaHQpIF1cbiAgICAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMS4yZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyLTM6IFVzZXIgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCA0OiBUZWFtIChyaWdodC1hbGlnbmVkKSAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBQb2ludHMgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDM6IDJEIFBvaW50cyAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC0yZHAge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDQ6IDNEIFBvaW50cyAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC0zZHAge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBDb21wZXRpdGlvbiBTdGFnZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgWyByYW5rIHwgY29tcGV0aXRvciAgICAgICAgICAgICAgICAgICAgIHBvaW50cyBdXG4gICAgICAgWyAgICAgIHwgc2NvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgWyAgICAgIHwgaW1hZ2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29tcGV0aXRvciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXN1Ym1pc3Npb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLyogQ29sIDIsIFJvdyAxOiBDb21wZXRpdG9yICovXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdG9yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0b3IgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRvciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyogQ29sIDMsIFJvdyAxOiBQb2ludHMgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMi0zLCBSb3cgMjogUHJpbWFyeSBTY29yZSAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLyogQ29sIDItMywgUm93IDM6IEltYWdlcyAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VibWlzc2lvbnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJtaXNzaW9uczplbXB0eSxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1Ym1pc3Npb25zLS1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQ29tcGV0aXRpb24gU2NvcmVib2FyZCBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIENvbXBhY3QgMi1jb2x1bW4gY2FyZCB3aXRoIGhvcml6b250YWwgc2Nyb2xsYWJsZSBzdGFnZS9jdXAgc3RyaXAgKi9cbiAgICAuY29tcG8tc2NvcmVib2FyZC1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX3Jhbmsge1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX3Jhbmsge1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX2NvbnRlbnQge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9faGVhZGVyIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19wYXJ0aWNpcGFudCAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwtdmFsdWUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fY3VwcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX2N1cHM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jdXAge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcGFkZGluZzogMnB4IDZweDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWN1cF9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWN1cF9fc2NvcmUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWN1cF9fcG9pbnRzIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAvKiBVc2VyIFJhbmtpbmcgTG9nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCBkYXRlICAgICAgICAgICAgICAgICAgICAgICBzY29yZSAgICAgIHxcbiAgICAgICB8IGJlbmNobWFyayAgICAgICAgICAgICAgICAgIGhhcmR3YXJlICAgfFxuICAgICAgIHwgcmFuayBzaGlmdCAgICAgICAgICAgICAgICAgcG9pbnRzICAgICB8XG4gICAgKi9cbiAgICAucmFua2luZy1sb2ctdGFibGUsXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBIaWRlIFVzZXIsIFJhbmtpbmcgY2F0ZWdvcnksIGFuZCBzdGFuZGFsb25lIENvb2xpbmcgb24gbW9iaWxlIGNhcmQgKi9cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5raW5nLFxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IERhdGUsIFJpZ2h0ID0gU2NvcmUgKi9cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IEJlbmNobWFyaywgUmlnaHQgPSBIYXJkd2FyZSAqL1xuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAucmFua2luZy1sb2ctY29yZXMge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtdGVydGlhcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0ID0gUmFuayBzaGlmdCwgUmlnaHQgPSBQb2ludHMgc2hpZnQgKi9cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVXNlciBQb2ludHMgVGFibGUgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBCZW5jaG1hcmsgQ2FyZDpcbiAgICAgICB8IGJlbmNobWFyayAgICAgICAgICAgICAgICAgICAgICBzY29yZSB8XG4gICAgICAgfCBoYXJkd2FyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgY29vbGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IHJhbmsgKHRyb3BoeS8jKSAgICAgICAgICAgICAgIHBvaW50cyB8XG4gICAgICAgQ29tcGV0aXRpb24gQ2FyZDpcbiAgICAgICB8IGNvbXBldGl0aW9uICAgICAgICAgICAgICAgICAgICBsZXZlbCB8XG4gICAgICAgfCBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgcmFuayAodHJvcGh5LyMpICAgICAgICAgICAgICAgcG9pbnRzIHxcbiAgICAqL1xuICAgIC51c2VyLXBvaW50cy10YWJsZSxcbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIEJlbmNobWFyayBjYXJkIGZpZWxkcyAqL1xuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuXG4gICAgLyogQ29tcGV0aXRpb24gY2FyZCBzcGVjaWZpY3MgKi9cbiAgICAudXNlci1wb2ludHMtdGFibGUtLWNvbXBldGl0aW9uIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdGlvbiB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlLS1jb21wZXRpdGlvbiB0Ym9keSB0ciB0ZC5jb2wtbGV2ZWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlLS1jb21wZXRpdGlvbiB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctaGlnaGxpZ2h0LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLyogVXNlciBQcm9maWxlICYgVGVhbSBXYWxsIFJlc3BvbnNpdmUgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweCkgKi9cbiAgICAud2FsbC1zdWJtaXNzaW9uLWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3VzZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19zY29yZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fZGF0ZSB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2NvcmVzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fY29vbGluZyB7XG4gICAgICAgIG9yZGVyOiA3O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3Mge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEzMHB4LCAxZnIpKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYy1yb3cge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC5hdHRyaWJ1dGUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLnZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAud2FsbC1jYXJkX19yYW5raW5ncyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC5ncmlkLXNwZWMtcm93LS1zdGFja2VkIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLnZhbHVlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBCZW5jaG1hcmsgUmFua2luZyBUYWJsZSAtIENhcmQtYmFzZWQgMy1MaW5lIExlYWRlcmJvYXJkICg8PSAxMjAwcHgpXG4gICAgICAgfCByYW5rIHwgc2NvcmUgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAgICB8XG4gICAgICAgfCAgICAgIHwgY29yZXMgaGFyZHdhcmUgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCAgICAgIHwgY29vbGluZyAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzICB8XG4gICAgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3Jhbmsge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogU2NvcmUgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzOiBVc2VyICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMi0zOiBDb3JlcyArIEhhcmR3YXJlICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUgc3Bhbjpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29yZXMpOm5vdCgucmFua2luZy1oaWdobGlnaHQtY2FyZF9fY29yZXMpOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jaykge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX21ldGEgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogUm93IDMsIENvbCAyOiBDb29saW5nICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMywgQ29sIDM6IFBvaW50cyAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogSGlkZSBEZWRpY2F0ZWQgQmVuY2htYXJrL0NvcmVzIENvbHVtbiBvbiBNb2JpbGUgKGNvcmVzIGFyZSBpbmxpbmVkIGluIGNvbC1oYXJkd2FyZSkgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBCZW5jaG1hcmsgRmlyc3QgU3BvdHMgVGFibGUgLSAyLVJvdyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIGNvcmVzIChsZWZ0KSAgICBzY29yZSAobGVmdCkgICAgaGFyZHdhcmUgKHJlc3QpIF1cbiAgICAgICBSb3cgMjogWyB1c2VyIChsZWZ0KSAgICAgY29vbGluZyAobWlkKSAgIHZvdGUgKHJpZ2h0KSAgICBdXG4gICAgKi9cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAxOiBDb3JlcyAvIEJlbmNobWFyayBjYXRlZ29yeSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYmVuY2htYXJrLWxpbmsge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IFNjb3JlICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzLTQ6IEhhcmR3YXJlIChzcGFucyB0byByaWdodCBlZGdlKSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUgc3Bhbjpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2spIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2sge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAxLTI6IFVzZXIgKHNwYW5zIGNvbHMgMSBhbmQgMikgKi9cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiBDb29saW5nIGJhZGdlICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgNDogVm90ZSBwaWxsIChwaW5uZWQgdG8gcmlnaHQpICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8qIE1lbWJlciBDYXJkIFJvdyBNYXBwaW5nICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyBsZWFndWUgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmNlIChyaWdodCkgXVxuICAgICAgIFJvdyAzOiBbIHJhbmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHMgKHJpZ2h0KSBdXG4gICAgKi9cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXJvbGVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gVXNlciwgUmlnaHQgPSBUZWFtICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAubWVtYmVyLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5tZW1iZXItY2FyZF9fdGVhbSB7XG4gICAgICAgIG1heC13aWR0aDogbWluKDE2MHB4LCA0NXZ3KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IExlYWd1ZSwgUmlnaHQgPSBTaW5jZSAqL1xuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA9IFJhbmssIFJpZ2h0ID0gUG9pbnRzICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXJhbmsge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXJlZXItcmFuazplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEFjdGlvbnMgKEltcGVyc29uYXRlIGZvciBBZG1pbikgKi9cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDc7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiA0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBUZWFtIENhcmQgUm93IE1hcHBpbmcgKDw9IDEyMDBweCkgKi9cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcHRhaW5zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3RhdHVzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3RhdHVzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBTdWJtaXNzaW9ucyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIGJlbmNobWFyayAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3JlIChyaWdodCkgXVxuICAgICAgIFJvdyAyOiBbIGhhcmR3YXJlIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29saW5nIChyaWdodCkgXVxuICAgICAgIFJvdyAzOiBbIHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzIChyaWdodCkgXVxuICAgICovXG4gICAgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0cixcbiAgICAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gQmVuY2htYXJrLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gSGFyZHdhcmUsIFJpZ2h0ID0gQ29vbGluZyAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgPSBVc2VyLCBSaWdodCA9IFBvaW50cyAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50LFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHksXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50cyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50cyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLyogVGVhbSBDdXBzIGFuZCBNZWRhbHMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IHJhbmsgICB8IHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgICAgICAgIHwgZ29sZCAgICBzaWx2ZXIgICAgYnJvbnplICAgICAgIG1lZGFscyB8XG4gICAgKi9cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19yYW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIG1pbi13aWR0aDogMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5LS1nb2xkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeS0tc2lsdmVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHktLWJyb256ZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5LS1tZWRhbHMge1xuICAgICAgICBncmlkLWNvbHVtbjogNTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLyogVGVhbSBQb2ludHMgQ29udHJpYnV0aW9uIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCByYW5rICAgfCB1c2VyICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8ICAgICAgICB8IHBvaW50cyAgICAgICAgICBsZWFndWUgfFxuICAgICovXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcmFuayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1ldHJpYyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVGVhbSBNZW1iZXJzIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWd1ZSB8XG4gICAgICAgfCBqb2luZWQgICAgICAgICAgICAgICAgICAgICAgdmlzaXRlZCB8XG4gICAgICAgfCBhY3Rpb25zIChib3R0b20gcm93KSAgICAgICAgICAgICAgICB8XG4gICAgKi9cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcm9sZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdCB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXZpc2l0OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXItZGF0ZV9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgLyogVGVhbSBSZXF1ZXN0cyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgdXNlciAgICAgICAgICAgICAgICAgICAgICAgICBsZWFndWUgfFxuICAgICAgIHwgam9pbmVkICAgICAgICAgICAgICAgICAgICAgIHZpc2l0ZWQgfFxuICAgICAgIHwgYWN0aW9ucyAoYm90dG9tIHJvdykgICAgICAgICAgICAgICAgfFxuICAgICovXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdCB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIYXJkd2FyZSBDYXJkIFJvdyBNYXBwaW5ncyAoPD0gMTIwMHB4KSAqL1xuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwsXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwsXG4gICAgLmNvb2xpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5kaXNrLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyxcbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyxcbiAgICAuY29vbGluZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHlwZSxcbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzLFxuICAgIC5kaXNrLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHksXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHksXG4gICAgLmNvb2xpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXR5cGU6ZW1wdHksXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogR1BVICovXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2sge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtb3J5IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHksXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29yZTplbXB0eSxcbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1vcnk6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIENQVSAqL1xuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmVzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hcmNoIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgfVxuXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHksXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29yZXM6ZW1wdHksXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYXJjaDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogTW90aGVyYm9hcmQgKi9cbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNoaXBzZXQge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sYXVuY2gge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2hpcHNldDplbXB0eSxcbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLWxhdW5jaDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogTWVtb3J5ICovXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2sge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVsZWFzZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHksXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVsZWFzZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUG93ZXIgU3VwcGx5ICovXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd2F0dCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yZWxlYXNlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC13YXR0OmVtcHR5LFxuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJlbGVhc2U6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIERpc2sgKi9cbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29udHJvbGxlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FwYWNpdHkge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICB9XG5cbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29udHJvbGxlcjplbXB0eSxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FwYWNpdHk6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEhhcmR3YXJlIFJlY29yZHMgVGFibGUgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBiZW5jaG1hcmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29yZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyB1c2VyIChsZWZ0KSAgICAgICAgICBkYXRlIChjZW50ZXIpICAgICAgICAgIHBvaW50cyAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyB0ZWFtLXJlY29yZCAobGVmdCA1MCUpICAgICAgIHVzZXItcmVjb3JkIChyaWdodCA1MCUpICAgICAgIF1cbiAgICAqL1xuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgICAgIHJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBCZW5jaG1hcmssIFJpZ2h0ID0gU2NvcmUgKi9cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC5ody1yZWNvcmRzLXRhYmxlX19iZW5jaG1hcmsge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2JlbmNobWFyay1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYmVuY2htYXJrLWxpbmsgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayAudG9kYXktc3VibWlzc2lvbi1jYXJkX192ZXJzaW9uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1zY29yZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBVc2VyLCBDZW50ZXIgPSBEYXRlLCBSaWdodCA9IFBvaW50cyAqL1xuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyOmVtcHR5LFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHksXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0IDUwJSA9IFRlYW0gUmVjb3JkLCBSaWdodCA1MCUgPSBQZXJzb25hbCBSZWNvcmQgKGhpZGRlbiBpZiBubyBjb250ZXh0IHJlY29yZHMgZXhpc3QpICovXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIuaHctcmVjLS1uby1jb250ZXh0IHRkLmNvbC10ZWFtLXJlY29yZCxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ci5ody1yZWMtLW5vLWNvbnRleHQgdGQuY29sLXVzZXItcmVjb3JkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIHtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQge1xuICAgICAgICBncmlkLWNvbHVtbjogMyAvIDU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtYm94LFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtbGFiZWwsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19yYW5rLXBpbGwsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19yYW5rLXBpbGwge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtc2NvcmUsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX3BvaW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cbi8qIE1lbWJlciBDZWxsIENvbXBvbmVudHMgKi9cbi5tZW1iZXItY2FyZF9fdXNlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5tZW1iZXItY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5tZW1iZXItY2FyZF9fdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm1lbWJlci1jYXJkX19yb2xlcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubWVtYmVyLWNhcmRfX2hlYWRlci1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubWVtYmVyLWNhcmRfX2ltcGVyc29uYXRlLWZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm1lbWJlci1jYXJkX19pbXBlcnNvbmF0ZS1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1lbWJlci1jYXJkX190ZWFtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fdGVhbSBzcGFuIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0tYXZhdGFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fdGVhbS0tbm9uZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0tLW5vbmUgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fc3Vic3BlYyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5tZW1iZXItY2FyZF9fc3Vic3BlYyBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm1lbWJlci1jYXJkX19zdGF0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3BvaW50cy1zY29yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbWJlci1jYXJkX19wb2ludHMtc2NvcmUgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLm1lbWJlci1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG59XG5cbi8qIFRlYW0gQ2VsbCBDb21wb25lbnRzICovXG4udGVhbS1jYXJkX19pZGVudGl0eSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4udGVhbS1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnRlYW0tY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50ZWFtLWNhcmRfX2lkZW50aXR5IC5jb3VudHJ5X2ZsYWdzIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGVhbS1jYXJkX19jYXB0YWlucy1saXN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRlYW0tY2FyZF9fY2FwdGFpbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGVhbS1jYXJkX19jYXB0YWluOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRlYW0tY2FyZF9fY2FwdGFpbi1hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRlYW0tY2FyZF9fbWVtYmVycy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tY2FyZF9fbWVtYmVycy1iYWRnZSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4udGVhbS1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4vKiBIYXJkd2FyZSBJdGVtIENvbXBvbmVudHMgKENQVSwgR1BVLCBNb3RoZXJib2FyZCwgTWVtb3J5LCBEaXNrLCBQU1UgJiBDb29saW5nKSAqL1xuXG5cbi5jcHUtY2FyZF9faWRlbnRpdHksXG4uZ3B1LWNhcmRfX2lkZW50aXR5LFxuLm1iLWNhcmRfX2lkZW50aXR5LFxuLm1lbS1jYXJkX19pZGVudGl0eSxcbi5kaXNrLWNhcmRfX2lkZW50aXR5LFxuLnBzdS1jYXJkX19pZGVudGl0eSxcbi5jb29saW5nLWNhcmRfX2lkZW50aXR5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cblxuLmNwdS1jYXJkX19uYW1lLFxuLmdwdS1jYXJkX19uYW1lLFxuLm1iLWNhcmRfX25hbWUsXG4ubWVtLWNhcmRfX25hbWUsXG4uZGlzay1jYXJkX19uYW1lLFxuLnBzdS1jYXJkX19uYW1lLFxuLmNvb2xpbmctY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jcHUtY2FyZF9fbWFudWZhY3R1cmVyLFxuLmdwdS1jYXJkX19tYW51ZmFjdHVyZXIsXG4uY3B1LWNhcmRfX3NvY2tldCxcbi5tYi1jYXJkX19tYW51ZmFjdHVyZXIsXG4ubWItY2FyZF9fc29ja2V0LFxuLm1lbS1jYXJkX19tYW51ZmFjdHVyZXIsXG4ubWVtLWNhcmRfX3R5cGUsXG4uZGlzay1jYXJkX19tYW51ZmFjdHVyZXIsXG4uZGlzay1jYXJkX190eXBlLFxuLnBzdS1jYXJkX19tYW51ZmFjdHVyZXIsXG4uY29vbGluZy1jYXJkX19tYW51ZmFjdHVyZXIsXG4uY29vbGluZy1jYXJkX190eXBlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY3B1LWNhcmRfX21hbnVmYWN0dXJlcjpob3Zlcixcbi5ncHUtY2FyZF9fbWFudWZhY3R1cmVyOmhvdmVyLFxuLmNwdS1jYXJkX19zb2NrZXQ6aG92ZXIsXG4ubWItY2FyZF9fbWFudWZhY3R1cmVyOmhvdmVyLFxuLm1iLWNhcmRfX3NvY2tldDpob3Zlcixcbi5tZW0tY2FyZF9fbWFudWZhY3R1cmVyOmhvdmVyLFxuLm1lbS1jYXJkX190eXBlOmhvdmVyLFxuLmRpc2stY2FyZF9fbWFudWZhY3R1cmVyOmhvdmVyLFxuLmRpc2stY2FyZF9fdHlwZTpob3Zlcixcbi5wc3UtY2FyZF9fbWFudWZhY3R1cmVyOmhvdmVyLFxuLmNvb2xpbmctY2FyZF9fbWFudWZhY3R1cmVyOmhvdmVyLFxuLmNvb2xpbmctY2FyZF9fdHlwZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5kaXNrLWNhcmRfX3BhcnRuZXItbG9nbyxcbi5wc3UtY2FyZF9fcGFydG5lci1sb2dvLFxuLmNvb2xpbmctY2FyZF9fcGFydG5lci1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMThweDtcbn1cblxuLmRpc2stY2FyZF9fcGFydG5lci1sb2dvIGltZyxcbi5wc3UtY2FyZF9fcGFydG5lci1sb2dvIGltZyxcbi5jb29saW5nLWNhcmRfX3BhcnRuZXItbG9nbyBpbWcge1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY3B1LWNhcmRfX3N1YnMtYmFkZ2UsXG4uZ3B1LWNhcmRfX3N1YnMtYmFkZ2UsXG4ubWItY2FyZF9fc3Vicy1iYWRnZSxcbi5tZW0tY2FyZF9fc3Vicy1iYWRnZSxcbi5kaXNrLWNhcmRfX3N1YnMtYmFkZ2UsXG4ucHN1LWNhcmRfX3N1YnMtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uY3B1LWNhcmRfX3N1YnMtYmFkZ2UgaSxcbi5ncHUtY2FyZF9fc3Vicy1iYWRnZSBpLFxuLm1iLWNhcmRfX3N1YnMtYmFkZ2UgaSxcbi5tZW0tY2FyZF9fc3Vicy1iYWRnZSBpLFxuLmRpc2stY2FyZF9fc3Vicy1iYWRnZSBpLFxuLnBzdS1jYXJkX19zdWJzLWJhZGdlIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi5jcHUtY2FyZF9fc3Vicy1sYWJlbCxcbi5ncHUtY2FyZF9fc3Vicy1sYWJlbCxcbi5tYi1jYXJkX19zdWJzLWxhYmVsLFxuLm1lbS1jYXJkX19zdWJzLWxhYmVsLFxuLmRpc2stY2FyZF9fc3Vicy1sYWJlbCxcbi5wc3UtY2FyZF9fc3Vicy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbn1cblxuLmNwdS1jYXJkX19zcGVjLFxuLmdwdS1jYXJkX19zcGVjLFxuLm1iLWNhcmRfX3NwZWMsXG4ubWVtLWNhcmRfX3NwZWMsXG4uZGlzay1jYXJkX19zcGVjLFxuLnBzdS1jYXJkX19zcGVjIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLmNwdS1jYXJkX19zcGVjIGksXG4uZ3B1LWNhcmRfX3NwZWMgaSxcbi5tYi1jYXJkX19zcGVjIGksXG4ubWVtLWNhcmRfX3NwZWMgaSxcbi5kaXNrLWNhcmRfX3NwZWMgaSxcbi5wc3UtY2FyZF9fc3BlYyBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNwdS1jYXJkX19zcGVjLXZhbHVlLFxuLmdwdS1jYXJkX19zcGVjLXZhbHVlLFxuLm1iLWNhcmRfX3NwZWMtdmFsdWUsXG4ubWVtLWNhcmRfX3NwZWMtdmFsdWUsXG4uZGlzay1jYXJkX19zcGVjLXZhbHVlLFxuLnBzdS1jYXJkX19zcGVjLXZhbHVlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuLmNwdS1jYXJkX19zcGVjLS1jbG9jayAuY3B1LWNhcmRfX3NwZWMtdmFsdWUsXG4uZ3B1LWNhcmRfX3NwZWMtLWNsb2NrIC5ncHUtY2FyZF9fc3BlYy12YWx1ZSxcbi5tZW0tY2FyZF9fc3BlYy0tY2xvY2sgLm1lbS1jYXJkX19zcGVjLXZhbHVlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLyogSGFyZHdhcmUgQmVuY2htYXJrIFJlY29yZHMgKi9cbi5ody1yZWNvcmRzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWJlbmNobWFyayB7XG4gICAgd2lkdGg6IDIyJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZGF0ZSxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtLXJlY29yZCxcbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyLXJlY29yZCB7XG4gICAgd2lkdGg6IDE1JTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19iZW5jaG1hcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fZGF0ZSBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fbm8tcmVjb3JkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX3JhbmstcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LW5vbmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4vKiBGbGV4IHJvd3MgKi9cbi5mbGV4LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtcm93LS1hY2hpZXZlbWVudC1hY3Rpb24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZmxleC1yb3ctLWFkZGl0aW9uYWwtaW1hZ2VzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5mbGV4LXJvdy0td29ybGQtcmVjb3JkcyB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWFsdCk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZsZXgtcm93LS10YWJsZS1jb21wYXJlLWhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIC5yZW1vdmUtYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbXV0ZWQsIHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgLnJlbW92ZS1idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5jaGFydC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZW1wdHktbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW11dGVkLCB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbn1cblxuLmZsZXgtcm93LS1uZXdzLWhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5mbGV4LXJvdy0tbmV3cy1mb290ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uZmxleC1yb3ctLXdhbGwge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSAwO1xufVxuXG4uZmxleC1yb3ctLXdhbGwtc29jaWFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5mbGV4LXJvdy0tYmFkZ2VzIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWwtbWVtYmVyLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LXJvdy0taW5mbyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtcm93LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cblxuLmZsZXgtcm93LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mbGV4LXJvdy1pdGVtLS13b3JsZC1yZWNvcmQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4td2lkdGg6IDQwMHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcblx0Ym9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBBbGVydHMgLyBDYWxsb3V0cyAqL1xuLmFsZXJ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uYWxlcnQgPiBkaXYge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uYWxlcnQgcCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYWxlcnQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZm9ybS1yb3cgPiAuYWxlcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hbGVydCBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFsZXJ0IGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJvcmRlcik7XG59XG4uYWxlcnQtd2FybmluZyBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDcxXCI7IC8qIGZhLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uICovXG59XG5cbi5hbGVydC1kYW5nZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1ib3JkZXIpO1xufVxuLmFsZXJ0LWRhbmdlciBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDZhXCI7IC8qIGZhLWNpcmNsZS1leGNsYW1hdGlvbiAqL1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1ib3JkZXIpO1xufVxuLmFsZXJ0LWluZm8gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1YVwiOyAvKiBmYS1jaXJjbGUtaW5mbyAqL1xufVxuXG4uc2NyZWVuc2hvdC1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JlZW5zaG90LWJveCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zY3JlZW5zaG90LWJveCBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2NyZWVuc2hvdC1ib3gtLWhpZ2hsaWdodC1zdWJtaXNzaW9uIGltZyB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1zdWJtaXNzaW9uIGltZyB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1zdWJtaXNzaW9uIGlmcmFtZSxcbi5zY3JlZW5zaG90LWJveC0tc3VibWlzc2lvbiAueW91dHViZS1wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zY3JlZW5zaG90LWJveC0tbmV3cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5zY3JlZW5zaG90LWJveC0tbmV3cyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogRWRpdG9yIHRleHQgYWRkZWQgYnkgbW9kZXJhdG9ycyAqL1xuLnJpY2gtdGV4dC1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGgxLFxuLnJpY2gtdGV4dC1jb250ZW50IGgyLFxuLnJpY2gtdGV4dC1jb250ZW50IGgzLFxuLnJpY2gtdGV4dC1jb250ZW50IGg0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgc3Ryb25nLFxuLnJpY2gtdGV4dC1jb250ZW50IGIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdWwsXG4ucmljaC10ZXh0LWNvbnRlbnQgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzVyZW07XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXVuZGVybGluZSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBjb2RlLFxuLnJpY2gtdGV4dC1jb250ZW50IHByZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB0YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRoLFxuLnJpY2gtdGV4dC1jb250ZW50IHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qIFN1Ym1pc3Npb24gY29tbWVudHMgKi9cblxuLmNvbW1lbnRzLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uc3VibWl0dGVyLXF1b3RlLWNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5xdW90ZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ucXVvdGUtYXV0aG9yIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnF1b3RlLWF1dGhvcjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5xdW90ZS1hY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5xdW90ZS1ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ucXVvdGUtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY29tbWVudHMtdGhyZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xufVxuXG5cbi5jb21tZW50LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXZhdGFyLWxpbmsge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tbWVudC1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jb21tZW50LWNhcmRfX2JvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tbWVudC1jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jb21tZW50LWNhcmRfX2F1dGhvciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXV0aG9yOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fdGltZXN0YW1wIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY29tbWVudC1jYXJkX190ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY29tbWVudC1jYXJkX190ZXh0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4vKiBDb21tZW50IEZvcm0gKi9cbi5jb21tZW50LWZvcm0tYm94IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5jb21tZW50LWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uY29tbWVudC1mb3JtX190ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDIsIDEzMiwgMTk5LCAwLjE1KTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fbG9naW4tbm90aWNlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZhaW50IHtcbiAgICBvcGFjaXR5OiAwLjI7XG59XG5cblxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQgLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWRlLWFyZWEgLmNvbnRlbnQgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbi5jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6bm90KDpsYXN0LWNoaWxkKSxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgbWlubWF4KHZhcigtLXJhbmstcG9zLW1pbi13aWR0aCksIGF1dG8pIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb3MtbWFya2VyIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAucG9zIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtaW4td2lkdGg6IHZhcigtLXJhbmstcG9zLW1pbi13aWR0aCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb3M6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIjXCI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAubmFtZSB7XG4gICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIGltZyB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciAuY291bnRyeV9mbGFncyxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC50YWJsZS1hdmF0YXItd3JhcHBlciAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIGEge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAucG9pbnRzIHtcbiAgICBncmlkLWNvbHVtbjogNDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgbWlubWF4KDAsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAganVzdGlmeS1pdGVtczogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQ6bm90KDpsYXN0LWNoaWxkKSxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zLW1hcmtlciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5wb3Mge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiI1wiO1xuICAgIG1hcmdpbi1yaWdodDogMC4xZW07XG4gICAgb3BhY2l0eTogMC44NTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLm5hbWUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAudGFibGUtYXZhdGFyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC50YWJsZS1hdmF0YXItd3JhcHBlciBpbWcge1xuICAgIHdpZHRoOiB2YXIoLS1hdmF0YXItc2l6ZS1zbSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1hdmF0YXItc2l6ZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuaGFyZHdhcmUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuaGFyZHdhcmUgYSB7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuc2NvcmUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbn1cblxuLnNpZGUtYXJlYSAudGFiLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uc2lkZS1hcmVhIC50YWItbWVudSAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utcyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zaWRlLWFyZWEgLnRhYi1tZW51IC5idXR0b24uZm9jdXMsXG4uc2lkZS1hcmVhIC50YWItbWVudSAuYnV0dG9uLmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4jY2FyZWVycmFua2luZ2hvZixcbiNyYW5raW5naG9mLFxuI3RlYW1fcmFua2luZ2hvZiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG59XG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCAuYWN0aW9uIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbn1cblxuLyogQXV0aCBDYXJkczogTG9naW4sIFJlZ2lzdGVyICYgUmVzZXQgUGFzc3dvcmQgKi9cbi5ncmlkLWJveC1jYXJkLS1sb2dpbixcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3Rlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCB7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhsKSBhdXRvO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciA+IHAsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgPiBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkID4gcCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyIC5yZWNhcHRjaGEtd3JhcHBlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCAucmVjYXB0Y2hhLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZvcm0tbGFiZWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIgLmZvcm0taW5wdXQsXG4uZm9ybS1pbnB1dC1wYXNzd29yZC13cmFwcGVyIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wYXNzd29yZC10b2dnbGUtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnBhc3N3b3JkLXRvZ2dsZS1idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ubG9naW4tZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuXG4uZm9vdGVyIC5jb250ZW50IC5pbmZvIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAuaW5mbyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmZvb3RlciAuc3lzdGVtLWluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAucGFydG5lci1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1sZykgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyAucGFydG5lci1ib3gge1xuICAgIGhlaWdodDogNzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cblxuLmhhcmR3YXJlLW92ZXJ2aWV3IC5jb250ZW50LXR5cGUtMiAubWFudWZhY3R1cmVyLWdyaWQsXG4ubWFpbi1hcmVhLmh3LWRhdGEgLmNvbnRlbnQgLm1hbnVmYWN0dXJlci1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1oZWFkbGluZS1ncmlkLWNlbGwge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1oZWFkbGluZS1ncmlkLWNlbGwgaW1nIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICB9XG59XG5cbi5nb2xkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uc2lsdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYnJvbnplIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4ubWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4ubm9tZWRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG59XG5cbi5nb2xkLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5zaWx2ZXItdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5icm9uemUtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLm1lZGFsLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4udHJvcGh5LWNvdW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udHJvcGh5LWNvdW50LS1lbXB0eSB7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gICAgfVxufVxuXG4uaXMtbG9hZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pcy1sb2FkaW5nOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgcmdiYSgyMzIsIDIzOCwgMjQxLCAwKSAwJSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSA1MCUsXG4gICAgICAgICAgICByZ2JhKDIzMiwgMjM4LCAyNDEsIDApIDEwMCVcbiAgICApO1xuXG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG4gICAgYW5pbWF0aW9uOiBzaGltbWVyIDEuNXMgaW5maW5pdGU7XG4gICAgei1pbmRleDogMjtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gICAgfVxufVxuXG4uYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uYnV0dG9uLS1pbmZvLXJvdyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5idXR0b24tLW1vZGFsLWhlYWRlci1jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uYnV0dG9uLS1tb2RhbC1oZWFkZXItY2xvc2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLmJ1dHRvbi0tbW9kYWwtaGVhZGVyLWNsb3NlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5idXR0b24tLXByaW1hcnk6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLmJ1dHRvbi0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi0tZGFuZ2VyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG59XG5cbi5idXR0b24tLWRhbmdlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmJ1dHRvbi0tMTAwIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmFjdGl2ZSxcbi5idXR0b246aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGdyYXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZm9jdXMsXG4uYnV0dG9uOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xufVxuXG4uYnV0dG9uOmRpc2FibGVkLFxuLmJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmluZm8tbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mby1iZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2Fybi1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3Itd2FybmluZy1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXRleHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmVycm9yLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5lcnJvci1tZXNzYWdlIGEsXG4uaW5mby1tZXNzYWdlIGEsXG4ud2Fybi1tZXNzYWdlIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZvcm0taW5wdXQge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxuLmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4vKiBKUXVlcnkgVUkgb3ZlcndyaXRlcyB3aWxsIGJlIHJlbW92ZWQgYXMgc29vbiBhcyB0aGUgZnJhbWV3b3JrIGlzIG5vIGxvbmdlciBuZWVkZWQgKi9cbi51aS13aWRnZXQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJhc2UpO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51aS13aWRnZXQtY29udGVudCBhLFxuLnVpLXdpZGdldC1jb250ZW50IGE6bGluayxcbi51aS13aWRnZXQtY29udGVudCBhOmhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IGE6dmlzaXRlZCxcbi51aS13aWRnZXQtY29udGVudCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51aS13aWRnZXQtY29udGVudCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbn1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IGEudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG59XG5cbi51aS1tZW51IC51aS1tZW51LWl0ZW0gYS51aS1zdGF0ZS1ob3ZlciB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xuXG4gICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDZweDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC10aW1lbGluZSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtdGltZWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaXRlbSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaWNvbixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtbWV0YSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtbWV0YSB7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LXVzZXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LXVzZXIge1xuICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWRlc2MsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWRlc2Mge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGhlYWQgdHIgdGguY29sLWJlbmNobWFyayxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5uZXN0ZWQtcm93IHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWdyb3VwLW1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogOTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMnB4O1xuICAgIHRvcDogMnB4O1xuICAgIGJvdHRvbTogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cy14cykgdmFyKC0tYm9yZGVyLXJhZGl1cy14cykgMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFRhYiBtZW51ICovXG4udGFiLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFiLW1lbnUtLWhhcmR3YXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50YWItbWVudSA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4udGFiLW1lbnUgc2VsZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5maWx0ZXIudGFiLW1lbnUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnRhYi1tZW51IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50YWItbWVudSAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi50YWItbWVudSAuYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi50YWItbWVudSAuYnV0dG9uLmZvY3VzLFxuLnRhYi1tZW51IC5idXR0b24uYWN0aXZlLFxuLnRhYi1tZW51IC5idXR0b24uZm9jdXM6aG92ZXIsXG4udGFiLW1lbnUgLmJ1dHRvbi5hY3RpdmU6aG92ZXIsXG4udGFiLW1lbnUgLmJ1dHRvbi5mb2N1czpmb2N1cyxcbi50YWItbWVudSAuYnV0dG9uLmFjdGl2ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi50YWItbWVudSAuYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4udGFiLW1lbnUgLnRhYmxlLW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uZmxleC1yb3cgPiAudGFibGUtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogU2lkZWJhciAqL1xuLnNpZGViYXItdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnNpZGViYXItZW1wdHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ud3ItcmFua2luZy1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi53ci1yYW5raW5nLWNhcmQgLndyLXJhbmtpbmctcm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ud3ItcmFua2luZy1yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi53ci1yYW5raW5nLXJvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ud3ItcmFua2luZy1yb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi53ci1yYW5raW5nLXJvdy5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xufVxuXG4ucG9zLW1hcmtlciB7XG4gICAgd2lkdGg6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucG9zLW1hcmtlciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5wb3MtbWFya2VyLmdvbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5wb3MtbWFya2VyLnNpbHZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5wb3MtbWFya2VyLmJyb256ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5wb3MtbWFya2VyLm1lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLnBvcy1tYXJrZXIubm9tZWRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG59XG5cbi5yYW5rLXBvcyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucmFuay1wb3Mge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLXBvczo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiNcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi8qIE1haW4gUm93IEluZm8gKi9cbi5yYW5rLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucmFuay1jb250ZW50IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMjtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLXNjb3JlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yYW5rLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucmFuay1sYWJlbCBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnJhbmstdXNlci1saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmFuay1hdmF0YXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yYW5rLXVzZXJuYW1lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5yYW5rLWhhcmR3YXJlLWxpbmUge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5yYW5rLWNsb2NrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucmFuay1zY29yZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyogUmVzdWx0IGhpc3RvcnkgKi9cbi5oaXN0b3J5LW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uaGlzdG9yeS1tZXRhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbn1cblxuLmhpc3RvcnktdXNlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5oaXN0b3J5LWRlc2Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5oaXN0b3J5LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLyogSGFyZHdhcmUgdHJlZSAqL1xuLmh3LXRyZWUtbGlzdCwgXG4uaHctdHJlZS1zdWJsaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uaHctdHJlZS1zdWJsaXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5ody10cmVlLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5ody10cmVlLXN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ody10cmVlLXN1bW1hcnk6Om1hcmtlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQgLmh3LXRyZWUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZmxleDogMTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IC5ody10cmVlLWxhYmVsIHtcbiAgICBmbGV4OiAxO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIsIFwiRm9udEF3ZXNvbWVcIjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5ody10cmVlLWJyYW5jaFtvcGVuXSA+IC5ody10cmVlLXN1bW1hcnkgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50OjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmh3LXRyZWUtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5ody10cmVlLXN1bW1hcnk6bm90KC5pcy1hY3RpdmUpOmhvdmVyLFxuLmh3LXRyZWUtbGluazpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IC5ody10cmVlLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uaHctdHJlZS1saW5rLmlzLWFjdGl2ZSxcbi5ody10cmVlLXN1bW1hcnkuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5ody10cmVlLWxpbmsuaXMtYWN0aXZlOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUpLFxuLmh3LXRyZWUtc3VtbWFyeS5pcy1hY3RpdmUsXG4uaHctdHJlZS1zdW1tYXJ5LmlzLWFjdGl2ZSAuaHctdHJlZS1saW5rOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUpLFxuLmh3LXRyZWUtc3VtbWFyeS5pcy1hY3RpdmUgLmh3LXRyZWUtbGFiZWwsXG4uaHctdHJlZS1zdW1tYXJ5LmlzLWFjdGl2ZSAuaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBEZXNrdG9wIHNldHRpbmdzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcblxuICAgIC5oZWFkZXIsIC5uYXZpZ2F0aW9uLCAuZm9vdGVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB9XG5cbiAgICBib2R5Lm9uZS1jb2x1bW4ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWxheW91dC1tYXgtd2lkdGgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgYm9keS5sZWZ0LXNpZGViYXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCh2YXIoLS1zaWRlYmFyLW1pbi13aWR0aCksIDFmcikgbWlubWF4KDAsIDNmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWxheW91dC1tYXgtd2lkdGgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgYm9keS5yaWdodC1zaWRlYmFyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgM2ZyKSBtaW5tYXgodmFyKC0tc2lkZWJhci1taW4td2lkdGgpLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byAxZnIgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1sYXlvdXQtbWF4LXdpZHRoKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5ub2Rlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXG4gICAgYm9keS5sZWZ0LXNpZGViYXIsXG4gICAgYm9keS5yaWdodC1zaWRlYmFyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLm5vbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIENvbnRlbnQgc2V0dGluZ3MgKi9cbiAgICAuY29udGVudCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTBweCBtaW5tYXgoMCwgMWZyKSAxMHB4O1xuICAgIH1cblxuXG4gICAgLnNpZGUtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJhd2VyKTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLnNpZGUtYXJlYS5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5zaWRlLWFyZWEgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS0yeGwpIHZhcigtLXNwYWNlLWxnKTtcbiAgICB9XG5cbiAgICAuc2lkZS1hcmVhIC5jb250ZW50IC5ody10cmVlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50LFxuICAgIC5ody10cmVlLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgfVxuXG4gICAgLnNpZGViYXItbW9iaWxlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtc3RpY2t5LWhlYWRlcik7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbjogMCAtMTVweCB2YXIoLS1zcGFjZS1sZykgLTE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIH1cblxuICAgIC5tb2RhbC1vdmVybGF5LFxuICAgIC5tb2RhbC1vdmVybGF5LS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc21vb3RoKTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAubW9kYWwtb3ZlcmxheS5pcy1vcGVuIC5tb2RhbC1kaWFsb2csXG4gICAgLm1vZGFsLW92ZXJsYXktLWZ1bGxzY3JlZW4tbW9iaWxlLmlzLW9wZW4gLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19faGVhZGVyLFxuICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWhlYWRlcixcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIHBhZGRpbmc6IG1heCgxMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMTBweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgMTBweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19fYm9keSxcbiAgICAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5LFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgMTVweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG5cbiAgICAubW9kYWwtZGlhbG9nX19mb290ZXIsXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogMTJweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTVweCkpIG1heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMTJweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDE1cHgpKTtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nIC5mb3JtLW1vZGFsLWFjdGlvbnMsXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLmZvcm0tbW9kYWwtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19fZm9vdGVyIC5idXR0b24sXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtZm9vdGVyIC5idXR0b24sXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLmZvcm0tbW9kYWwtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAubW9kYWwtZGlhbG9nLFxuICAgICAgICAubW9kYWwtZGlhbG9nLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXIgLnJhbmtpbmctZmlsdGVyIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXIgLnJhbmtpbmctZmlsdGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRhYi1tZW51IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50YWItbWVudTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIGhlcm8gYmFubmVyICovXG4gICAgLmhlcm8tYmFubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgfVxuXG4gICAgLyogR3JpZCBib3gqL1xuICAgIC5ncmlkLWJveC0tc3VibWl0LWhhcmR3YXJlIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIH1cblxuICAgIC8qIFN1Ym1pc3Npb24gKi9cbiAgICAuc3VibWlzc2lvbi1zY29yZS1jYXJkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtZGV0YWlscyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzLXJvdyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAvKiBGbGV4IHJvd3MgKi9cbiAgICAuZmxleC1yb3ctLWluZm8sXG4gICAgLmZsZXgtcm93LS1iYWRnZXMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZsZXgtcm93LS1pbmZvIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1tZCkgMDtcbiAgICB9XG5cbiAgICAuZmxleC1yb3ctLWluZm86Oi13ZWJraXQtc2Nyb2xsYmFyLFxuICAgIC5mbGV4LXJvdy0tYmFkZ2VzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZsZXgtcm93LS1pbmZvID4gKixcbiAgICAuZmxleC1yb3ctLWJhZGdlcyA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAvKiBQcm9maWxlIGJhbm5lciAqL1xuICAgIC5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhciB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAuYXZhdGFyLXdyYXBwZXIge1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgfVxuXG4gICAgLyogUmVwb3J0aW5nICovXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRhYmxlLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRkLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGRbZGF0YS1sYWJlbF06OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIubmVzdGVkLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjZS1tZCkgKyAycHgpO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyLm5lc3RlZC1yb3cgdGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMztcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVhc29uIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb24ge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXIsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaXRlbSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1tZXRhLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtdXNlciB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG5cbiAgICAuZm9ybS1maWx0ZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5mb3JtLWZpbHRlciA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWJvZHkgLmZvcm0tZmlsdGVyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5tb2RhbC1ib2R5IC5mb3JtLWZpbHRlciA+ICoge1xuICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSAjcmFua2luZ19maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZpbHRlci1jaGlwcy1iYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtYmFyID4gKiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmZpbHRlci1jaGlwcy1s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 */
