@charset "UTF-8";
/*!
Theme Name: St-Norbert
Text Domain: stnorbert
Version: 1.0
*/
/**
 * PMB Layout
 *
 * Define layouts, and have fun
 */
/* Clearing ---------------------------------- */
.group::after,
.entry-content::after {
  clear: both;
  content: "";
  display: block; }

/* Base Transitions -------------------------- */
a,
path {
  transition: all 0.15s linear; }

/* Screen Reader Text ------------------------ */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 0.0625rem;
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 0.0625rem;
  word-wrap: normal !important;
  word-break: normal; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  right: 5px;
  line-height: normal;
  padding: 0.9375rem 1.4375rem 0.875rem;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

/* Skip Link --------------------------------- */
.skip-link {
  left: -9999rem;
  top: 2.5rem;
  z-index: 999999999;
  text-decoration: underline; }

.skip-link:focus {
  display: block;
  left: 6px;
  top: 7px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  line-height: normal;
  padding: 0.9375rem 1.4375rem 0.875rem;
  z-index: 100000;
  right: auto; }

/* Accessibility Settings -------------------- */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0s !important;
    transition-duration: 0s !important; } }

/* -------------------------------------------------------------------------- */
/*  2. Element Base
/* ---------------------------------------------*---------------------------- */
/* -------------------------------------------------------------------------- */
/*  3. Helper Classes
/* -------------------------------------------------------------------------- */
/* Layout ------------------------------------ */
.container {
  max-width: 75rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 48.875rem) {
    .container {
      padding-left: 1.625rem;
      padding-right: 1.625rem; } }

.no-margin {
  margin: 0; }

.no-padding {
  padding: 0; }

.screen-height {
  min-height: 100vh; }

.admin-bar .screen-height {
  min-height: calc(100vh - 2rem); }

@media (max-width: 48.875rem) {
  .admin-bar .screen-height {
    min-height: calc(100vh - 2.875rem); } }

.screen-width {
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw; }

/* Hiding and Showing ------------------------ */
.js .show-js {
  display: block !important; }

.js .hide-js {
  display: none !important; }

.no-js .show-no-js {
  display: block !important; }

.no-js .hide-no-js {
  display: none !important; }

/* Typography -------------------------------- */
.font-size-xl {
  font-size: 1.25em; }

.font-size-xs {
  font-size: 0.8em; }

.no-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/* Colors ------------------------------------ */
/* COLOR */
.color-accent,
.color-accent-hover:focus,
.color-accent-hover:hover {
  color: #cd2653; }

/* BACKGROUND COLOR */
.bg-accent,
.bg-accent-hover:focus,
.bg-accent-hover:hover {
  background-color: #cd2653; }

/* BORDER COLOR */
.border-color-accent,
.border-color-accent-hover:focus,
.border-color-accent-hover:hover {
  border-color: #cd2653; }

/* FILL COLOR */
.fill-children-accent,
.fill-children-accent * {
  fill: #cd2653; }

.fill-children-current-color,
.fill-children-current-color * {
  fill: currentColor; }

/* Opacity ----------------------------------- */
.opacity-0 {
  opacity: 0; }

.opacity-5 {
  opacity: 0.05; }

.opacity-10 {
  opacity: 0.1; }

.opacity-15 {
  opacity: 0.15; }

.opacity-20 {
  opacity: 0.2; }

.opacity-25 {
  opacity: 0.25; }

.opacity-30 {
  opacity: 0.3; }

.opacity-35 {
  opacity: 0.35; }

.opacity-40 {
  opacity: 0.4; }

.opacity-45 {
  opacity: 0.45; }

.opacity-50 {
  opacity: 0.5; }

.opacity-55 {
  opacity: 0.55; }

.opacity-60 {
  opacity: 0.6; }

.opacity-65 {
  opacity: 0.65; }

.opacity-70 {
  opacity: 0.7; }

.opacity-75 {
  opacity: 0.75; }

.opacity-80 {
  opacity: 0.8; }

.opacity-85 {
  opacity: 0.85; }

.opacity-90 {
  opacity: 0.9; }

.opacity-95 {
  opacity: 0.95; }

.opacity-100 {
  opacity: 1; }

.blend-mode-exclusion {
  mix-blend-mode: exclusion; }

.blend-mode-hue {
  mix-blend-mode: hue; }

.blend-mode-saturation {
  mix-blend-mode: saturation; }

.blend-mode-color {
  mix-blend-mode: color; }

.blend-mode-luminosity {
  mix-blend-mode: luminosity; }

/* Image Classes ----------------------------- */
.bg-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.bg-attachment-fixed {
  background-attachment: fixed; }

@supports (-webkit-overflow-scrolling: touch) {
  .bg-attachment-fixed {
    background-attachment: scroll; } }

@media (prefers-reduced-motion: reduce) {
  .bg-attachment-fixed {
    background-attachment: scroll; } }

.wp-block-image.is-resized {
  margin-left: auto;
  margin-right: auto; }

/* Search Form ------------------------------- */
.search-form {
  align-items: stretch;
  display: flex;
  flex-wrap: nowrap;
  margin: 0 0 -0.8rem -0.8rem; }

.search-form .search-field,
.search-form .search-submit {
  margin: 0 0 0.8rem 0.8rem; }

.search-form label {
  align-items: stretch;
  display: flex;
  font-size: inherit;
  margin: 0;
  width: 100%; }

.search-form .search-field {
  width: 100%; }

.search-form .search-submit {
  flex-shrink: 0; }

.search-form .search-submit:focus,
.search-form .search-submit:hover {
  text-decoration: none; }

/* Social Icons ------------------------------ */
ul.social-icons {
  display: flex;
  flex-wrap: wrap;
  margin: -0.9rem 0 0 -0.9rem;
  width: calc(100% + 0.9rem); }

ul.social-icons li {
  margin: 0.9rem 0 0 0.9rem; }

.social-icons a {
  align-items: center;
  background: #000000;
  border-radius: 50%;
  color: #fff;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  padding: 0;
  text-decoration: none;
  transition: transform 0.15s ease-in-out;
  width: 2.5rem; }

.social-icons a:focus,
.social-icons a:hover {
  transform: scale(1.1);
  text-decoration: none; }

/* Cover Modals ------------------------------ */
.cover-modal {
  display: none;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none; }

.cover-modal::-webkit-scrollbar {
  display: none !important; }

.cover-modal.show-modal {
  display: block;
  cursor: pointer; }

.cover-modal.show-modal > * {
  cursor: default; }

/* Header Titles ----------------------------- */
.header-titles-wrapper {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 0 4rem;
  text-align: center; }

body:not(.enable-search-modal) .header-titles-wrapper {
  justify-content: flex-start;
  padding-left: 0;
  text-align: left; }

.site-title,
.site-logo,
.site-description {
  margin: 0; }

.site-title {
  font-size: 2.1rem;
  font-weight: 600;
  line-height: 1; }

.site-title a {
  color: inherit;
  display: block;
  text-decoration: none; }

.site-title a:hover,
.site-title a:focus {
  text-decoration: underline; }

.site-logo a,
.site-logo img {
  display: block; }

.header-titles .site-logo .site-logo {
  margin: 0; }

.site-logo img {
  max-height: 6rem;
  margin: 0 auto;
  width: auto; }

body:not(.enable-search-modal) .site-logo img {
  margin: 0; }

/* Overlay Header ---------------------------- */
.overlay-header #site-header {
  background: transparent;
  margin: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2; }

.overlay-header .header-inner {
  color: #fff; }

.overlay-header .site-description,
.overlay-header .toggle {
  color: inherit; }

.overlay-header .header-inner .toggle-wrapper::before {
  background-color: currentColor;
  opacity: 0.25; }

.admin-bar.overlay-header #site-header {
  top: 32px; }

@media (max-width: 48.875rem) {
  .admin-bar.overlay-header #site-header {
    top: 46px; } }

/* Header Navigation ------------------------- */
.header-navigation-wrapper {
  display: none; }

/* Primary Menu ---------------------------- */
.primary-menu .icon {
  display: block;
  height: 0.7rem;
  position: absolute;
  pointer-events: none;
  transform: rotate(-45deg);
  width: 1.3rem; }

.primary-menu .icon::before,
.primary-menu .icon::after {
  content: "";
  display: block;
  background-color: currentColor;
  position: absolute;
  bottom: calc(50% - 0.1rem);
  left: 0; }

.primary-menu .icon::before {
  height: 0.9rem;
  width: 0.2rem; }

.primary-menu .icon::after {
  height: 0.2rem;
  width: 0.9rem; }

.primary-menu li {
  font-size: inherit;
  position: relative; }

.primary-menu > li {
  margin: 0.8rem 0 0 1.6rem; }

.primary-menu > li.menu-item-has-children > a {
  padding-right: 2rem; }

.primary-menu > li > .icon {
  right: -0.5rem;
  top: calc(50% - 0.4rem); }

.primary-menu a {
  color: inherit;
  display: block;
  line-height: 1.2;
  text-decoration: none;
  word-break: normal;
  word-wrap: normal; }

.primary-menu a:hover,
.primary-menu a:focus,
.primary-menu .current_page_ancestor {
  text-decoration: underline; }

/* SUB MENU */
.primary-menu ul ul {
  background: #000;
  border-radius: 0.4rem;
  color: #fff;
  font-size: 1.7rem;
  opacity: 0;
  padding: 1rem 0;
  position: absolute;
  right: 9999rem;
  top: calc(100% + 2rem);
  transition: opacity 0.15s linear, transform 0.15s linear, right 0s 0.15s;
  transform: translateY(0.6rem);
  width: 20rem;
  z-index: 1; }

.primary-menu li.menu-item-has-children:hover > ul,
.primary-menu li.menu-item-has-children:focus > ul,
.primary-menu li.menu-item-has-children.focus > ul {
  right: 0;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.15s linear, transform 0.15s linear; }

.primary-menu ul::before,
.primary-menu ul::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 100%; }

.primary-menu ul::before {
  height: 2rem;
  left: 0;
  right: 0; }

.primary-menu ul::after {
  border: 0.8rem solid transparent;
  border-bottom-color: #000;
  right: 1.8rem; }

.primary-menu ul li.menu-item-has-children > a {
  padding-right: 4.5rem; }

.primary-menu ul li.menu-item-has-children .icon {
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 0.5rem); }

/* DEEP DOWN */
.primary-menu ul ul {
  top: -1rem; }

.primary-menu ul li.menu-item-has-children:hover > ul,
.primary-menu ul li.menu-item-has-children:focus > ul,
.primary-menu ul li.menu-item-has-children.focus > ul {
  right: calc(100% + 2rem); }

.primary-menu ul ul::before {
  bottom: 0;
  height: auto;
  left: auto;
  right: -2rem;
  top: 0;
  width: 2rem; }

.primary-menu ul ul::after {
  border-bottom-color: transparent;
  /*rtl:ignore*/
  border-left-color: #000;
  bottom: auto;
  right: -1.6rem;
  top: 2rem; }

.rtl .primary-menu ul ul::after {
  transform: rotate(180deg); }

/*
 * Enable nav submenu expansion with tapping on arrows on large-viewport
 * touch interfaces (e.g. tablets or laptops with touch screens).
 * These rules are supported by all browsers (>IE11) and when JS is disabled.
 */
@media (any-pointer: coarse) {
  .primary-menu > li.menu-item-has-children > a {
    padding-right: 0;
    margin-right: 2rem; }
  .primary-menu ul li.menu-item-has-children > a {
    margin-right: 4.5rem;
    padding-right: 0;
    width: unset; } }

/* Repeat previous rules for IE11 (when JS enabled for polyfill). */
body.touch-enabled .primary-menu > li.menu-item-has-children > a {
  padding-right: 0;
  margin-right: 2rem; }

body.touch-enabled .primary-menu ul li.menu-item-has-children > a {
  margin-right: 4.5rem;
  padding-right: 0;
  width: unset; }

/* -------------------------------------------------------------------------- */
/*  6. Search Modal
/* -------------------------------------------------------------------------- */
.search-modal {
  background: rgba(0, 0, 0, 0.2);
  display: none;
  opacity: 0;
  position: fixed;
  bottom: 0;
  left: -9999rem;
  top: 0;
  transition: opacity 0.2s linear, left 0s 0.2s linear;
  width: 100%;
  z-index: 999; }

.admin-bar .search-modal.active {
  top: 32px; }

@media (max-width: 48.875rem) {
  .admin-bar .search-modal.active {
    top: 46px; } }

.search-modal-inner {
  background: #fff;
  transform: translateY(-100%);
  transition: transform 0.15s linear, box-shadow 0.15s linear; }

.search-modal-inner .section-inner {
  display: flex;
  justify-content: space-between;
  max-width: 168rem; }

.search-modal.active {
  left: 0;
  opacity: 1;
  transition: opacity 0.2s linear; }

.search-modal.active .search-modal-inner {
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.08);
  transform: translateY(0);
  transition: transform 0.25s ease-in-out, box-shadow 0.1s 0.25s linear; }

button.search-untoggle {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  margin-right: -2.5rem;
  padding: 0 2.5rem; }

.search-modal button.search-untoggle {
  color: inherit; }

.search-modal.active .search-untoggle {
  animation: popIn both 0.3s 0.2s; }

.search-untoggle svg {
  height: 1.5rem;
  transition: transform 0.15s ease-in-out;
  width: 1.5rem; }

.search-untoggle:focus svg,
.search-untoggle:hover svg {
  transform: scale(1.15); }

/* Modal Search Form ------------------------- */
.search-modal form {
  margin: 0;
  position: relative;
  width: 100%; }

.search-modal .search-field {
  background: none;
  border: none;
  border-radius: 0;
  color: inherit;
  font-size: 2rem;
  height: 8.4rem;
  margin: 0 0 0 -2rem;
  max-width: calc(100% + 2rem);
  padding: 0 0 0 2rem;
  width: calc(100% + 2rem); }

.search-modal .search-field::-webkit-input-placeholder {
  color: inherit; }

.search-modal .search-field:-ms-input-placeholder {
  color: inherit; }

.search-modal .search-field::-moz-placeholder {
  color: inherit;
  line-height: 4; }

.search-modal .search-submit {
  position: absolute;
  right: -9999rem;
  top: 50%;
  transform: translateY(-50%); }

.search-modal .search-submit:focus {
  right: 0; }

/* -------------------------------------------------------------------------- */
/*  7a. Template: Cover Template
/* -------------------------------------------------------------------------- */
.cover-header {
  display: flex;
  overflow: hidden; }

.cover-header-inner-wrapper {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%; }

.cover-header-inner {
  padding: 10rem 0 5rem 0;
  width: 100%; }

.cover-color-overlay,
.cover-color-overlay::before {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0; }

.cover-color-overlay::before {
  background: currentColor;
  content: "";
  display: block; }

.cover-header .entry-header {
  position: relative;
  width: 100%;
  z-index: 1; }

.cover-header .entry-header * {
  color: #fff; }

body.template-cover .entry-header {
  background: transparent;
  padding: 0; }

.cover-header h1,
.cover-header h2,
.cover-header h3,
.cover-header h4,
.cover-header h5,
.cover-header h6,
.cover-header .faux-heading {
  color: inherit; }

.cover-header .entry-header a {
  color: inherit; }

/* To The Content ---------------------------- */
.to-the-content-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.5rem); }

.to-the-content {
  align-items: center;
  display: flex;
  justify-content: center;
  height: 4rem;
  text-decoration: none; }

.to-the-content svg {
  height: 2rem;
  transition: transform 0.15s linear;
  transform: translateY(0);
  width: 1.767rem; }

.to-the-content:focus svg,
.to-the-content:hover svg {
  transform: translateY(20%); }

/* -------------------------------------------------------------------------- */
/*  7c. Template: Full Width
/* -------------------------------------------------------------------------- */
body.template-full-width .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide),
body.template-full-width [class*="__inner-container"] > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
  max-width: 120rem; }

body.template-full-width .entry-content .alignleft,
body.template-full-width .entry-content .alignright {
  position: static; }

body.template-full-width .entry-content .alignleft,
body.template-full-width [class*="wp-block"].alignwide [class*="__inner-container"] > .alignleft,
body.template-full-width [class*="wp-block"].alignwide [class*="__inner-container"] > p .alignleft,
body.template-full-width [class*="wp-block"].alignwide [class*="__inner-container"] > .wp-block-image .alignleft {
  /*rtl:ignore*/
  margin-left: 0;
  position: static; }

body.template-full-width .entry-content > .alignleft,
body.template-full-width [class*="wp-block"].alignfull:not(.has-background) [class*="__inner-container"] > .alignleft,
body.template-full-width [class*="wp-block"].alignfull:not(.has-background) [class*="__inner-container"] > p .alignleft,
body.template-full-width [class*="wp-block"].alignfull:not(.has-background) [class*="__inner-container"] > .wp-block-image .alignleft {
  /*rtl:ignore*/
  margin-left: 2rem;
  position: static; }

body.template-full-width .entry-content .alignright,
body.template-full-width [class*="wp-block"].alignwide [class*="__inner-container"] > .alignright,
body.template-full-width [class*="wp-block"].alignwide [class*="__inner-container"] > p .alignright,
body.template-full-width [class*="wp-block"].alignwide [class*="__inner-container"] > .wp-block-image .alignright {
  /*rtl:ignore*/
  margin-right: 0;
  position: static; }

body.template-full-width .entry-content > .alignright,
body.template-full-width [class*="wp-block"].alignfull:not(.has-background) [class*="__inner-container"] > .alignright,
body.template-full-width [class*="wp-block"].alignfull:not(.has-background) [class*="__inner-container"] > p .alignright,
body.template-full-width [class*="wp-block"].alignfull:not(.has-background) [class*="__inner-container"] > .wp-block-image .alignright {
  /*rtl:ignore*/
  margin-right: 2rem;
  position: static; }

/* -------------------------------------------------------------------------- */
/*  8. Post: Archive
/* -------------------------------------------------------------------------- */
/* Archive Header ---------------------------- */
.archive-header {
  background-color: #fff;
  padding: 4rem 0; }

.reduced-spacing .archive-header {
  padding-bottom: 2rem; }

.archive-title {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0; }

.archive-subtitle p:last-child {
  margin-bottom: 0; }

/* Posts ------------------------------------- */
body:not(.singular) main > article:first-of-type {
  padding: 4rem 0 0; }

/* Search Results ---------------------------- */
.no-search-results-form {
  padding-top: 5rem; }

/* -------------------------------------------------------------------------- */
/*  9. Post: Single
/* -------------------------------------------------------------------------- */
/* Post Header ------------------------------- */
.entry-categories {
  line-height: 1.25;
  margin-bottom: 2rem; }

.entry-categories-inner {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  margin: -0.5rem 0 0 -1rem; }

.entry-categories a {
  border-bottom: 0.15rem solid currentColor;
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0.5rem 0 0 1rem;
  text-decoration: none;
  text-transform: uppercase; }

.entry-categories a:focus,
.entry-categories a:hover {
  border-bottom-color: transparent; }

.entry-title a {
  color: inherit;
  text-decoration: none; }

.entry-title a:focus,
.entry-title a:hover {
  text-decoration: underline; }

.intro-text {
  margin-top: 2rem; }

.singular .intro-text {
  font-size: 2rem;
  line-height: 1.4; }

/* POST META */
.post-meta-single-top .post-meta {
  justify-content: center; }

.post-meta-wrapper {
  margin-top: 2rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 58rem;
  width: 100%; }

.post-meta {
  color: #6d6d6d;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
  font-weight: 500;
  list-style: none;
  margin: -1rem 0 0 -2rem; }

.post-meta li {
  flex-shrink: 0;
  margin: 1rem 0 0 2rem;
  max-width: calc(100% - 2rem); }

.post-meta a {
  color: inherit;
  text-decoration: none; }

.post-meta a:focus,
.post-meta a:hover {
  text-decoration: underline; }

.post-meta .meta-wrapper {
  align-items: center;
  display: flex;
  flex-wrap: nowrap; }

.post-meta .meta-icon {
  flex-shrink: 0;
  margin-right: 1rem; }

.sticky .post-sticky {
  color: inherit; }

.post-meta .post-author .meta-icon svg {
  width: 1.6rem;
  height: 1.8rem; }

.post-meta .post-categories .meta-icon svg {
  width: 1.8rem;
  height: 1.7rem; }

.post-meta .post-comment-link .meta-icon svg {
  width: 1.8rem;
  height: 1.8rem; }

.post-meta .post-date .meta-icon svg {
  width: 1.7rem;
  height: 1.8rem; }

.post-meta .post-edit .meta-icon svg {
  width: 1.8rem;
  height: 1.8rem; }

.post-meta .post-sticky .meta-icon svg {
  width: 1.5rem;
  height: 1.8rem; }

.post-meta .post-tags .meta-icon svg {
  width: 1.8rem;
  height: 1.8rem; }

.post-meta svg * {
  fill: currentColor; }

/* Featured Media ---------------------------- */
.featured-media {
  margin-top: 5rem;
  position: relative; }

.singular .featured-media {
  margin-top: 0; }

.singular .featured-media-inner {
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw; }

.singular .featured-media::before {
  background: #fff;
  content: "";
  display: block;
  position: absolute;
  bottom: 50%;
  left: 0;
  right: 0;
  top: 0; }

.featured-media img {
  margin: 0 auto; }

.featured-media figcaption {
  margin: 1.5rem auto 0 auto;
  text-align: center;
  width: calc(100% - 5rem); }

.reduced-spacing.missing-post-thumbnail .post-inner {
  padding-top: 0; }

/* Post Footer ------------------------------- */
/* POST NAV LINKS */
.post-nav-links {
  border-radius: 0.4rem;
  display: flex;
  font-size: 0.9em;
  font-weight: 600;
  line-height: 1;
  margin: 3em auto 0 auto;
  padding: 0;
  width: calc(100% - 4rem);
  max-width: 58rem; }

.post-nav-links > span.label {
  padding: 1em 0; }

.post-nav-links > * {
  padding: 1em 0.75em; }

/* POST META BOTTOM */
.post-meta-wrapper.post-meta-single-bottom {
  margin-top: 3rem; }

/* Author Bio -------------------------------- */
.author-bio {
  margin-top: 4rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 58rem;
  width: 100%; }

.hide-avatars .author-bio {
  padding-left: 0; }

.author-bio .author-title-wrapper {
  align-items: center;
  display: flex;
  margin: 0 0 1rem 0; }

.author-bio .avatar {
  border-radius: 50%;
  margin-right: 1.5rem;
  height: 5rem;
  width: 5rem; }

.hide-avatars img.avatar {
  display: none; }

.author-bio p:last-child {
  margin-bottom: 0; }

.author-bio .author-title {
  margin: 0; }

.author-bio .author-link {
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 1em;
  text-decoration: none; }

.author-bio .author-link:focus,
.author-bio .author-link:hover {
  text-decoration: underline; }

/* Single Pagination ------------------------- */
.pagination-single {
  font-size: 1.8rem;
  margin-top: 5rem; }

.pagination-single-inner {
  display: flex;
  flex-direction: column; }

.pagination-single hr:first-child {
  margin: 0 0 2.8rem 0; }

.pagination-single hr:last-child {
  margin: 2.8rem 0 0.8rem 0; }

.pagination-single a {
  align-items: baseline;
  display: flex;
  font-weight: 600;
  text-decoration: none;
  flex: 1; }

.pagination-single a + a {
  margin-top: 1rem; }

.pagination-single a .arrow {
  margin-right: 1rem; }

.pagination-single a:focus .title,
.pagination-single a:hover .title {
  text-decoration: underline; }

/* -------------------------------------------------------------------------- */
/*  10. Blocks
/* -------------------------------------------------------------------------- */
/* Block Colors ------------------------------ */
.has-text-color a {
  color: inherit; }

/* CUSTOM COLORS */
:root .has-accent-color {
  color: #cd2653; }

:root .has-accent-background-color {
  background-color: #cd2653;
  color: #fff; }

:root .has-primary-color {
  color: #000; }

:root .has-primary-background-color {
  background-color: #000;
  color: #f5efe0; }

:root .has-secondary-color {
  color: #6d6d6d; }

:root .has-secondary-background-color {
  background-color: #6d6d6d;
  color: #fff; }

:root .has-subtle-background-color {
  color: #dcd7ca; }

:root .has-subtle-background-background-color {
  background-color: #dcd7ca;
  color: #000; }

:root .has-background-color {
  color: #f5efe0; }

:root .has-background-background-color {
  background-color: #f5efe0;
  color: #000; }

/* Block Typography Classes ------------------ */
.has-text-align-left {
  /*rtl:ignore*/
  text-align: left; }

.has-text-align-center {
  text-align: center; }

.has-text-align-right {
  text-align: right; }

.has-drop-cap:not(:focus)::first-letter {
  color: #cd2653;
  font-size: 5.1em;
  font-weight: 800;
  margin: 0.05em 0.1em 0 0; }

.has-drop-cap:not(:focus)::first-letter::after {
  content: "";
  display: table;
  clear: both; }

.has-drop-cap:not(:focus)::after {
  padding: 0; }

/* Block Font Sizes -------------------------- */
.entry-content .has-small-font-size {
  font-size: 0.842em; }

.entry-content .has-normal-font-size,
.entry-content .has-regular-font-size {
  font-size: 1em; }

.entry-content .has-medium-font-size {
  font-size: 1.1em;
  line-height: 1.45; }

.entry-content .has-large-font-size {
  font-size: 1.25em;
  line-height: 1.4; }

.entry-content .has-larger-font-size {
  font-size: 1.5em;
  line-height: 1.3; }

/* Block: Base Margins ----------------------- */
/* Block: Shared Widget Styles --------------- */
.wp-block-archives,
.wp-block-categories,
.wp-block-latest-posts,
.wp-block-latest-comments {
  list-style: none;
  margin-left: 0; }

.wp-block-archives ul,
.wp-block-categories ul,
.wp-block-latest-posts ul,
.wp-block-latest-comments ul {
  list-style: none; }

.entry-content .wp-block-archives > li,
.entry-content .wp-block-categories > li,
.entry-content .wp-block-latest-posts > li,
.entry-content .wp-block-latest-comment > li {
  margin-left: 0; }

.entry-content .wp-block-archives > li:last-child,
.entry-content .wp-block-categories > li:last-child,
.entry-content .wp-block-latest-posts > li:last-child,
.entry-content .wp-block-latest-comment > li:last-child {
  margin-bottom: 0; }

.entry-content .wp-block-archives li,
.entry-content .wp-block-categories li,
.entry-content .wp-block-latest-posts li {
  color: #6d6d6d; }

.wp-block-archives a,
.wp-block-categories a,
.wp-block-latest-posts a,
.wp-block-latest-comments a {
  font-weight: 700;
  text-decoration: none; }

.wp-block-archives a:hover,
.wp-block-categories a:hover,
.wp-block-latest-posts a:hover,
.wp-block-latest-comments a:hover,
.wp-block-archives a:focus,
.wp-block-categories a:focus,
.wp-block-latest-posts a:focus,
.wp-block-latest-comments a:focus {
  text-decoration: underline; }

.wp-block-latest-posts a,
.wp-block-latest-comments__comment-meta {
  font-weight: 700;
  line-height: 1.25; }

.wp-block-latest-comments__comment-date,
.wp-block-latest-posts__post-date {
  color: #6d6d6d;
  font-size: 0.7em;
  font-weight: 600;
  margin-top: 0.15em; }

/* Block: Shared Media Styles ---------------- */
.wp-block-embed figcaption,
.wp-block-image figcaption {
  color: #6d6d6d;
  font-size: 1.4rem;
  margin-bottom: 0;
  margin-top: 1.5rem; }

/* Block: Audio ------------------------------ */
.wp-block-audio audio {
  width: 100%; }

/* Block: Button ----------------------------- */
.wp-block-buttons {
  display: flex;
  justify-content: center; }

.is-style-outline .wp-block-button__link:not(.has-text-color) {
  color: inherit; }

.is-style-outline .wp-block-button__link {
  padding: calc(1.1em - 0.2rem) calc(1.44em - 0.2rem); }

/**
 * Block: Columns
 */
@media (min-width: 48.875rem) {
  .wp-block-columns {
    display: flex;
    justify-content: space-between; } }

.wp-block-columns .wp-block-columns {
  margin-left: 0 !important;
  margin-right: 0 !important; }

.wp-block-column {
  margin-top: calc(0.812rem + 0.812 * (100vw - 20rem) / 42.5);
  margin-bottom: calc(0.812rem + 0.812 * (100vw - 20rem) / 42.5);
  flex-basis: calc(50% - 10px); }
  @media (min-width: 62.5rem) {
    .wp-block-column {
      margin-top: 1.625rem; } }
  @media (min-width: 62.5rem) {
    .wp-block-column {
      margin-bottom: 1.625rem; } }
  .wp-block-column > .wp-block-group:first-child {
    margin-top: 0; }
  .wp-block-column > .wp-block-group:last-child {
    margin-bottom: 0; }
  @media (min-width: 48.875rem) {
    .wp-block-column {
      margin-top: 0;
      margin-bottom: 0; } }
  @media (min-width: 62.5rem) {
    .wp-block-column {
      flex-basis: calc(50% - 20px); } }
  .wp-block-column.is-vertically-aligned-center {
    display: flex;
    flex-direction: column;
    justify-content: center; }

.wp-block-column > *:first-child {
  margin-top: 0; }

.wp-block-column > *:last-child {
  margin-bottom: 0; }

/* Block: Cover ------------------------------ */
.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
  width: calc(100% - 4rem);
  padding: 2rem 0; }

.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover-image .wp-block-cover-text,
.wp-block-cover-image h2,
.wp-block-cover .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text,
.wp-block-cover h2 {
  max-width: 100%;
  padding: 0; }

.wp-block-cover-image h2,
.wp-block-cover h2 {
  font-size: 3.2rem; }

/* Block: Embed ------------------------------ */
/* Block: File ------------------------------- */
.wp-block-file {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.wp-block-file a:not(.wp-block-file__button) {
  font-weight: 700;
  text-decoration: none; }

.wp-block-file a:not(.wp-block-file__button):not(:last-child) {
  margin-right: 1rem; }

.wp-block-file a:not(.wp-block-file__button):focus,
.wp-block-file a:not(.wp-block-file__button):hover {
  text-decoration: underline; }

.wp-block-file .wp-block-file__button {
  font-size: 1.5rem;
  padding: 1em 1.25em; }

.wp-block-file a.wp-block-file__button:visited {
  opacity: 1; }

.wp-block-file a.wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:hover {
  opacity: 1;
  text-decoration: underline; }

/* Block: Gallery ---------------------------- */
.wp-block-gallery ul {
  list-style: none; }

figure.wp-block-gallery.alignnone,
figure.wp-block-gallery.aligncenter {
  margin-bottom: 3rem;
  margin-top: 3rem; }

figure.wp-block-gallery.alignleft {
  margin: 0.3rem 2rem 2rem 0; }

figure.wp-block-gallery.alignright {
  margin: 0.3rem 0 2rem 2rem; }

figure.wp-block-gallery.alignwide {
  margin-bottom: 4rem;
  margin-top: 4rem; }

figure.wp-block-gallery.alignfull {
  margin-bottom: 5rem;
  margin-top: 5rem; }

/* Block: Image ------------------------------ */
/* Block: Media And Text --------------------- */
.wp-block-media-text .wp-block-media-text__content {
  padding: 3rem 2rem; }

.wp-block-media-text .wp-block-media-text__content p {
  max-width: none; }

.wp-block-media-text__content > *:first-child {
  margin-top: 0; }

.wp-block-media-text__content > *:last-child {
  margin-bottom: 0; }

/* Block: Pullquote -------------------------- */
/* STYLE: DEFAULT */
.wp-block-pullquote {
  padding: 0;
  position: relative; }

.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright {
  max-width: calc(100% - 4rem); }

.wp-block-pullquote::before {
  background: #fff;
  border-radius: 50%;
  color: #cd2653;
  content: "”";
  display: block;
  font-size: 6.2rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 auto 1.5rem auto;
  text-align: center;
  height: 4.4rem;
  width: 4.4rem; }

.reduced-spacing .wp-block-pullquote::before {
  border: 0.1rem solid currentColor;
  font-size: 5.9rem; }

.wp-block-pullquote blockquote {
  border: none;
  margin: 0;
  padding: 0; }

.wp-block-pullquote blockquote p {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.178571429;
  max-width: 100%; }

.wp-block-pullquote p:last-of-type {
  margin-bottom: 0; }

.wp-block-pullquote cite {
  color: #6d6d6d;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 1.2rem; }

.wp-block-pullquote.alignleft p,
.wp-block-pullquote.alignright p {
  font-size: 2.8rem; }

.wp-block-pullquote.alignleft {
  text-align: left; }

.wp-block-pullquote.alignright {
  text-align: right; }

.wp-block-pullquote.alignleft::before {
  margin-left: 0; }

.wp-block-pullquote.alignright::before {
  margin-right: 0; }

/* STYLE: SOLID BACKGROUND COLOR */
.wp-block-pullquote.is-style-solid-color {
  padding: 3rem 2rem; }

.wp-block-pullquote.is-style-solid-color::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%); }

.wp-block-pullquote.is-style-solid-color.alignleft::before,
.wp-block-pullquote.is-style-solid-color.alignright::before {
  transform: translateY(-50%); }

.wp-block-pullquote.is-style-solid-color.alignleft::before {
  left: 2rem; }

.wp-block-pullquote.is-style-solid-color.alignright::before {
  left: auto;
  right: 2rem; }

.wp-block-pullquote.is-style-solid-color blockquote {
  max-width: 100%;
  text-align: inherit; }

.wp-block-pullquote.is-style-solid-color cite {
  color: inherit; }

/* Block: Separator  ------------------------- */
hr.wp-block-separator {
  margin: 3rem 0; }

/* STYLE: WIDE */
.wp-block-separator.is-style-wide {
  max-width: calc(100vw - 4rem);
  position: relative;
  width: 100%; }

/* STYLE: DOTS */
.wp-block-separator.is-style-dots::before {
  background: none;
  color: inherit;
  font-size: 3.2rem;
  font-weight: 700;
  height: auto;
  padding-left: 1em;
  position: static;
  transform: none;
  width: auto; }

.wp-block-separator.is-style-dots::after {
  content: none; }

/* Block: Search ----------------------------- */
.wp-block-search .wp-block-search__input {
  width: auto; }

/* Block: Table ------------------------------ */
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: #dcd7ca; }

figure.wp-block-table.is-style-stripes {
  border-bottom: none; }

.wp-block-table.is-style-stripes table {
  border-collapse: inherit; }

/* Block: Quote ------------------------------ */
.wp-block-quote p,
.wp-block-quote cite {
  text-align: inherit; }

.wp-block-quote[style="text-align:center"] {
  border-width: 0;
  padding: 0; }

.wp-block-quote[style="text-align:right"] {
  /*rtl:begin:ignore*/
  border-width: 0 0.2rem 0 0;
  padding: 0 2rem 0 0;
  /*rtl:end:ignore*/ }

/* STYLE: LARGE */
.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
  border: none;
  padding: 0;
  margin-left: auto;
  margin-right: auto; }

.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.285; }

.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
  font-size: 1.6rem;
  text-align: inherit; }

/* Block: Widget Latest Comments ------------- */
.entry-content .wp-block-latest-comments li {
  margin: 2rem 0; }

.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,
.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta {
  margin-left: 5.5rem; }

.entry-content .wp-block-latest-comments a {
  text-decoration: none; }

.entry-content .wp-block-latest-comments a:hover,
.entry-content .wp-block-latest-comments a:focus {
  text-decoration: underline; }

.wp-block-latest-comments__comment {
  font-size: inherit; }

.wp-block-latest-comments__comment-date {
  margin-top: 0.4em; }

.wp-block-latest-comments__comment-excerpt p {
  font-size: 0.7em;
  margin: 0.9rem 0 2rem 0; }

/* Block: Widget Latest Posts ---------------- */
.wp-block-latest-posts.is-grid li {
  border-top: 0.2rem solid #dcd7ca;
  margin-top: 2rem;
  padding-top: 1rem; }

.wp-block-latest-posts.has-dates {
  list-style: none; }

.wp-block-latest-posts.has-dates:not(.is-grid) li {
  margin-top: 1.5rem; }

.wp-block-latest-posts.has-dates:not(.is-grid) li:first-child {
  margin-top: 0; }

/* -------------------------------------------------------------------------- */
/*  11. Entry Content
/* -------------------------------------------------------------------------- */
.read-more-button-wrap {
  margin-top: 1em;
  text-align: center; }

.entry-content a:hover,
.entry-content a:focus {
  text-decoration: none; }

.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
  margin-bottom: 1rem; }

.entry-content hr {
  margin: 4rem auto; }

/* Alignment Classes ------------------------- */
/* Entry Media ------------------------------- */
.alignfull > figcaption,
.alignfull > .wp-caption-text {
  margin-left: auto;
  margin-right: auto;
  max-width: 58rem;
  width: calc(100% - 4rem); }

/* -------------------------------------------------------------------------- */
/*  12. Comments
/* -------------------------------------------------------------------------- */
/* Comment Headers ----------------------------- */
.comments-wrapper {
  margin-top: 5rem; }

.comment-reply-title {
  margin: 0 0 4rem 0;
  text-align: center; }

/* Comment Item ----------------------------- */
/* COMMENT HEADER */
.comments .comment,
.comments .pingback,
.comments .trackback,
.comments .review {
  padding-top: 3.5rem; }

div.comment:first-of-type {
  margin-top: 3.5rem;
  padding-top: 0; }

.comments .comments-header + div {
  margin-top: 0;
  padding-top: 0; }

.comment-body {
  position: relative; }

.comment .comment {
  padding-left: 5%; }

.comment-meta {
  line-height: 1.1;
  margin-bottom: 1.5rem;
  min-height: 5rem;
  padding-left: 5rem;
  position: relative; }

.hide-avatars .comment-meta {
  min-height: 0;
  padding-left: 0; }

.comment-meta a {
  color: inherit; }

.comment-author {
  font-size: 1.8rem;
  font-weight: 700; }

.comment-author a {
  text-decoration: underline; }

.comment-author a:hover,
.comment-author a:focus {
  text-decoration: none; }

.comment-meta .avatar {
  height: 4rem;
  position: absolute;
  left: 0;
  top: 0;
  width: 4rem; }

.comment-author .url {
  text-decoration: underline; }

.comment-metadata {
  color: #6d6d6d;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 0.6rem; }

.comment-metadata a {
  text-decoration: none; }

.comment-metadata a:focus,
.comment-metadata a:hover {
  text-decoration: underline; }

/* COMMENT CONTENT */
.comment-content.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
  width: 100%; }

.comment-content.entry-content .alignleft {
  /*rtl:ignore*/
  margin-left: 0; }

.comment-content.entry-content .alignright {
  /*rtl:ignore*/
  margin-right: 0; }

/* COMMENT FOOTER */
.comment-footer-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
  font-weight: 600;
  justify-content: flex-start;
  line-height: 1;
  margin: 1.5rem 0 -1rem -1.5rem;
  text-transform: uppercase; }

.comment-footer-meta > * {
  margin: 0 0 1rem 1.5rem; }

.comment-reply-link {
  background-color: #cd2653;
  color: #fff;
  display: block;
  padding: 0.7rem; }

.bypostauthor .comment-footer-meta .by-post-author {
  display: block; }

.comment-footer-meta a {
  text-decoration: none; }

.comment-footer-meta a:focus,
.comment-footer-meta a:hover {
  text-decoration: underline; }

/* Pingbacks & Trackbacks ------------------------- */
.pingback .comment-meta,
.trackback .comment-meta {
  padding-left: 0; }

/* Comments Pagination ---------------------------- */
.comments-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 6rem;
  text-align: center; }

.comments-pagination.only-next {
  justify-content: flex-end; }

.comments-pagination .page-numbers {
  display: none;
  text-decoration: none; }

.comments-pagination .page-numbers:focus,
.comments-pagination .page-numbers:hover {
  text-decoration: underline; }

.comments-pagination .prev,
.comments-pagination .next {
  display: block; }

.comments-pagination .prev {
  left: 0; }

.comments-pagination .next {
  right: 0;
  text-align: right; }

/* Comment Respond ---------------------------- */
.comment-respond::after {
  clear: both;
  content: "";
  display: block; }

.comment-respond .comment-notes,
.comment-respond .logged-in-as {
  color: #6d6d6d;
  font-size: 1.6rem;
  line-height: 1.4;
  margin: -3rem 0 4rem 0;
  text-align: center; }

.comment-respond .comment-notes a,
.comment-respond .logged-in-as a {
  color: inherit;
  text-decoration: none; }

.comment-respond .comment-notes a:focus,
.comment-respond .comment-notes a:hover,
.comment-respond .logged-in-as a:focus,
.comment-respond .logged-in-as a:hover {
  text-decoration: underline; }

.comment-respond p {
  line-height: 1.1;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto; }

.comment-respond p:not(.comment-notes) {
  max-width: 58rem; }

.comment-form-cookies-consent {
  align-items: baseline;
  display: flex; }

.comment-respond > p:last-of-type {
  margin-bottom: 0; }

.comment-respond label {
  display: block; }

.comment-respond input[type="checkbox"] + label {
  font-size: 1.5rem;
  line-height: 1.25; }

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond textarea {
  margin-bottom: 0; }

.comment-respond textarea {
  height: 15rem; }

.comment-respond #submit {
  display: block; }

.comment-respond .comments-closed {
  text-align: center; }

/* Reply Respond ---------------------------- */
.comments .comment-respond {
  padding: 3rem 0 0; }

.comments .comment-respond .comment-reply-title,
.comments .comment-respond .comment-notes,
.comments .comment-respond .logged-in-as {
  text-align: left; }

.comment-reply-title small {
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0.5rem 0 0 0;
  white-space: nowrap; }

.comment-reply-title small a {
  text-decoration: none; }

.comment-reply-title small a:focus,
.comment-reply-title small a:hover {
  text-decoration: underline; }

/* -------------------------------------------------------------------------- */
/*  13. Site Pagination
/* -------------------------------------------------------------------------- */
.pagination .nav-links {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  font-weight: 600;
  margin: -1.5rem 0 0 -2.5rem;
  width: calc(100% + 2.5rem); }

.pagination-separator {
  margin: 5rem 0; }

.nav-links > * {
  margin: 1.5rem 0 0 2.5rem; }

.nav-links .placeholder {
  display: none;
  visibility: hidden; }

.pagination a {
  text-decoration: none; }

.pagination a:focus,
.pagination a:hover {
  text-decoration: underline; }

.pagination .dots {
  transform: translateY(-0.3em);
  color: #6d6d6d; }

.nav-short {
  display: none; }

/* -------------------------------------------------------------------------- */
/*  14. Error 404
/* -------------------------------------------------------------------------- */
.error404 #site-content {
  padding-top: 4rem; }

.error404-content {
  text-align: center; }

.error404 #site-content .search-form {
  justify-content: center;
  margin-top: 3rem; }

/* -------------------------------------------------------------------------- */
/*  15. Widgets
/* -------------------------------------------------------------------------- */
/* Widget Base ------------------------------- */
.widget {
  margin-top: 3rem; }

.widget:first-child {
  margin-top: 0; }

.widget-content > div > *:first-child {
  margin-top: 0; }

.widget-content > div > *:last-child {
  margin-bottom: 0; }

.widget .widget-title {
  margin: 0 0 2rem; }

.widget li {
  margin: 2rem 0 0 0; }

.widget li:first-child,
.widget li > ul,
.widget li > ol {
  margin-top: 0; }

.widget table,
.widget table * {
  border-color: #dedfdf; }

.widget table caption {
  background-color: #dedfdf; }

.widget .post-date,
.widget .rss-date {
  color: #6d6d6d;
  display: block;
  font-size: 0.85em;
  font-weight: 500;
  margin-top: 0.2rem; }

.widget select {
  max-width: 100%; }

/* Base List Widget -------------------------- */
.widget_archive ul,
.widget_categories ul,
.widget_pages ul,
.widget_meta ul,
.widget_nav_menu ul,
.widget_recent_comments ul,
.widget_recent_entries ul,
.widget_rss ul {
  list-style: none;
  margin: 0; }

.widget_archive li,
.widget_categories li,
.widget_pages li,
.widget_meta li,
.widget_nav_menu li {
  color: #6d6d6d;
  margin: 0.3rem 0; }

.widget_archive li li,
.widget_categories li li,
.widget_pages li li,
.widget_meta li li,
.widget_nav_menu li li {
  margin-left: 2rem; }

.widget_archive a,
.widget_categories a,
.widget_pages a,
.widget_meta a,
.widget_nav_menu a {
  font-weight: 700;
  text-decoration: none; }

.widget_archive a:focus,
.widget_archive a:hover,
.widget_categories a:focus,
.widget_categories a:hover,
.widget_pages a:focus,
.widget_pages a:hover,
.widget_meta a:focus,
.widget_meta a:hover,
.widget_nav_menu a:focus,
.widget_nav_menu a:hover {
  text-decoration: underline; }

/* Widget: Calendar -------------------------- */
.calendar_wrap {
  font-size: 2.4rem; }

.calendar_wrap th,
.calendar_wrap td,
.wp-calendar-nav span {
  display: table-cell;
  font-size: 1em;
  font-weight: 500;
  line-height: 1;
  padding: 2.5% 2.5% 1.75% 2.5%;
  text-align: center; }

.wp-calendar-table {
  margin-bottom: 0; }

.wp-calendar-nav {
  display: table;
  width: 100%;
  font-size: 1.8rem; }

.calendar_wrap tfoot td {
  border-bottom: none; }

.calendar_wrap tfoot a,
.calendar_wrap .wp-calendar-nav a {
  text-decoration: none; }

.calendar_wrap tfoot #prev,
.calendar_wrap .wp-calendar-nav-prev {
  text-align: left; }

.calendar_wrap tfoot #next,
.calendar_wrap .wp-calendar-nav-next {
  text-align: right; }

/* Widget: Image ----------------------------- */
/* Widget: Gallery --------------------------- */
.widget_media_gallery .gallery {
  margin: 0 -0.4em -0.8em -0.4em;
  width: calc(100% + 0.8em); }

.widget_media_gallery .gallery-item {
  margin: 0 0 0.8em 0;
  padding: 0 0.4em; }

/* Widget: Nav Menu -------------------------- */
.widget_nav_menu .widget-content > div > ul {
  margin-left: 0; }

/* Widget: Recent Comments ------------------- */
.widget_recent_comments li {
  font-weight: 700; }

.widget_recent_comments a {
  text-decoration: none; }

.widget_recent_comments a:focus,
.widget_recent_comments a:hover {
  text-decoration: underline; }

/* Widget: Recent Entries -------------------- */
.widget_recent_entries a {
  font-weight: 700;
  text-decoration: none; }

.widget_recent_entries a:focus,
.widget_recent_entries a:hover {
  text-decoration: underline; }

/* Widget: RSS ------------------------------- */
.widget_rss .widget-title a.rsswidget:first-of-type {
  display: none; }

.widget_rss .rsswidget {
  font-weight: 700; }

.widget_rss a {
  text-decoration: none; }

.widget_rss a:focus,
.widget_rss a:hover {
  text-decoration: underline; }

.widget_rss .rssSummary {
  margin-top: 0.5rem; }

.widget_rss cite::before {
  content: "— "; }

/* Widget: Search ---------------------------- */
.widget_search .search-field {
  border-color: #dedfdf; }

/* Widget: Tag Cloud ------------------------- */
.widget_tag_cloud a {
  font-weight: 700;
  margin-right: 0.5rem;
  text-decoration: none;
  white-space: nowrap; }

.widget_tag_cloud a:focus,
.widget_tag_cloud a:hover {
  text-decoration: underline; }

/* Widget: Text ------------------------------ */
/* -------------------------------------------------------------------------- */
/*  16. Site Footer
/* -------------------------------------------------------------------------- */
.footer-top-visible .footer-nav-widgets-wrapper,
.footer-top-hidden #site-footer {
  margin-top: 5rem; }

.reduced-spacing.footer-top-visible .footer-nav-widgets-wrapper,
.reduced-spacing.footer-top-hidden #site-footer {
  border-top-width: 0.1rem; }

/* Footer Top -------------------------------- */
.footer-top {
  display: flex;
  border-bottom: 0.1rem solid #dedfdf;
  justify-content: space-between; }

/* FOOTER MENU */
.footer-menu {
  font-size: 1.8rem;
  font-weight: 700; }

.footer-menu li {
  line-height: 1.25;
  margin: 0.25em 0 0 0; }

.footer-menu a {
  text-decoration: none;
  word-break: normal;
  word-wrap: normal; }

.footer-menu a:hover,
.footer-menu a:focus {
  text-decoration: underline; }

/* FOOTER SOCIAL */
.footer-social-wrapper {
  margin: 0;
  width: 100%; }

.has-footer-menu .footer-social-wrapper {
  flex-shrink: 0;
  margin-left: 1rem;
  width: 50%; }

ul.footer-social {
  margin: -0.5rem 0 0 -0.5rem; }

.has-footer-menu .footer-social {
  justify-content: flex-end; }

ul.footer-social li {
  margin: 0.5rem 0 0 0.5rem; }

.footer-social a {
  background-color: #cd2653;
  height: 3.6rem;
  width: 3.6rem; }

.footer-social a::before {
  font-size: 1.6rem; }

/**
 * HTML elements styles
 */
html, body {
  margin: 0;
  padding: 0;
  border: none; }

html {
  font: 400 100%/1.62495 'Crimson Pro', serif;
  scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto; } }

body {
  font: 400 1.125rem/1.4444 'Crimson Pro', serif;
  box-sizing: border-box;
  color: #000000;
  text-align: left; }

main {
  display: block; }

h1,
h2,
h3,
h4,
h5,
h6,
.faux-heading {
  padding: 0;
  font-family: 'Crimson Pro', serif;
  font-weight: 500; }

h1,
.heading-size-1,
#home h2 {
  line-height: calc(3.25rem + 0.812 * (100vw - 20rem) / 42.5);
  letter-spacing: 0.25rem;
  text-transform: uppercase; }
  @media (min-width: 62.5rem) {
    h1,
    .heading-size-1,
    #home h2 {
      line-height: 4.062rem; } }

h1.entry-title {
  font-size: calc(2.25rem + 0.75 * (100vw - 20rem) / 42.5);
  margin-top: calc(1.625rem + 1.625 * (100vw - 20rem) / 42.5);
  margin-bottom: calc(0.812rem + 2.437 * (100vw - 20rem) / 42.5);
  text-align: center; }
  @media (min-width: 62.5rem) {
    h1.entry-title {
      font-size: 3rem; } }
  @media (min-width: 62.5rem) {
    h1.entry-title {
      margin-top: 3.25rem; } }
  @media (min-width: 62.5rem) {
    h1.entry-title {
      margin-bottom: 3.25rem; } }

h2,
.heading-size-2 {
  font-size: calc(2.25rem + 0.3125 * (100vw - 20rem) / 42.5);
  line-height: calc(2.437rem + 1.625 * (100vw - 20rem) / 42.5);
  margin-top: calc(1.625rem + 1.625 * (100vw - 20rem) / 42.5);
  margin-bottom: calc(1.625rem + 1.625 * (100vw - 20rem) / 42.5); }
  @media (min-width: 62.5rem) {
    h2,
    .heading-size-2 {
      font-size: 2.5625rem; } }
  @media (min-width: 62.5rem) {
    h2,
    .heading-size-2 {
      line-height: 4.062rem; } }
  @media (min-width: 62.5rem) {
    h2,
    .heading-size-2 {
      margin-top: 3.25rem; } }
  @media (min-width: 62.5rem) {
    h2,
    .heading-size-2 {
      margin-bottom: 3.25rem; } }

h3,
.heading-size-3 {
  font-size: calc(1.125rem + 0.375 * (100vw - 20rem) / 42.5);
  margin-top: calc(1.625rem + 1.625 * (100vw - 20rem) / 42.5);
  font-weight: 300; }
  @media (min-width: 62.5rem) {
    h3,
    .heading-size-3 {
      font-size: 1.5rem; } }
  @media (min-width: 62.5rem) {
    h3,
    .heading-size-3 {
      margin-top: 3.25rem; } }

h4,
.heading-size-4 {
  font-size: 2rem; }

h5,
.heading-size-5 {
  font-size: 1.8rem; }

h6,
.heading-size-6 {
  font-size: 1.6rem; }

p, table, blockquote {
  margin: 0 0 1.625rem; }

h3, p {
  margin-bottom: calc(0.812rem + 0.812 * (100vw - 20rem) / 42.5); }
  @media (min-width: 62.5rem) {
    h3, p {
      margin-bottom: 1.625rem; } }

p {
  font-size: calc(1.125rem + 0.125 * (100vw - 20rem) / 42.5); }
  @media (min-width: 62.5rem) {
    p {
      font-size: 1.25rem; } }

.has-text-color h1, .has-text-color h2, .has-text-color h3, .has-text-color h4, .has-text-color h5, .has-text-color h6, .has-text-color p, .has-text-color ul, .has-text-color ol, .has-text-color table, .has-text-color blockquote {
  color: inherit; }

em,
i,
q,
dfn {
  font-style: italic; }

em em,
em i,
i em,
i i,
cite em,
cite i {
  font-weight: bolder; }

big {
  font-size: 1.2em; }

small {
  font-size: 0.8em; }

b,
strong {
  font-weight: bold; }

ins {
  text-decoration: underline; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

abbr,
acronym {
  cursor: help; }

hr {
  border: none;
  height: 0.0625rem;
  margin: 1rem auto; }

a {
  color: #000000;
  text-decoration: underline; }

a:hover,
a:focus {
  text-decoration: none; }

/* Lists ------------------------------------- */
ul,
ol {
  margin: 0 0 rem(1.4444) 3rem;
  padding: 0; }

ul {
  list-style: disc; }

ul ul {
  list-style: circle; }

ul ul ul {
  list-style: square; }

ol {
  list-style: decimal; }

ol ol {
  list-style: lower-alpha; }

ol ol ol {
  list-style: lower-roman; }

li {
  padding: 0;
  margin-left: 2rem; }

li > ul,
li > ol {
  margin: rem(0.7222) 0 0 2rem; }

.reset-list-style,
.reset-list-style ul,
.reset-list-style ol {
  list-style: none;
  margin: 0; }

.reset-list-style li {
  margin: 0; }

dt,
dd {
  line-height: 1.5; }

dt {
  font-weight: 700; }

dt + dd {
  margin-top: 0.5rem; }

dd + dt {
  margin-top: 1.5rem; }

/* Quotes ------------------------------------ */
blockquote {
  border-left: solid 2px #000000;
  color: inherit;
  margin: 1.625rem 0;
  padding: 0.325rem 0 0.325rem 1rem; }

cite {
  color: #6d6d6d;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25; }

blockquote cite {
  display: block;
  margin: 2rem 0 0 0; }

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

/* Code -------------------------------------- */
code,
kbd,
pre,
samp {
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.4rem 0.6rem; }

code,
kbd,
samp {
  background: rgba(0, 0, 0, 0.075);
  border-radius: 0.2rem; }

pre {
  border: 0.1rem solid #dcd7ca;
  line-height: 1.5;
  margin: 4rem 0;
  overflow: auto;
  padding: 3rem 2rem;
  text-align: left; }

pre code {
  background: transparent;
  padding: 0; }

/* Media ------------------------------------- */
figure {
  display: block;
  margin: 0; }

iframe {
  display: block;
  max-width: 100%; }

video {
  display: block; }

svg,
img,
embed,
object {
  display: block;
  height: auto;
  max-width: 100%; }

figcaption,
.wp-caption-text {
  color: #6d6d6d;
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 1.5rem; }

figcaption a,
.wp-caption-text a {
  color: inherit; }

blockquote.instagram-media,
iframe.instagram-media {
  margin: auto !important; }

/* GALLERIES */
.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 3em 0 3em -0.8em;
  width: calc(100% + 1.6em); }

.gallery-item {
  margin: 0.8em 0;
  padding: 0 0.8em;
  width: 100%; }

.gallery-caption {
  display: block;
  margin-top: 0.8em; }

/* Inputs ------------------------------------ */
fieldset {
  border: 0.2rem solid #dcd7ca;
  padding: 2rem; }

legend {
  font-size: 0.85em;
  font-weight: 700;
  padding: 0 1rem;
  margin: 0; }

label {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  margin: 0 0 0.812rem 0; }

label.inline,
input[type="checkbox"] + label {
  display: inline;
  font-weight: 400;
  margin-left: 0.5rem; }

input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  top: 2px;
  display: inline-block;
  margin: 0;
  width: 0.9375rem;
  min-width: 0.9375rem;
  height: 0.9375rem;
  background: #fff;
  border-radius: 0;
  border-style: solid;
  border-width: 0.0625rem;
  border-color: #dcd7ca;
  box-shadow: none;
  cursor: pointer; }

input[type="checkbox"]:checked::before {
  /* Use the "Yes" SVG Dashicon */
  content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23000000%27%2F%3E%3C%2Fsvg%3E");
  position: absolute;
  display: inline-block;
  margin: -0.1875rem 0 0 -0.25rem;
  height: 1.75rem;
  width: 1.75rem; }

input,
textarea,
button,
select,
.button,
.faux-button,
.wp-block-button__link,
.wp-block-file__button {
  line-height: 1; }

input,
textarea {
  border-color: #dcd7ca;
  color: #000; }

code,
input[type="url"],
input[type="email"],
input[type="tel"] {
  /*rtl:ignore*/
  direction: ltr; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border-radius: 0;
  border-style: solid;
  border-width: 0.0625rem;
  box-shadow: none;
  box-sizing: border-box;
  display: block;
  font-size: 1rem;
  margin: 0;
  max-width: 100%;
  padding: 0.3125rem 0.9375rem;
  width: 100%; }
  .has-purple-base-background-color input[type="text"], .has-purple-base-background-color
  input[type="password"], .has-purple-base-background-color
  input[type="email"], .has-purple-base-background-color
  input[type="url"], .has-purple-base-background-color
  input[type="date"], .has-purple-base-background-color
  input[type="month"], .has-purple-base-background-color
  input[type="time"], .has-purple-base-background-color
  input[type="datetime"], .has-purple-base-background-color
  input[type="datetime-local"], .has-purple-base-background-color
  input[type="week"], .has-purple-base-background-color
  input[type="number"], .has-purple-base-background-color
  input[type="search"], .has-purple-base-background-color
  input[type="tel"], .has-purple-base-background-color
  input[type="color"], .has-purple-base-background-color
  textarea, .has-purple-base-background-color
  select {
    background: rgba(255, 255, 255, 0.25);
    border: none; }

select {
  font-size: 1em; }

textarea {
  height: 7.5rem;
  line-height: 1.5;
  width: 100%; }

input::-webkit-input-placeholder {
  line-height: normal; }

input:-ms-input-placeholder {
  line-height: normal; }

input::-moz-placeholder {
  line-height: revert;
  /* Reset to the value from the user-agent stylesheet. */ }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none; }

button,
.button,
.faux-button,
.wp-block-button__link,
.wp-block-file .wp-block-file__button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  display: inline-block;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0.487rem 1.875rem;
  margin: 0;
  border: none;
  border-radius: 0;
  background: #000000;
  color: #fff;
  font: 500 0.9375rem/1.625rem 'Crimson Pro', serif;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  opacity: 1;
  cursor: pointer;
  transition: opacity 0.15s linear; }

button:focus,
button:hover,
.button:focus,
.button:hover,
.faux-button:focus,
.faux-button:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-file .wp-block-file__button:focus,
.wp-block-file .wp-block-file__button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover {
  opacity: .8; }

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  border-color: currentColor; }

input[type="search"]:focus {
  outline: thin dotted;
  outline-offset: -4px; }

/* Tables ------------------------------------ */
table {
  border: 0.1rem solid #dcd7ca;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  font-size: 1.6rem;
  margin: 4rem 0;
  max-width: 100%;
  overflow: hidden;
  width: 100%; }

.alignleft > table {
  margin: 0; }

.alignright > table {
  margin: 0; }

th,
td {
  border: 0.1rem solid #dcd7ca;
  line-height: 1.4;
  margin: 0;
  overflow: visible;
  padding: 0.5em; }

caption {
  background: #dcd7ca;
  font-weight: 600;
  padding: 0.5em;
  text-align: center; }

thead {
  vertical-align: bottom;
  white-space: nowrap; }

th {
  font-weight: 700; }

.wp-block-columns:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-group:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-gallery:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-getwid-images-slider:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-root__inner-container > h1, .wp-block-root__inner-container > h2, .wp-block-root__inner-container > h3, .wp-block-root__inner-container > h4, .wp-block-root__inner-container > h5, .wp-block-root__inner-container > h6, .wp-block-root__inner-container > p, .wp-block-root__inner-container > ul, .wp-block-root__inner-container > ol, .wp-block-root__inner-container > blockquote, .wp-block-root__inner-container > table, .wp-block-gallery.aligncenter, .site-header__inner, .entry-header__inner-container {
  max-width: 40rem;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 62.5rem) {
    .wp-block-columns:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-group:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-gallery:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-getwid-images-slider:not(.alignfull):not(.alignwide):not(.alignsemi-wide), .wp-block-root__inner-container > h1, .wp-block-root__inner-container > h2, .wp-block-root__inner-container > h3, .wp-block-root__inner-container > h4, .wp-block-root__inner-container > h5, .wp-block-root__inner-container > h6, .wp-block-root__inner-container > p, .wp-block-root__inner-container > ul, .wp-block-root__inner-container > ol, .wp-block-root__inner-container > blockquote, .wp-block-root__inner-container > table, .wp-block-gallery.aligncenter, .site-header__inner, .entry-header__inner-container {
      max-width: 47.5rem; } }

.wp-block-columns, .wp-block-group, .wp-block-gallery, .wp-block-getwid-images-slider {
  margin-top: calc(1.625rem + 1.625 * (100vw - 20rem) / 55); }
  @media (min-width: 75rem) {
    .wp-block-columns, .wp-block-group, .wp-block-gallery, .wp-block-getwid-images-slider {
      margin-top: 3.25rem; } }

.wp-block-root h1, .wp-block-root h2, .wp-block-root h3, .wp-block-root h4, .wp-block-root h5, .wp-block-root h6, .wp-block-root p, .wp-block-root ul, .wp-block-root ol, .wp-block-root blockquote, .wp-block-root table {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media (min-width: 48.875rem) {
    .wp-block-root h1, .wp-block-root h2, .wp-block-root h3, .wp-block-root h4, .wp-block-root h5, .wp-block-root h6, .wp-block-root p, .wp-block-root ul, .wp-block-root ol, .wp-block-root blockquote, .wp-block-root table {
      padding-left: 1.625rem;
      padding-right: 1.625rem; } }
  @media (min-width: 62.5rem) {
    .wp-block-root h1, .wp-block-root h2, .wp-block-root h3, .wp-block-root h4, .wp-block-root h5, .wp-block-root h6, .wp-block-root p, .wp-block-root ul, .wp-block-root ol, .wp-block-root blockquote, .wp-block-root table {
      padding-left: 1.625rem;
      padding-right: 1.625rem; } }
  .wp-block-root h1.has-background, .wp-block-root h2.has-background, .wp-block-root h3.has-background, .wp-block-root h4.has-background, .wp-block-root h5.has-background, .wp-block-root h6.has-background, .wp-block-root p.has-background, .wp-block-root ul.has-background, .wp-block-root ol.has-background, .wp-block-root blockquote.has-background, .wp-block-root table.has-background {
    padding-top: 1.625rem;
    padding-bottom: 1.625rem; }

.wp-block-root [class$="__inner-container"] > *:first-child {
  margin-top: 0; }

.wp-block-root [class$="__inner-container"] > *:last-child {
  margin-bottom: 0; }

.wp-block-group.has-background {
  padding-top: calc(1.625rem + 3.25 * (100vw - 20rem) / 55);
  padding-bottom: calc(1.625rem + 4.875 * (100vw - 20rem) / 55); }
  @media (min-width: 75rem) {
    .wp-block-group.has-background {
      padding-top: 4.875rem; } }
  @media (min-width: 75rem) {
    .wp-block-group.has-background {
      padding-bottom: 6.5rem; } }
  .wp-block-group.has-background + .wp-block-group.has-background {
    margin-top: 0; }

.is-style-intro-text, .is-style-left-wave, .is-style-right-wave {
  background-repeat: no-repeat;
  background-attachment: fixed; }

.is-style-left-wave, .is-style-intro-text {
  background-image: url(assets/img/left-wave.png);
  background-position: top left; }

.is-style-right-wave {
  background-image: url(assets/img/right-wave.png);
  background-position: top right; }

.is-style-intro-text {
  font-family: 'Crimson Pro', serif; }
  .is-style-intro-text p {
    font-size: 1.625rem;
    font-weight: 300; }

.alignsemi-wide {
  max-width: 61.25rem;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto; }

.alignwide {
  max-width: 75rem;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto; }

.alignfull {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto; }

.wp-block-image {
  padding-left: 0;
  padding-right: 0; }
  .wp-block-image .alignright img {
    margin: 0 auto; }
  @media (min-width: 48.875rem) {
    .wp-block-image .alignright {
      float: right;
      margin-left: 1.25rem; } }
  .wp-block-image .aligncenter img {
    margin: 0 auto 1.625rem; }

.wp-block-gallery {
  position: relative; }
  .wp-block-gallery .blocks-gallery-grid {
    position: relative;
    padding: 0;
    margin: 0 0 -1.625rem;
    z-index: 2; }
    @media (min-width: 48.875rem) {
      .wp-block-gallery .blocks-gallery-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; } }
  .wp-block-gallery .blocks-gallery-item {
    flex-grow: 1;
    margin: 0 1.25rem 1.625rem 0; }
  @media (min-width: 48.875rem) {
    .wp-block-gallery.columns-1 .blocks-gallery-item {
      width: calc((100% - 0) / 1); }
      .wp-block-gallery.columns-1 .blocks-gallery-item:nth-child(1n), .wp-block-gallery.columns-1 .blocks-gallery-item:last-child {
        margin-right: 0; }
    .wp-block-gallery.columns-2 .blocks-gallery-item {
      width: calc((100% - 1.25rem) / 2); }
      .wp-block-gallery.columns-2 .blocks-gallery-item:nth-child(2n), .wp-block-gallery.columns-2 .blocks-gallery-item:last-child {
        margin-right: 0; }
    .wp-block-gallery.columns-3 .blocks-gallery-item {
      width: calc((100% - 2.5rem) / 3); }
      .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(3n), .wp-block-gallery.columns-3 .blocks-gallery-item:last-child {
        margin-right: 0; }
    .wp-block-gallery.columns-4 .blocks-gallery-item {
      width: calc((100% - 3.75rem) / 4); }
      .wp-block-gallery.columns-4 .blocks-gallery-item:nth-child(4n), .wp-block-gallery.columns-4 .blocks-gallery-item:last-child {
        margin-right: 0; }
    .wp-block-gallery.columns-5 .blocks-gallery-item {
      width: calc((100% - 5rem) / 5); }
      .wp-block-gallery.columns-5 .blocks-gallery-item:nth-child(5n), .wp-block-gallery.columns-5 .blocks-gallery-item:last-child {
        margin-right: 0; }
    .wp-block-gallery.columns-6 .blocks-gallery-item {
      width: calc((100% - 6.25rem) / 6); }
      .wp-block-gallery.columns-6 .blocks-gallery-item:nth-child(6n), .wp-block-gallery.columns-6 .blocks-gallery-item:last-child {
        margin-right: 0; }
    .wp-block-gallery.columns-7 .blocks-gallery-item {
      width: calc((100% - 7.5rem) / 7); }
      .wp-block-gallery.columns-7 .blocks-gallery-item:nth-child(7n), .wp-block-gallery.columns-7 .blocks-gallery-item:last-child {
        margin-right: 0; }
    .wp-block-gallery.columns-8 .blocks-gallery-item {
      width: calc((100% - 8.75rem) / 8); }
      .wp-block-gallery.columns-8 .blocks-gallery-item:nth-child(8n), .wp-block-gallery.columns-8 .blocks-gallery-item:last-child {
        margin-right: 0; } }
  .wp-block-gallery figure, .wp-block-gallery a, .wp-block-gallery img {
    display: block;
    height: 100%; }
  .wp-block-gallery img {
    object-fit: cover; }
  .wp-block-gallery a {
    overflow: hidden; }
    .wp-block-gallery a img {
      transition: transform .2s linear; }
    .wp-block-gallery a:hover img, .wp-block-gallery a:focus img {
      transform: scale(1.1) rotate(1deg); }

.wp-block-cover {
  height: calc(30rem + 6 * (100vw - 20rem) / 42.5);
  min-height: 0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center top; }
  @media (min-width: 62.5rem) {
    .wp-block-cover {
      height: 36rem; } }

.wp-block-getwid-images-slider__item img {
  display: block;
  margin: 0 auto; }

.wp-block-getwid-images-slider .slick-dots {
  display: none !important; }

.wp-block-getwid-image-box__image-container {
  max-width: 10.625rem !important; }

.wp-block-getwid-image-box h3 {
  margin-bottom: 0.406rem;
  color: #CCCCCC;
  font: 600 1.625rem/2rem 'Crimson Pro', serif; }

.wp-block-getwid-image-box h4 {
  margin-top: 0;
  color: #000000;
  font: 400 1.0625rem/1.3125rem 'Crimson Pro', serif;
  text-transform: uppercase; }

.wp-block-getwid-image-box p:last-child {
  margin-bottom: 0; }

.wp-block-getwid-image-box__content * {
  padding-left: 0 !important;
  padding-right: 0 !important; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }
  .rtl .slick-slider .slick-slide {
    float: right; }
  .rtl .slick-slider .slick-track, .rtl .slick-slider .slick-list {
    direction: ltr; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 0.0625rem;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 10000;
  display: block;
  height: 1.25rem;
  width: 1.25rem;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.25rem;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: 25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: ""; }
    [dir="rtl"] .slick-prev:before {
      content: ""; }

.slick-next {
  right: 25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: ""; }
    [dir="rtl"] .slick-next:before {
      content: ""; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 1.875rem; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 1.25rem;
    width: 1.25rem;
    margin: 0 0.3125rem;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: #000000;
      display: block;
      height: 1.25rem;
      width: 1.25rem;
      outline: none;
      line-height: 0;
      font-size: 0;
      color: transparent;
      padding: 0.3125rem;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none;
        background: #000000; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 1.25rem;
        height: 1.25rem;
        font-family: "Font Awesome 5 Free";
        font-size: 0.375rem;
        line-height: 1.25rem;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

.slick-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75) !important;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  backdrop-filter: blur(15px); }
  .slick-lightbox .slick-loading .slick-list {
    background-color: transparent; }
  .slick-lightbox .slick-prev, .slick-lightbox .slick-next {
    z-index: 2;
    width: auto;
    height: auto;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.75); }
    .slick-lightbox .slick-prev:before, .slick-lightbox .slick-next:before {
      font-size: calc(1.5rem + 0.5 * (100vw - 20rem) / 42.5); }
      @media (min-width: 62.5rem) {
        .slick-lightbox .slick-prev:before, .slick-lightbox .slick-next:before {
          font-size: 2rem; } }
  .slick-lightbox .slick-prev {
    left: 4px; }
    @media (min-width: 48.875rem) {
      .slick-lightbox .slick-prev {
        left: calc(4px + 20 * (100vw - 782px) / 418); } }
    @media (min-width: 75rem) {
      .slick-lightbox .slick-prev {
        left: 24px; } }
  .slick-lightbox .slick-next {
    right: 4px; }
    @media (min-width: 48.875rem) {
      .slick-lightbox .slick-next {
        right: calc(4px + 20 * (100vw - 782px) / 418); } }
    @media (min-width: 75rem) {
      .slick-lightbox .slick-next {
        right: 24px; } }

.slick-lightbox-hide {
  opacity: 0; }
  .slick-lightbox-hide.slick-lightbox-ie {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); }

.slick-lightbox-hide-init {
  position: absolute;
  top: -9999px;
  opacity: 0; }
  .slick-lightbox-hide-init.slick-lightbox-ie {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); }

.slick-lightbox-inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.slick-lightbox-slick-item {
  text-align: center;
  overflow: hidden;
  z-index: 1; }
  .slick-lightbox-slick-item:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em; }
  .slick-caption-bottom .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: center;
    width: 100%;
    margin-bottom: 1.25rem; }
  .slick-caption-dynamic .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption {
    display: block;
    text-align: center; }

.slick-lightbox-slick-item-inner {
  display: inline-block;
  vertical-align: middle;
  max-width: 90vw;
  max-height: 90vh; }

.slick-lightbox-slick-img {
  margin: 0 auto;
  display: block;
  max-width: 100%;
  max-height: 100%; }

.slick-lightbox-slick-caption {
  margin: 0.625rem 0 0;
  color: white; }

.slick-lightbox-close {
  top: calc(0.812rem + 0.812 * (100vw - 320px) / 680);
  right: calc(0.812rem + 0.812 * (100vw - 320px) / 680);
  position: absolute;
  display: block;
  height: auto;
  width: auto;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  padding: 0;
  border: none; }
  @media (min-width: 62.5rem) {
    .slick-lightbox-close {
      top: 1.625rem; } }
  @media (min-width: 62.5rem) {
    .slick-lightbox-close {
      right: 1.625rem; } }
  .slick-lightbox-close:focus {
    outline: none; }
  .slick-lightbox-close:before {
    font-size: calc(1.5rem + 0.5 * (100vw - 20rem) / 42.5);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    color: white;
    opacity: 0.85;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\f00d'; }
    @media (min-width: 62.5rem) {
      .slick-lightbox-close:before {
        font-size: 2rem; } }

#stnorbert {
  width: calc(7.5rem + 11.25 * (100vw - 20rem) / 42.5);
  margin-right: 0vw;
  float: right;
  margin-top: 0.812rem;
  margin-bottom: 1.625rem;
  margin-left: 1.25rem; }
  @media (min-width: 62.5rem) {
    #stnorbert {
      width: 18.75rem; } }
  @media (min-width: 62.5rem) {
    #stnorbert {
      margin-right: calc(0vw + 10 * (100vw - 62.5rem) / 12.5); } }
  @media (min-width: 75rem) {
    #stnorbert {
      margin-right: 10vw; } }

.site-header__inner {
  box-sizing: border-box;
  width: 100%;
  padding: 1.625rem 1.25rem; }

.site-logo {
  font-size: calc(1.75rem + 0.25 * (100vw - 20rem) / 42.5);
  line-height: calc(2.437rem + 2.437 * (100vw - 20rem) / 42.5);
  display: block;
  text-align: center;
  text-decoration: none; }
  @media (min-width: 62.5rem) {
    .site-logo {
      font-size: 2rem; } }
  @media (min-width: 62.5rem) {
    .site-logo {
      line-height: 4.875rem; } }

.site-description {
  font-size: calc(2.75rem + 0.8125 * (100vw - 20rem) / 42.5);
  font-family: 'Crimson Pro', serif;
  text-align: center; }
  @media (min-width: 62.5rem) {
    .site-description {
      font-size: 3.5625rem; } }

.toggle {
  position: relative;
  display: block;
  padding: 0;
  margin: 1.625rem auto 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  color: #000000;
  line-height: 1.25rem;
  font-weight: 400;
  text-transform: uppercase; }
  @media (min-width: 62.5rem) {
    .toggle {
      display: none; } }
  .toggle:hover, .toggle:focus {
    opacity: 1;
    outline: none; }
  .toggle__inner {
    display: flex; }
  .toggle__icon, .toggle svg, .toggle__text {
    display: block; }
  .toggle__icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    margin: 0 0.625rem 0 0;
    color: #000000;
    transition: opacity .5s linear; }
  .toggle__text {
    font-size: 1rem;
    line-height: 1.875rem; }
  .toggle svg, .toggle img {
    display: block;
    width: 100%;
    height: auto; }
  .toggle path {
    fill: currentColor; }

.primary-menu {
  display: none; }
  @media (min-width: 62.5rem) {
    .primary-menu {
      display: block; } }
  .primary-menu__items {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
    list-style: none; }
  .primary-menu li {
    margin-left: 0.625rem; }
  .primary-menu a {
    border: none;
    color: inherit;
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 0.625rem 1.25rem;
    text-transform: uppercase;
    transition: background-color 0.15s linear; }
  .primary-menu .current-menu-item a {
    font-weight: 700; }

.expanded-menu {
  color: white;
  background: #000000; }
  .expanded-menu:not(.expanded-menu--modal) {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0; }
  .expanded-menu__items {
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    list-style: none; }
  .expanded-menu a {
    display: block;
    padding: 0 1.875rem;
    color: white;
    font-size: 1rem;
    text-decoration: none;
    text-transform: uppercase; }
    .expanded-menu a:hover, .expanded-menu a:focus {
      background: #000000;
      color: #ffffff; }
  .expanded-menu--modal a {
    padding: 0 1.25rem; }

.menu-modal {
  position: fixed;
  top: 4.875rem;
  right: 0;
  bottom: 0;
  z-index: 99;
  width: 100%;
  max-width: 0;
  transform: translateZ(0); }
  .admin-bar .menu-modal {
    top: calc(32px + 4.875rem); }
    @media (min-width: 48.875rem) {
      .admin-bar .menu-modal {
        top: calc(46px + 4.875rem); } }
  .menu-modal-inner {
    position: absolute;
    left: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    will-change: max-width, left; }
  .menu-modal-inner {
    z-index: 3;
    display: flex;
    justify-content: stretch;
    overflow: hidden;
    background: #000000; }
  .menu-modal.show-modal {
    display: flex;
    transition: max-width 3s ease; }
    .menu-modal.show-modal .menu-modal-inner {
      transition: left 1s ease; }
  .menu-modal.active {
    max-width: 22.5rem;
    transition: max-width .666s ease; }
    .menu-modal.active .menu-modal-inner {
      left: 0;
      transition: left .666s ease; }

.menu-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative; }

button.close-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: 0.812rem 1.25rem;
  font-size: 1rem;
  font-weight: 500; }

button.close-nav-toggle svg {
  height: 1rem;
  width: 1rem; }

button.close-nav-toggle .toggle-text {
  margin-right: 1.25rem; }

.menu-modal .menu-top {
  flex-shrink: 0; }

.modal-menu {
  padding-top: calc(3.125rem + 3.125 * (100vw - 20rem) / 42.5);
  position: relative; }
  @media (min-width: 62.5rem) {
    .modal-menu {
      padding-top: 6.25rem; } }
  .modal-menu .menu-item__label {
    position: relative;
    display: inline-block; }
    .modal-menu .menu-item__label:after {
      position: relative;
      top: -4px;
      display: block;
      width: 0;
      height: 0.125rem;
      background: #CCCCCC;
      content: '';
      transition: width .2s linear; }
  .modal-menu .menu-item:hover .menu-item__label:after, .modal-menu .menu-item:focus .menu-item__label:after {
    width: 100%; }
  .modal-menu a {
    padding-left: calc(3.125rem + 1.875 * (100vw - 20rem) / 42.5);
    line-height: calc(1.625rem + 1.219 * (100vw - 20rem) / 42.5);
    display: block;
    width: 100%;
    padding-top: 0.812rem;
    padding-right: 1.25rem;
    padding-bottom: 0.812rem;
    color: #CCCCCC;
    font: 300 1.625rem 'Crimson Pro', serif;
    text-decoration: none; }
    @media (min-width: 62.5rem) {
      .modal-menu a {
        padding-left: 5rem; } }
    @media (min-width: 62.5rem) {
      .modal-menu a {
        line-height: 2.844rem; } }
  .modal-menu .current-menu-item a {
    color: #ffffff; }

.modal-menu .ancestor-wrapper {
  display: flex;
  justify-content: space-between;
  width: 100%; }

button.sub-menu-toggle {
  border-left: 0.1rem solid #dedfdf;
  flex-shrink: 0;
  margin: 1rem 0;
  padding: 0 2.5rem; }

button.sub-menu-toggle svg {
  height: 0.9rem;
  transition: transform 0.15s linear;
  width: 1.5rem; }

button.sub-menu-toggle.active svg {
  transform: rotate(180deg); }

.modal-menu ul {
  display: none;
  margin: 0;
  width: 100%; }

.modal-menu ul li {
  border-left-width: 1rem; }

.modal-menu ul li a {
  color: inherit;
  font-weight: 500; }

/* Expanded Menu ----------------------------- */
.mobile-menu {
  display: block; }

/* Menu Bottom ------------------------------- */
.menu-bottom {
  flex-shrink: 0;
  padding-bottom: 0.812rem; }

.menu-bottom nav {
  width: 100%; }

.menu-copyright {
  display: none;
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0; }

.menu-copyright a:focus,
.menu-copyright a:hover {
  text-decoration: underline; }

.menu-bottom .social-menu {
  justify-content: center; }

#site-footer {
  padding: 0; }
  #site-footer > .wp-block-group {
    margin-top: 0 !important; }
  #site-footer .wp-block-columns {
    padding: 0; }
  #site-footer .site-footer__contact {
    position: relative;
    z-index: 2;
    margin-bottom: 36.5625rem; }
  #site-footer .site-footer__address {
    position: fixed;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 63px; }
  #site-footer .wp-social-link {
    display: inline-block;
    margin-left: 0;
    margin-right: 2rem;
    background-color: white !important;
    color: #000000 !important; }
    #site-footer .wp-social-link:last-child {
      margin-right: 0; }

.site-credits {
  padding-top: 0.812rem;
  padding-bottom: 0.812rem;
  text-align: center; }
  @media (min-width: 48.875rem) {
    .site-credits {
      display: flex;
      justify-content: space-between; } }
  .site-credits p {
    margin: 0 0 0.812rem; }
  .site-credits, .site-credits a {
    color: #AAAAAA; }
  .site-credits a {
    font-weight: 600;
    text-decoration: none; }

.entry-header__inner-container {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media (min-width: 48.875rem) {
    .entry-header__inner-container {
      padding-left: 1.625rem;
      padding-right: 1.625rem; } }
  @media (min-width: 62.5rem) {
    .entry-header__inner-container {
      padding-left: 1.625rem;
      padding-right: 1.625rem; } }

.page .entry-header {
  padding: 0.812rem 0; }

.wp-block-root--page .wp-block-root__inner-container > .wp-block-group.alignfull:first-child {
  padding-top: 0; }

@keyframes zoom-in-1 {
  0% {
    transform: scale(1.05); }
  100% {
    transform: scale(1.2) translateX(1%) translateY(1%); } }

@keyframes zoom-in-2 {
  0% {
    transform: scale(1.05); }
  100% {
    transform: scale(1.2) translateX(-1%) translateY(1%); } }

@keyframes zoom-in-3 {
  0% {
    transform: scale(1.05); }
  100% {
    transform: scale(1.2) translateX(1%) translateY(-1%); } }

@keyframes zoom-in-4 {
  0% {
    transform: scale(1.05); }
  100% {
    transform: scale(1.2) translateX(-1%) translateY(-1%); } }

#home .wp-block-root__inner-container {
  margin: 0; }

#home .wp-block-getwid-banner img {
  margin: 0 auto; }

#home .wp-block-getwid-banner__title {
  font-family: 'Crimson Pro', serif;
  font-size: 2.5625rem;
  font-weight: 300;
  text-transform: uppercase; }

#home .wp-block-getwid-banner + .wp-block-group {
  margin-top: 0; }

#home.admin-bar .site-header {
  top: 32px; }

#home.admin-bar .menu-modal-inner {
  padding-top: 6.5rem; }

.home-intro .wp-block-group__inner-container {
  position: relative; }

.home-intro h2 {
  font-size: calc(1.625rem + 2.4375 * (100vw - 20rem) / 55);
  line-height: calc(2.031rem + 1.219 * (100vw - 20rem) / 55);
  padding-bottom: calc(2.031rem + 1.219 * (100vw - 20rem) / 55);
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  margin: 0 !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  color: white;
  font-weight: 300; }
  @media (min-width: 75rem) {
    .home-intro h2 {
      font-size: 4.0625rem; } }
  @media (min-width: 75rem) {
    .home-intro h2 {
      line-height: 3.25rem; } }
  @media (min-width: 75rem) {
    .home-intro h2 {
      padding-bottom: 3.25rem; } }

.home-intro .slick-list:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 1.625rem, rgba(0, 0, 0, 0) 9.75rem);
  content: ''; }

.home-slider {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  margin: 0;
  z-index: 1; }
  .home-slider .wp-block-image {
    display: block !important;
    padding: 0 !important;
    margin-bottom: 0; }
    .home-slider .wp-block-image img {
      height: calc(20rem + 17.5 * (100vw - 20rem) / 55);
      object-fit: cover;
      animation-duration: 6s;
      animation-fill-mode: forwards;
      animation-timing-function: linear; }
      @media (min-width: 75rem) {
        .home-slider .wp-block-image img {
          height: 37.5rem; } }
  .home-slider .slick-slide:nth-child(1) img {
    transform: scale(1.2) translateX(1%) translateY(1%); }
  .home-slider .slick-current:nth-child(1) img {
    animation-name: zoom-in-1; }
  .home-slider .slick-slide:nth-child(2) img {
    transform: scale(1.2) translateX(-1%) translateY(1%); }
  .home-slider .slick-current:nth-child(2) img {
    animation-name: zoom-in-2; }
  .home-slider .slick-slide:nth-child(3) img {
    transform: scale(1.2) translateX(1%) translateY(-1%); }
  .home-slider .slick-current:nth-child(3) img {
    animation-name: zoom-in-3; }
  .home-slider .slick-slide:nth-child(4) img {
    transform: scale(1.2) translateX(-1%) translateY(-1%); }
  .home-slider .slick-current:nth-child(4) img {
    animation-name: zoom-in-4; }

#home .wp-block-cover {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  background-size: cover;
  height: calc(20rem + 3.75 * (100vw - 20rem) / 42.5); }
  @media (min-width: 62.5rem) {
    #home .wp-block-cover {
      height: 23.75rem; } }
  #home .wp-block-cover h2 {
    font-weight: normal;
    font-size: calc(2rem + 1.375 * (100vw - 20rem) / 42.5);
    line-height: calc(2.437rem + 0.812 * (100vw - 20rem) / 42.5); }
    @media (min-width: 62.5rem) {
      #home .wp-block-cover h2 {
        font-size: 3.375rem; } }
    @media (min-width: 62.5rem) {
      #home .wp-block-cover h2 {
        line-height: 3.25rem; } }

#contact .wp-block-column:first-child > .has-background:first-child {
  position: relative; }
  #contact .wp-block-column:first-child > .has-background:first-child:before {
    position: absolute;
    z-index: 1;
    background: url(assets/img/texture-y.svg);
    background-size: 140px;
    content: '';
    z-index: -1;
    bottom: rem(2.8888);
    left: rem(-2.8888);
    width: rem(2.8888);
    height: rem(7.222); }

.has-black-base-color {
  color: #000000;
  /*!export*/ }
  .is-style-outline .has-black-base-color {
    border-color: #000000; }

.has-black-base-background-color {
  background-color: #000000; }

.has-blue-dark-color {
  color: #022747;
  /*!export*/ }
  .is-style-outline .has-blue-dark-color {
    border-color: #022747; }

.has-blue-dark-background-color {
  background-color: #022747; }

.has-blue-base-color {
  color: #6D9AAD;
  /*!export*/ }
  .is-style-outline .has-blue-base-color {
    border-color: #6D9AAD; }

.has-blue-base-background-color {
  background-color: #6D9AAD; }

.has-gray-dark-color {
  color: #AAAAAA;
  /*!export*/ }
  .is-style-outline .has-gray-dark-color {
    border-color: #AAAAAA; }

.has-gray-dark-background-color {
  background-color: #AAAAAA; }

.has-gray-base-color {
  color: #CCCCCC;
  /*!export*/ }
  .is-style-outline .has-gray-base-color {
    border-color: #CCCCCC; }

.has-gray-base-background-color {
  background-color: #CCCCCC; }

.has-gray-light-color {
  color: #EAEAEA;
  /*!export*/ }
  .is-style-outline .has-gray-light-color {
    border-color: #EAEAEA; }

.has-gray-light-background-color {
  background-color: #EAEAEA; }

.has-white-base-color {
  color: #ffffff;
  /*!export*/ }
  .is-style-outline .has-white-base-color {
    border-color: #ffffff; }

.has-white-base-background-color {
  background-color: #ffffff; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJsaWIvcG1iL19sYXlvdXQuc2NzcyIsIl9jb25maWcuc2NzcyIsImxpYi9icmVha3BvaW50L19icmVha3BvaW50LnNjc3MiLCJibG9ja3MvX2NvbHVtbnMuc2NzcyIsImxpYi9wbWIvX3BtYi5zY3NzIiwibW9kdWxlL19odG1sLWVsZW1lbnRzLnNjc3MiLCJsaWIvcG1iL19mb250cy5zY3NzIiwiYmxvY2tzL19sYXlvdXQuc2NzcyIsImJsb2Nrcy9fZ3JvdXAuc2NzcyIsImJsb2Nrcy9fYWxpZ24uc2NzcyIsImJsb2Nrcy9faW1hZ2Uuc2NzcyIsImJsb2Nrcy9fZ2FsbGVyeS5zY3NzIiwiYmxvY2tzL19jb3Zlci5zY3NzIiwiYmxvY2tzL19nZXR3aWQtc2xpZGVyLnNjc3MiLCJibG9ja3MvX2dldHdpZC1pbWFnZS1ib3guc2NzcyIsIm1vZHVsZS9fc2xpY2suc2NzcyIsIm1vZHVsZS9fc2xpY2stdGhlbWUuc2NzcyIsIm1vZHVsZS9fc2xpY2stbGlnaHRib3guc2NzcyIsIm1vZHVsZS9fc2l0ZS1oZWFkZXIuc2NzcyIsIm1vZHVsZS9fc2l0ZS1mb290ZXIuc2NzcyIsIm1vZHVsZS9fZW50cnkuc2NzcyIsIm1vZHVsZS9fcGFnZS5zY3NzIiwibW9kdWxlL19ob21lLnNjc3MiLCJtb2R1bGUvX2NvbnRhY3Quc2NzcyIsIl9taXhpbnMuc2NzcyIsImxpYi9wbWIvX2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7OztDREtDO0FFSEQ7Ozs7RUZRRTtBQ0VGLGdEQUFBO0FBRUE7O0VBRUksV0FBVztFQUNYLFdBQVc7RUFDWCxjQUFjLEVBQUE7O0FBSWxCLGdEQUFBO0FBRUE7O0VBRUksNEJBQTRCLEVBQUE7O0FBSWhDLGdEQUFBO0FBRUE7RUFDSSxTQUFTO0VBQ1QsOEJBQThCO0VBQzlCLDZCQUE2QjtFQUM3QixxQkFBcUI7RUFDckIsaUJBQVc7RUFDWCxrQkFBWTtF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Q0kscUJ4Qm5CaUIsRUFBQTs7QXdCdUJ6QjtFQUNJLHlCeEJ4QnFCLEVBQUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG5UaGVtZSBOYW1lOiBTdC1Ob3JiZXJ0XG5UZXh0IERvbWFpbjogc3Rub3JiZXJ0XG5WZXJzaW9uOiAxLjBcbiovXG4vKipcbiAqIFBNQiBMYXlvdXRcbiAqXG4gKiBEZWZpbmUgbGF5b3V0cywgYW5kIGhhdmUgZnVuXG4gKi9cbi8qIENsZWFyaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ncm91cDo6YWZ0ZXIsXG4uZW50cnktY29udGVudDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogQmFzZSBUcmFuc2l0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYSxcbnBhdGgge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyOyB9XG5cbi8qIFNjcmVlbiBSZWFkZXIgVGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHJpZ2h0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbi8qIFNraXAgTGluayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5za2lwLWxpbmsge1xuICBsZWZ0OiAtOTk5OXJlbTtcbiAgdG9wOiAyLjVyZW07XG4gIHotaW5kZXg6IDk5OTk5OTk5OTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNraXAtbGluazpmb2N1cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiA2cHg7XG4gIHRvcDogN3B4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHotaW5kZXg6IDEwMDAwMDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLyogQWNjZXNzaWJpbGl0eSBTZXR0aW5ncyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIDIuIEVsZW1lbnQgQmFzZVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgMy4gSGVscGVyIENsYXNzZXNcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMYXlvdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzgycHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7IH0gfVxuXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5uby1wYWRkaW5nIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2NyZWVuLWhlaWdodCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi5hZG1pbi1iYXIgLnNjcmVlbi1oZWlnaHQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4gIC5hZG1pbi1iYXIgLnNjcmVlbi1oZWlnaHQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0NnB4KTsgfSB9XG5cbi5zY3JlZW4td2lkdGgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4vKiBIaWRpbmcgYW5kIFNob3dpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uanMgLnNob3ctanMge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5qcyAuaGlkZS1qcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubm8tanMgLnNob3ctbm8tanMge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5uby1qcyAuaGlkZS1uby1qcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBUeXBvZ3JhcGh5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZm9udC1zaXplLXhsIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07IH1cblxuLmZvbnQtc2l6ZS14cyB7XG4gIGZvbnQtc2l6ZTogMC44ZW07IH1cblxuLm5vLXNlbGVjdCB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vKiBDb2xvcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDT0xPUiAqL1xuLmNvbG9yLWFjY2VudCxcbi5jb2xvci1hY2NlbnQtaG92ZXI6Zm9jdXMsXG4uY29sb3ItYWNjZW50LWhvdmVyOmhvdmVyIHtcbiAgY29sb3I6ICNjZDI2NTM7IH1cblxuLyogQkFDS0dST1VORCBDT0xPUiAqL1xuLmJnLWFjY2VudCxcbi5iZy1hY2NlbnQtaG92ZXI6Zm9jdXMsXG4uYmctYWNjZW50LWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkMjY1MzsgfVxuXG4vKiBCT1JERVIgQ09MT1IgKi9cbi5ib3JkZXItY29sb3ItYWNjZW50LFxuLmJvcmRlci1jb2xvci1hY2NlbnQtaG92ZXI6Zm9jdXMsXG4uYm9yZGVyLWNvbG9yLWFjY2VudC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2NkMjY1MzsgfVxuXG4vKiBGSUxMIENPTE9SICovXG4uZmlsbC1jaGlsZHJlbi1hY2NlbnQsXG4uZmlsbC1jaGlsZHJlbi1hY2NlbnQgKiB7XG4gIGZpbGw6ICNjZDI2NTM7IH1cblxuLmZpbGwtY2hpbGRyZW4tY3VycmVudC1jb2xvcixcbi5maWxsLWNoaWxkcmVuLWN1cnJlbnQtY29sb3IgKiB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuXG4vKiBPcGFjaXR5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ub3BhY2l0eS0wIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ub3BhY2l0eS01IHtcbiAgb3BhY2l0eTogMC4wNTsgfVxuXG4ub3BhY2l0eS0xMCB7XG4gIG9wYWNpdHk6IDAuMTsgfVxuXG4ub3BhY2l0eS0xNSB7XG4gIG9wYWNpdHk6IDAuMTU7IH1cblxuLm9wYWNpdHktMjAge1xuICBvcGFjaXR5OiAwLjI7IH1cblxuLm9wYWNpdHktMjUge1xuICBvcGFjaXR5OiAwLjI1OyB9XG5cbi5vcGFjaXR5LTMwIHtcbiAgb3BhY2l0eTogMC4zOyB9XG5cbi5vcGFjaXR5LTM1IHtcbiAgb3BhY2l0eTogMC4zNTsgfVxuXG4ub3BhY2l0eS00MCB7XG4gIG9wYWNpdHk6IDAuNDsgfVxuXG4ub3BhY2l0eS00NSB7XG4gIG9wYWNpdHk6IDAuNDU7IH1cblxuLm9wYWNpdHktNTAge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLm9wYWNpdHktNTUge1xuICBvcGFjaXR5OiAwLjU1OyB9XG5cbi5vcGFjaXR5LTYwIHtcbiAgb3BhY2l0eTogMC42OyB9XG5cbi5vcGFjaXR5LTY1IHtcbiAgb3BhY2l0eTogMC42NTsgfVxuXG4ub3BhY2l0eS03MCB7XG4gIG9wYWNpdHk6IDAuNzsgfVxuXG4ub3BhY2l0eS03NSB7XG4gIG9wYWNpdHk6IDAuNzU7IH1cblxuLm9wYWNpdHktODAge1xuICBvcGFjaXR5OiAwLjg7IH1cblxuLm9wYWNpdHktODUge1xuICBvcGFjaXR5OiAwLjg1OyB9XG5cbi5vcGFjaXR5LTkwIHtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5vcGFjaXR5LTk1IHtcbiAgb3BhY2l0eTogMC45NTsgfVxuXG4ub3BhY2l0eS0xMDAge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5ibGVuZC1tb2RlLWV4Y2x1c2lvbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cblxuLmJsZW5kLW1vZGUtaHVlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGh1ZTsgfVxuXG4uYmxlbmQtbW9kZS1zYXR1cmF0aW9uIHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cblxuLmJsZW5kLW1vZGUtY29sb3Ige1xuICBtaXgtYmxlbmQtbW9kZTogY29sb3I7IH1cblxuLmJsZW5kLW1vZGUtbHVtaW5vc2l0eSB7XG4gIG1peC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cbi8qIEltYWdlIENsYXNzZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5iZy1pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uYmctYXR0YWNobWVudC1maXhlZCB7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7IH1cblxuQHN1cHBvcnRzICgtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2gpIHtcbiAgLmJnLWF0dGFjaG1lbnQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9IH1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmJnLWF0dGFjaG1lbnQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9IH1cblxuLndwLWJsb2NrLWltYWdlLmlzLXJlc2l6ZWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qIFNlYXJjaCBGb3JtIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWFyY2gtZm9ybSB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgbWFyZ2luOiAwIDAgLTAuOHJlbSAtMC44cmVtOyB9XG5cbi5zZWFyY2gtZm9ybSAuc2VhcmNoLWZpZWxkLFxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0IHtcbiAgbWFyZ2luOiAwIDAgMC44cmVtIDAuOHJlbTsgfVxuXG4uc2VhcmNoLWZvcm0gbGFiZWwge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWFyY2gtZm9ybSAuc2VhcmNoLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0IHtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0OmZvY3VzLFxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0OmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIFNvY2lhbCBJY29ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnVsLnNvY2lhbC1pY29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMC45cmVtIDAgMCAtMC45cmVtO1xuICB3aWR0aDogY2FsYygxMDAlICsgMC45cmVtKTsgfVxuXG51bC5zb2NpYWwtaWNvbnMgbGkge1xuICBtYXJnaW46IDAuOXJlbSAwIDAgMC45cmVtOyB9XG5cbi5zb2NpYWwtaWNvbnMgYSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNDBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogNDBweDsgfVxuXG4uc29jaWFsLWljb25zIGE6Zm9jdXMsXG4uc29jaWFsLWljb25zIGE6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBDb3ZlciBNb2RhbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY292ZXItbW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTsgfVxuXG4uY292ZXItbW9kYWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jb3Zlci1tb2RhbC5zaG93LW1vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uY292ZXItbW9kYWwuc2hvdy1tb2RhbCA+ICoge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyogSGVhZGVyIFRpdGxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlYWRlci10aXRsZXMtd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwIDRyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5ib2R5Om5vdCguZW5hYmxlLXNlYXJjaC1tb2RhbCkgLmhlYWRlci10aXRsZXMtd3JhcHBlciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zaXRlLXRpdGxlLFxuLnNpdGUtbG9nbyxcbi5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zaXRlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5zaXRlLXRpdGxlIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc2l0ZS10aXRsZSBhOmhvdmVyLFxuLnNpdGUtdGl0bGUgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5zaXRlLWxvZ28gYSxcbi5zaXRlLWxvZ28gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhlYWRlci10aXRsZXMgLnNpdGUtbG9nbyAuc2l0ZS1sb2dvIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zaXRlLWxvZ28gaW1nIHtcbiAgbWF4LWhlaWdodDogNnJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiBhdXRvOyB9XG5cbmJvZHk6bm90KC5lbmFibGUtc2VhcmNoLW1vZGFsKSAuc2l0ZS1sb2dvIGltZyB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBPdmVybGF5IEhlYWRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ub3ZlcmxheS1oZWFkZXIgI3NpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyOyB9XG5cbi5vdmVybGF5LWhlYWRlciAuaGVhZGVyLWlubmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLm92ZXJsYXktaGVhZGVyIC5zaXRlLWRlc2NyaXB0aW9uLFxuLm92ZXJsYXktaGVhZGVyIC50b2dnbGUge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ub3ZlcmxheS1oZWFkZXIgLmhlYWRlci1pbm5lciAudG9nZ2xlLXdyYXBwZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3BhY2l0eTogMC4yNTsgfVxuXG4uYWRtaW4tYmFyLm92ZXJsYXktaGVhZGVyICNzaXRlLWhlYWRlciB7XG4gIHRvcDogMzJweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcbiAgLmFkbWluLWJhci5vdmVybGF5LWhlYWRlciAjc2l0ZS1oZWFkZXIge1xuICAgIHRvcDogNDZweDsgfSB9XG5cbi8qIEhlYWRlciBOYXZpZ2F0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oZWFkZXItbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBQcmltYXJ5IE1lbnUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnByaW1hcnktbWVudSAuaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDAuN3JlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgd2lkdGg6IDEuM3JlbTsgfVxuXG4ucHJpbWFyeS1tZW51IC5pY29uOjpiZWZvcmUsXG4ucHJpbWFyeS1tZW51IC5pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiBjYWxjKDUwJSAtIDAuMXJlbSk7XG4gIGxlZnQ6IDA7IH1cblxuLnByaW1hcnktbWVudSAuaWNvbjo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAwLjlyZW07XG4gIHdpZHRoOiAwLjJyZW07IH1cblxuLnByaW1hcnktbWVudSAuaWNvbjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuMnJlbTtcbiAgd2lkdGg6IDAuOXJlbTsgfVxuXG4ucHJpbWFyeS1tZW51IGxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnByaW1hcnktbWVudSA+IGxpIHtcbiAgbWFyZ2luOiAwLjhyZW0gMCAwIDEuNnJlbTsgfVxuXG4ucHJpbWFyeS1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG5cbi5wcmltYXJ5LW1lbnUgPiBsaSA+IC5pY29uIHtcbiAgcmlnaHQ6IC0wLjVyZW07XG4gIHRvcDogY2FsYyg1MCUgLSAwLjRyZW0pOyB9XG5cbi5wcmltYXJ5LW1lbnUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsOyB9XG5cbi5wcmltYXJ5LW1lbnUgYTpob3Zlcixcbi5wcmltYXJ5LW1lbnUgYTpmb2N1cyxcbi5wcmltYXJ5LW1lbnUgLmN1cnJlbnRfcGFnZV9hbmNlc3RvciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIFNVQiBNRU5VICovXG4ucHJpbWFyeS1tZW51IHVsIHVsIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOTk5OXJlbTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDBzIDAuMTVzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC42cmVtKTtcbiAgd2lkdGg6IDIwcmVtO1xuICB6LWluZGV4OiAxOyB9XG5cbi5wcmltYXJ5LW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IHVsLFxuLnByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzID4gdWwsXG4ucHJpbWFyeS1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uZm9jdXMgPiB1bCB7XG4gIHJpZ2h0OiAwO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG5cbi5wcmltYXJ5LW1lbnUgdWw6OmJlZm9yZSxcbi5wcmltYXJ5LW1lbnUgdWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDAlOyB9XG5cbi5wcmltYXJ5LW1lbnUgdWw6OmJlZm9yZSB7XG4gIGhlaWdodDogMnJlbTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnByaW1hcnktbWVudSB1bDo6YWZ0ZXIge1xuICBib3JkZXI6IDAuOHJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbiAgcmlnaHQ6IDEuOHJlbTsgfVxuXG4ucHJpbWFyeS1tZW51IHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgcGFkZGluZy1yaWdodDogNC41cmVtOyB9XG5cbi5wcmltYXJ5LW1lbnUgdWwgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEuNXJlbTtcbiAgdG9wOiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cblxuLyogREVFUCBET1dOICovXG4ucHJpbWFyeS1tZW51IHVsIHVsIHtcbiAgdG9wOiAtMXJlbTsgfVxuXG4ucHJpbWFyeS1tZW51IHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiB1bCxcbi5wcmltYXJ5LW1lbnUgdWwgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyA+IHVsLFxuLnByaW1hcnktbWVudSB1bCBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmZvY3VzID4gdWwge1xuICByaWdodDogY2FsYygxMDAlICsgMnJlbSk7IH1cblxuLnByaW1hcnktbWVudSB1bCB1bDo6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMnJlbTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMnJlbTsgfVxuXG4ucHJpbWFyeS1tZW51IHVsIHVsOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKnJ0bDppZ25vcmUqL1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogLTEuNnJlbTtcbiAgdG9wOiAycmVtOyB9XG5cbi5ydGwgLnByaW1hcnktbWVudSB1bCB1bDo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi8qXG4gKiBFbmFibGUgbmF2IHN1Ym1lbnUgZXhwYW5zaW9uIHdpdGggdGFwcGluZyBvbiBhcnJvd3Mgb24gbGFyZ2Utdmlld3BvcnRcbiAqIHRvdWNoIGludGVyZmFjZXMgKGUuZy4gdGFibGV0cyBvciBsYXB0b3BzIHdpdGggdG91Y2ggc2NyZWVucykuXG4gKiBUaGVzZSBydWxlcyBhcmUgc3VwcG9ydGVkIGJ5IGFsbCBicm93c2VycyAoPklFMTEpIGFuZCB3aGVuIEpTIGlzIGRpc2FibGVkLlxuICovXG5AbWVkaWEgKGFueS1wb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnByaW1hcnktbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAucHJpbWFyeS1tZW51IHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiB1bnNldDsgfSB9XG5cbi8qIFJlcGVhdCBwcmV2aW91cyBydWxlcyBmb3IgSUUxMSAod2hlbiBKUyBlbmFibGVkIGZvciBwb2x5ZmlsbCkuICovXG5ib2R5LnRvdWNoLWVuYWJsZWQgLnByaW1hcnktbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG5cbmJvZHkudG91Y2gtZW5hYmxlZCAucHJpbWFyeS1tZW51IHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0LjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiB1bnNldDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIDYuIFNlYXJjaCBNb2RhbFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWFyY2gtbW9kYWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtOTk5OXJlbTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyLCBsZWZ0IDBzIDAuMnMgbGluZWFyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OyB9XG5cbi5hZG1pbi1iYXIgLnNlYXJjaC1tb2RhbC5hY3RpdmUge1xuICB0b3A6IDMycHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4gIC5hZG1pbi1iYXIgLnNlYXJjaC1tb2RhbC5hY3RpdmUge1xuICAgIHRvcDogNDZweDsgfSB9XG5cbi5zZWFyY2gtbW9kYWwtaW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCBib3gtc2hhZG93IDAuMTVzIGxpbmVhcjsgfVxuXG4uc2VhcmNoLW1vZGFsLWlubmVyIC5zZWN0aW9uLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXgtd2lkdGg6IDE2OHJlbTsgfVxuXG4uc2VhcmNoLW1vZGFsLmFjdGl2ZSB7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7IH1cblxuLnNlYXJjaC1tb2RhbC5hY3RpdmUgLnNlYXJjaC1tb2RhbC1pbm5lciB7XG4gIGJveC1zaGFkb3c6IDAgMCAycmVtIDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xcyAwLjI1cyBsaW5lYXI7IH1cblxuYnV0dG9uLnNlYXJjaC11bnRvZ2dsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAtMi41cmVtO1xuICBwYWRkaW5nOiAwIDIuNXJlbTsgfVxuXG4uc2VhcmNoLW1vZGFsIGJ1dHRvbi5zZWFyY2gtdW50b2dnbGUge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uc2VhcmNoLW1vZGFsLmFjdGl2ZSAuc2VhcmNoLXVudG9nZ2xlIHtcbiAgYW5pbWF0aW9uOiBwb3BJbiBib3RoIDAuM3MgMC4yczsgfVxuXG4uc2VhcmNoLXVudG9nZ2xlIHN2ZyB7XG4gIGhlaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxLjVyZW07IH1cblxuLnNlYXJjaC11bnRvZ2dsZTpmb2N1cyBzdmcsXG4uc2VhcmNoLXVudG9nZ2xlOmhvdmVyIHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7IH1cblxuLyogTW9kYWwgU2VhcmNoIEZvcm0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlYXJjaC1tb2RhbCBmb3JtIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWFyY2gtbW9kYWwgLnNlYXJjaC1maWVsZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgaGVpZ2h0OiA4LjRyZW07XG4gIG1hcmdpbjogMCAwIDAgLTJyZW07XG4gIG1heC13aWR0aDogY2FsYygxMDAlICsgMnJlbSk7XG4gIHBhZGRpbmc6IDAgMCAwIDJyZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycmVtKTsgfVxuXG4uc2VhcmNoLW1vZGFsIC5zZWFyY2gtZmllbGQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uc2VhcmNoLW1vZGFsIC5zZWFyY2gtZmllbGQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLnNlYXJjaC1tb2RhbCAuc2VhcmNoLWZpZWxkOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiA0OyB9XG5cbi5zZWFyY2gtbW9kYWwgLnNlYXJjaC1zdWJtaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtOTk5OXJlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc2VhcmNoLW1vZGFsIC5zZWFyY2gtc3VibWl0OmZvY3VzIHtcbiAgcmlnaHQ6IDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICA3YS4gVGVtcGxhdGU6IENvdmVyIFRlbXBsYXRlXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvdmVyLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNvdmVyLWhlYWRlci1pbm5lci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY292ZXItaGVhZGVyLWlubmVyIHtcbiAgcGFkZGluZzogMTByZW0gMCA1cmVtIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb3Zlci1jb2xvci1vdmVybGF5LFxuLmNvdmVyLWNvbG9yLW92ZXJsYXk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi5jb3Zlci1jb2xvci1vdmVybGF5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb3Zlci1oZWFkZXIgLmVudHJ5LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cblxuLmNvdmVyLWhlYWRlciAuZW50cnktaGVhZGVyICoge1xuICBjb2xvcjogI2ZmZjsgfVxuXG5ib2R5LnRlbXBsYXRlLWNvdmVyIC5lbnRyeS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDsgfVxuXG4uY292ZXItaGVhZGVyIGgxLFxuLmNvdmVyLWhlYWRlciBoMixcbi5jb3Zlci1oZWFkZXIgaDMsXG4uY292ZXItaGVhZGVyIGg0LFxuLmNvdmVyLWhlYWRlciBoNSxcbi5jb3Zlci1oZWFkZXIgaDYsXG4uY292ZXItaGVhZGVyIC5mYXV4LWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uY292ZXItaGVhZGVyIC5lbnRyeS1oZWFkZXIgYSB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qIFRvIFRoZSBDb250ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50by10aGUtY29udGVudC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjVyZW0pOyB9XG5cbi50by10aGUtY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDRyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udG8tdGhlLWNvbnRlbnQgc3ZnIHtcbiAgaGVpZ2h0OiAycmVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHdpZHRoOiAxLjc2N3JlbTsgfVxuXG4udG8tdGhlLWNvbnRlbnQ6Zm9jdXMgc3ZnLFxuLnRvLXRoZS1jb250ZW50OmhvdmVyIHN2ZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMCUpOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgN2MuIFRlbXBsYXRlOiBGdWxsIFdpZHRoXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50ID4gKjpub3QoLmFsaWdud2lkZSk6bm90KC5hbGlnbmZ1bGwpOm5vdCguYWxpZ25sZWZ0KTpub3QoLmFsaWducmlnaHQpOm5vdCguaXMtc3R5bGUtd2lkZSksXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gKjpub3QoLmFsaWdud2lkZSk6bm90KC5hbGlnbmZ1bGwpOm5vdCguYWxpZ25sZWZ0KTpub3QoLmFsaWducmlnaHQpOm5vdCguaXMtc3R5bGUtd2lkZSkge1xuICBtYXgtd2lkdGg6IDEyMHJlbTsgfVxuXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCxcbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCAuZW50cnktY29udGVudCAuYWxpZ25yaWdodCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50IC5hbGlnbmxlZnQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWdud2lkZSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAuYWxpZ25sZWZ0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbndpZGUgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gcCAuYWxpZ25sZWZ0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbndpZGUgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gLndwLWJsb2NrLWltYWdlIC5hbGlnbmxlZnQge1xuICAvKnJ0bDppZ25vcmUqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgPiAuYWxpZ25sZWZ0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbmZ1bGw6bm90KC5oYXMtYmFja2dyb3VuZCkgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gLmFsaWdubGVmdCxcbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCBbY2xhc3MqPVwid3AtYmxvY2tcIl0uYWxpZ25mdWxsOm5vdCguaGFzLWJhY2tncm91bmQpIFtjbGFzcyo9XCJfX2lubmVyLWNvbnRhaW5lclwiXSA+IHAgLmFsaWdubGVmdCxcbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCBbY2xhc3MqPVwid3AtYmxvY2tcIl0uYWxpZ25mdWxsOm5vdCguaGFzLWJhY2tncm91bmQpIFtjbGFzcyo9XCJfX2lubmVyLWNvbnRhaW5lclwiXSA+IC53cC1ibG9jay1pbWFnZSAuYWxpZ25sZWZ0IHtcbiAgLypydGw6aWdub3JlKi9cbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50IC5hbGlnbnJpZ2h0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbndpZGUgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gLmFsaWducmlnaHQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWdud2lkZSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiBwIC5hbGlnbnJpZ2h0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbndpZGUgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gLndwLWJsb2NrLWltYWdlIC5hbGlnbnJpZ2h0IHtcbiAgLypydGw6aWdub3JlKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCAuZW50cnktY29udGVudCA+IC5hbGlnbnJpZ2h0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbmZ1bGw6bm90KC5oYXMtYmFja2dyb3VuZCkgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gLmFsaWducmlnaHQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWduZnVsbDpub3QoLmhhcy1iYWNrZ3JvdW5kKSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiBwIC5hbGlnbnJpZ2h0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbmZ1bGw6bm90KC5oYXMtYmFja2dyb3VuZCkgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gLndwLWJsb2NrLWltYWdlIC5hbGlnbnJpZ2h0IHtcbiAgLypydGw6aWdub3JlKi9cbiAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgOC4gUG9zdDogQXJjaGl2ZVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFyY2hpdmUgSGVhZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hcmNoaXZlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDRyZW0gMDsgfVxuXG4ucmVkdWNlZC1zcGFjaW5nIC5hcmNoaXZlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG5cbi5hcmNoaXZlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uYXJjaGl2ZS1zdWJ0aXRsZSBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFBvc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHk6bm90KC5zaW5ndWxhcikgbWFpbiA+IGFydGljbGU6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmc6IDRyZW0gMCAwOyB9XG5cbi8qIFNlYXJjaCBSZXN1bHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uby1zZWFyY2gtcmVzdWx0cy1mb3JtIHtcbiAgcGFkZGluZy10b3A6IDVyZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICA5LiBQb3N0OiBTaW5nbGVcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3N0IEhlYWRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktY2F0ZWdvcmllcyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5lbnRyeS1jYXRlZ29yaWVzLWlubmVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMC41cmVtIDAgMCAtMXJlbTsgfVxuXG4uZW50cnktY2F0ZWdvcmllcyBhIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4xNXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAuNXJlbSAwIDAgMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5lbnRyeS1jYXRlZ29yaWVzIGE6Zm9jdXMsXG4uZW50cnktY2F0ZWdvcmllcyBhOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmVudHJ5LXRpdGxlIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5lbnRyeS10aXRsZSBhOmZvY3VzLFxuLmVudHJ5LXRpdGxlIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uaW50cm8tdGV4dCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLnNpbmd1bGFyIC5pbnRyby10ZXh0IHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi8qIFBPU1QgTUVUQSAqL1xuLnBvc3QtbWV0YS1zaW5nbGUtdG9wIC5wb3N0LW1ldGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucG9zdC1tZXRhLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDU4cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucG9zdC1tZXRhIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogLTFyZW0gMCAwIC0ycmVtOyB9XG5cbi5wb3N0LW1ldGEgbGkge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luOiAxcmVtIDAgMCAycmVtO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG5cbi5wb3N0LW1ldGEgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnBvc3QtbWV0YSBhOmZvY3VzLFxuLnBvc3QtbWV0YSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnBvc3QtbWV0YSAubWV0YS13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLnBvc3QtbWV0YSAubWV0YS1pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uc3RpY2t5IC5wb3N0LXN0aWNreSB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5wb3N0LW1ldGEgLnBvc3QtYXV0aG9yIC5tZXRhLWljb24gc3ZnIHtcbiAgd2lkdGg6IDEuNnJlbTtcbiAgaGVpZ2h0OiAxLjhyZW07IH1cblxuLnBvc3QtbWV0YSAucG9zdC1jYXRlZ29yaWVzIC5tZXRhLWljb24gc3ZnIHtcbiAgd2lkdGg6IDEuOHJlbTtcbiAgaGVpZ2h0OiAxLjdyZW07IH1cblxuLnBvc3QtbWV0YSAucG9zdC1jb21tZW50LWxpbmsgLm1ldGEtaWNvbiBzdmcge1xuICB3aWR0aDogMS44cmVtO1xuICBoZWlnaHQ6IDEuOHJlbTsgfVxuXG4ucG9zdC1tZXRhIC5wb3N0LWRhdGUgLm1ldGEtaWNvbiBzdmcge1xuICB3aWR0aDogMS43cmVtO1xuICBoZWlnaHQ6IDEuOHJlbTsgfVxuXG4ucG9zdC1tZXRhIC5wb3N0LWVkaXQgLm1ldGEtaWNvbiBzdmcge1xuICB3aWR0aDogMS44cmVtO1xuICBoZWlnaHQ6IDEuOHJlbTsgfVxuXG4ucG9zdC1tZXRhIC5wb3N0LXN0aWNreSAubWV0YS1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS44cmVtOyB9XG5cbi5wb3N0LW1ldGEgLnBvc3QtdGFncyAubWV0YS1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjhyZW07XG4gIGhlaWdodDogMS44cmVtOyB9XG5cbi5wb3N0LW1ldGEgc3ZnICoge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLyogRmVhdHVyZWQgTWVkaWEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZlYXR1cmVkLW1lZGlhIHtcbiAgbWFyZ2luLXRvcDogNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zaW5ndWxhciAuZmVhdHVyZWQtbWVkaWEge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5zaW5ndWxhciAuZmVhdHVyZWQtbWVkaWEtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uc2luZ3VsYXIgLmZlYXR1cmVkLW1lZGlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDUwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uZmVhdHVyZWQtbWVkaWEgaW1nIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZlYXR1cmVkLW1lZGlhIGZpZ2NhcHRpb24ge1xuICBtYXJnaW46IDEuNXJlbSBhdXRvIDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNXJlbSk7IH1cblxuLnJlZHVjZWQtc3BhY2luZy5taXNzaW5nLXBvc3QtdGh1bWJuYWlsIC5wb3N0LWlubmVyIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLyogUG9zdCBGb290ZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUE9TVCBOQVYgTElOS1MgKi9cbi5wb3N0LW5hdi1saW5rcyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogM2VtIGF1dG8gMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gIG1heC13aWR0aDogNThyZW07IH1cblxuLnBvc3QtbmF2LWxpbmtzID4gc3Bhbi5sYWJlbCB7XG4gIHBhZGRpbmc6IDFlbSAwOyB9XG5cbi5wb3N0LW5hdi1saW5rcyA+ICoge1xuICBwYWRkaW5nOiAxZW0gMC43NWVtOyB9XG5cbi8qIFBPU1QgTUVUQSBCT1RUT00gKi9cbi5wb3N0LW1ldGEtd3JhcHBlci5wb3N0LW1ldGEtc2luZ2xlLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLyogQXV0aG9yIEJpbyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmF1dGhvci1iaW8ge1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDU4cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaGlkZS1hdmF0YXJzIC5hdXRob3ItYmlvIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5hdXRob3ItYmlvIC5hdXRob3ItdGl0bGUtd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuXG4uYXV0aG9yLWJpbyAuYXZhdGFyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgaGVpZ2h0OiA1cmVtO1xuICB3aWR0aDogNXJlbTsgfVxuXG4uaGlkZS1hdmF0YXJzIGltZy5hdmF0YXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdXRob3ItYmlvIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmF1dGhvci1iaW8gLmF1dGhvci10aXRsZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uYXV0aG9yLWJpbyAuYXV0aG9yLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hdXRob3ItYmlvIC5hdXRob3ItbGluazpmb2N1cyxcbi5hdXRob3ItYmlvIC5hdXRob3ItbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIFNpbmdsZSBQYWdpbmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYWdpbmF0aW9uLXNpbmdsZSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBtYXJnaW4tdG9wOiA1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNpbmdsZS1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnBhZ2luYXRpb24tc2luZ2xlIGhyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwIDAgMi44cmVtIDA7IH1cblxuLnBhZ2luYXRpb24tc2luZ2xlIGhyOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDIuOHJlbSAwIDAuOHJlbSAwOyB9XG5cbi5wYWdpbmF0aW9uLXNpbmdsZSBhIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZsZXg6IDE7IH1cblxuLnBhZ2luYXRpb24tc2luZ2xlIGEgKyBhIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1zaW5nbGUgYSAuYXJyb3cge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLnBhZ2luYXRpb24tc2luZ2xlIGE6Zm9jdXMgLnRpdGxlLFxuLnBhZ2luYXRpb24tc2luZ2xlIGE6aG92ZXIgLnRpdGxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAxMC4gQmxvY2tzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQmxvY2sgQ29sb3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhhcy10ZXh0LWNvbG9yIGEge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKiBDVVNUT00gQ09MT1JTICovXG46cm9vdCAuaGFzLWFjY2VudC1jb2xvciB7XG4gIGNvbG9yOiAjY2QyNjUzOyB9XG5cbjpyb290IC5oYXMtYWNjZW50LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2QyNjUzO1xuICBjb2xvcjogI2ZmZjsgfVxuXG46cm9vdCAuaGFzLXByaW1hcnktY29sb3Ige1xuICBjb2xvcjogIzAwMDsgfVxuXG46cm9vdCAuaGFzLXByaW1hcnktYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZjVlZmUwOyB9XG5cbjpyb290IC5oYXMtc2Vjb25kYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICM2ZDZkNmQ7IH1cblxuOnJvb3QgLmhhcy1zZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZDZkNmQ7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbjpyb290IC5oYXMtc3VidGxlLWJhY2tncm91bmQtY29sb3Ige1xuICBjb2xvcjogI2RjZDdjYTsgfVxuXG46cm9vdCAuaGFzLXN1YnRsZS1iYWNrZ3JvdW5kLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkN2NhO1xuICBjb2xvcjogIzAwMDsgfVxuXG46cm9vdCAuaGFzLWJhY2tncm91bmQtY29sb3Ige1xuICBjb2xvcjogI2Y1ZWZlMDsgfVxuXG46cm9vdCAuaGFzLWJhY2tncm91bmQtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWVmZTA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qIEJsb2NrIFR5cG9ncmFwaHkgQ2xhc3NlcyAtLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oYXMtdGV4dC1hbGlnbi1sZWZ0IHtcbiAgLypydGw6aWdub3JlKi9cbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uaGFzLXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5oYXMtdGV4dC1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5oYXMtZHJvcC1jYXA6bm90KDpmb2N1cyk6OmZpcnN0LWxldHRlciB7XG4gIGNvbG9yOiAjY2QyNjUzO1xuICBmb250LXNpemU6IDUuMWVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW46IDAuMDVlbSAwLjFlbSAwIDA7IH1cblxuLmhhcy1kcm9wLWNhcDpub3QoOmZvY3VzKTo6Zmlyc3QtbGV0dGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uaGFzLWRyb3AtY2FwOm5vdCg6Zm9jdXMpOjphZnRlciB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogQmxvY2sgRm9udCBTaXplcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LWNvbnRlbnQgLmhhcy1zbWFsbC1mb250LXNpemUge1xuICBmb250LXNpemU6IDAuODQyZW07IH1cblxuLmVudHJ5LWNvbnRlbnQgLmhhcy1ub3JtYWwtZm9udC1zaXplLFxuLmVudHJ5LWNvbnRlbnQgLmhhcy1yZWd1bGFyLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5lbnRyeS1jb250ZW50IC5oYXMtbWVkaXVtLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1OyB9XG5cbi5lbnRyeS1jb250ZW50IC5oYXMtbGFyZ2UtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLmVudHJ5LWNvbnRlbnQgLmhhcy1sYXJnZXItZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4vKiBCbG9jazogQmFzZSBNYXJnaW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCbG9jazogU2hhcmVkIFdpZGdldCBTdHlsZXMgLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtYmxvY2stYXJjaGl2ZXMsXG4ud3AtYmxvY2stY2F0ZWdvcmllcyxcbi53cC1ibG9jay1sYXRlc3QtcG9zdHMsXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLndwLWJsb2NrLWFyY2hpdmVzIHVsLFxuLndwLWJsb2NrLWNhdGVnb3JpZXMgdWwsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIHVsLFxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWFyY2hpdmVzID4gbGksXG4uZW50cnktY29udGVudCAud3AtYmxvY2stY2F0ZWdvcmllcyA+IGxpLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1wb3N0cyA+IGxpLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50ID4gbGkge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZW50cnktY29udGVudCAud3AtYmxvY2stYXJjaGl2ZXMgPiBsaTpsYXN0LWNoaWxkLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWNhdGVnb3JpZXMgPiBsaTpsYXN0LWNoaWxkLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1wb3N0cyA+IGxpOmxhc3QtY2hpbGQsXG4uZW50cnktY29udGVudCAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnQgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZW50cnktY29udGVudCAud3AtYmxvY2stYXJjaGl2ZXMgbGksXG4uZW50cnktY29udGVudCAud3AtYmxvY2stY2F0ZWdvcmllcyBsaSxcbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1sYXRlc3QtcG9zdHMgbGkge1xuICBjb2xvcjogIzZkNmQ2ZDsgfVxuXG4ud3AtYmxvY2stYXJjaGl2ZXMgYSxcbi53cC1ibG9jay1jYXRlZ29yaWVzIGEsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIGEsXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLndwLWJsb2NrLWFyY2hpdmVzIGE6aG92ZXIsXG4ud3AtYmxvY2stY2F0ZWdvcmllcyBhOmhvdmVyLFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cyBhOmhvdmVyLFxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyBhOmhvdmVyLFxuLndwLWJsb2NrLWFyY2hpdmVzIGE6Zm9jdXMsXG4ud3AtYmxvY2stY2F0ZWdvcmllcyBhOmZvY3VzLFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cyBhOmZvY3VzLFxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cyBhLFxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1tZXRhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1kYXRlLFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0c19fcG9zdC1kYXRlIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi10b3A6IDAuMTVlbTsgfVxuXG4vKiBCbG9jazogU2hhcmVkIE1lZGlhIFN0eWxlcyAtLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbixcbi53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLyogQmxvY2s6IEF1ZGlvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndwLWJsb2NrLWF1ZGlvIGF1ZGlvIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogQmxvY2s6IEJ1dHRvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndwLWJsb2NrLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOm5vdCguaGFzLXRleHQtY29sb3IpIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIHBhZGRpbmc6IGNhbGMoMS4xZW0gLSAwLjJyZW0pIGNhbGMoMS40NGVtIC0gMC4ycmVtKTsgfVxuXG4vKipcbiAqIEJsb2NrOiBDb2x1bW5zXG4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAud3AtYmxvY2stY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4ud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1ucyB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi53cC1ibG9jay1jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNXJsaCArIHN0cmlwKDAuNXJsaCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuNXJsaCArIHN0cmlwKDAuNXJsaCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEwcHgpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgIG1hcmdpbi10b3A6IDFybGg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmxoOyB9IH1cbiAgLndwLWJsb2NrLWNvbHVtbiA+IC53cC1ibG9jay1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAud3AtYmxvY2stY29sdW1uID4gLndwLWJsb2NrLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc4MnB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjBweCk7IH0gfVxuICAud3AtYmxvY2stY29sdW1uLmlzLXZlcnRpY2FsbHktYWxpZ25lZC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ud3AtYmxvY2stY29sdW1uID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLndwLWJsb2NrLWNvbHVtbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogQmxvY2s6IENvdmVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLFxuLndwLWJsb2NrLWNvdmVyIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuICBwYWRkaW5nOiAycmVtIDA7IH1cblxuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0LFxuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlci10ZXh0LFxuLndwLWJsb2NrLWNvdmVyLWltYWdlIGgyLFxuLndwLWJsb2NrLWNvdmVyIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0LFxuLndwLWJsb2NrLWNvdmVyIC53cC1ibG9jay1jb3Zlci10ZXh0LFxuLndwLWJsb2NrLWNvdmVyIGgyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwOyB9XG5cbi53cC1ibG9jay1jb3Zlci1pbWFnZSBoMixcbi53cC1ibG9jay1jb3ZlciBoMiB7XG4gIGZvbnQtc2l6ZTogMy4ycmVtOyB9XG5cbi8qIEJsb2NrOiBFbWJlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJsb2NrOiBGaWxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53cC1ibG9jay1maWxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLndwLWJsb2NrLWZpbGUgYTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbikge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLndwLWJsb2NrLWZpbGUgYTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbik6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4ud3AtYmxvY2stZmlsZSBhOm5vdCgud3AtYmxvY2stZmlsZV9fYnV0dG9uKTpmb2N1cyxcbi53cC1ibG9jay1maWxlIGE6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBwYWRkaW5nOiAxZW0gMS4yNWVtOyB9XG5cbi53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOnZpc2l0ZWQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOmFjdGl2ZSxcbi53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOmZvY3VzLFxuLndwLWJsb2NrLWZpbGUgYS53cC1ibG9jay1maWxlX19idXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBCbG9jazogR2FsbGVyeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtYmxvY2stZ2FsbGVyeSB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuZmlndXJlLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25ub25lLFxuZmlndXJlLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25jZW50ZXIge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmFsaWdubGVmdCB7XG4gIG1hcmdpbjogMC4zcmVtIDJyZW0gMnJlbSAwOyB9XG5cbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmFsaWducmlnaHQge1xuICBtYXJnaW46IDAuM3JlbSAwIDJyZW0gMnJlbTsgfVxuXG5maWd1cmUud3AtYmxvY2stZ2FsbGVyeS5hbGlnbndpZGUge1xuICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG5cbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmFsaWduZnVsbCB7XG4gIG1hcmdpbi1ib3R0b206IDVyZW07XG4gIG1hcmdpbi10b3A6IDVyZW07IH1cblxuLyogQmxvY2s6IEltYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQmxvY2s6IE1lZGlhIEFuZCBUZXh0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndwLWJsb2NrLW1lZGlhLXRleHQgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAzcmVtIDJyZW07IH1cblxuLndwLWJsb2NrLW1lZGlhLXRleHQgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQgcCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBCbG9jazogUHVsbHF1b3RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTVFlMRTogREVGQVVMVCAqL1xuLndwLWJsb2NrLXB1bGxxdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmFsaWdubGVmdCxcbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25yaWdodCB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogI2NkMjY1MztcbiAgY29udGVudDogXCLigJ1cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogNi4ycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDAgYXV0byAxLjVyZW0gYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDQuNHJlbTtcbiAgd2lkdGg6IDQuNHJlbTsgfVxuXG4ucmVkdWNlZC1zcGFjaW5nIC53cC1ibG9jay1wdWxscXVvdGU6OmJlZm9yZSB7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgZm9udC1zaXplOiA1LjlyZW07IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSBibG9ja3F1b3RlIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSBibG9ja3F1b3RlIHAge1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTc4NTcxNDI5O1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSBjaXRlIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiAxLjJyZW07IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmxlZnQgcCxcbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25yaWdodCBwIHtcbiAgZm9udC1zaXplOiAyLjhyZW07IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25sZWZ0OjpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmFsaWducmlnaHQ6OmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBTVFlMRTogU09MSUQgQkFDS0dST1VORCBDT0xPUiAqL1xuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciB7XG4gIHBhZGRpbmc6IDNyZW0gMnJlbTsgfVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yLmFsaWdubGVmdDo6YmVmb3JlLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvci5hbGlnbnJpZ2h0OjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvci5hbGlnbmxlZnQ6OmJlZm9yZSB7XG4gIGxlZnQ6IDJyZW07IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvci5hbGlnbnJpZ2h0OjpiZWZvcmUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMnJlbTsgfVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGJsb2NrcXVvdGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBjaXRlIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLyogQmxvY2s6IFNlcGFyYXRvciAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHIud3AtYmxvY2stc2VwYXJhdG9yIHtcbiAgbWFyZ2luOiAzcmVtIDA7IH1cblxuLyogU1RZTEU6IFdJREUgKi9cbi53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtd2lkZSB7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDRyZW0pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFNUWUxFOiBET1RTICovXG4ud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRvdHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDMuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdHJhbnNmb3JtOiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4ud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRvdHM6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4vKiBCbG9jazogU2VhcmNoIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtYmxvY2stc2VhcmNoIC53cC1ibG9jay1zZWFyY2hfX2lucHV0IHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLyogQmxvY2s6IFRhYmxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kOiAjZGNkN2NhOyB9XG5cbmZpZ3VyZS53cC1ibG9jay10YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ud3AtYmxvY2stdGFibGUuaXMtc3R5bGUtc3RyaXBlcyB0YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogaW5oZXJpdDsgfVxuXG4vKiBCbG9jazogUXVvdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtYmxvY2stcXVvdGUgcCxcbi53cC1ibG9jay1xdW90ZSBjaXRlIHtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgfVxuXG4ud3AtYmxvY2stcXVvdGVbc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlclwiXSB7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ud3AtYmxvY2stcXVvdGVbc3R5bGU9XCJ0ZXh0LWFsaWduOnJpZ2h0XCJdIHtcbiAgLypydGw6YmVnaW46aWdub3JlKi9cbiAgYm9yZGVyLXdpZHRoOiAwIDAuMnJlbSAwIDA7XG4gIHBhZGRpbmc6IDAgMnJlbSAwIDA7XG4gIC8qcnRsOmVuZDppZ25vcmUqLyB9XG5cbi8qIFNUWUxFOiBMQVJHRSAqL1xuLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlLFxuLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi53cC1ibG9jay1xdW90ZS5pcy1sYXJnZSBwLFxuLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlIHAge1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4yODU7IH1cblxuLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlIGNpdGUsXG4ud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UgZm9vdGVyLFxuLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlIGNpdGUsXG4ud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UgZm9vdGVyIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cblxuLyogQmxvY2s6IFdpZGdldCBMYXRlc3QgQ29tbWVudHMgLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyBsaSB7XG4gIG1hcmdpbjogMnJlbSAwOyB9XG5cbi5oYXMtYXZhdGFycyAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtZXhjZXJwdCxcbi5oYXMtYXZhdGFycyAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtbWV0YSB7XG4gIG1hcmdpbi1sZWZ0OiA1LjVyZW07IH1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHMgYTpob3Zlcixcbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHMgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1kYXRlIHtcbiAgbWFyZ2luLXRvcDogMC40ZW07IH1cblxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1leGNlcnB0IHAge1xuICBmb250LXNpemU6IDAuN2VtO1xuICBtYXJnaW46IDAuOXJlbSAwIDJyZW0gMDsgfVxuXG4vKiBCbG9jazogV2lkZ2V0IExhdGVzdCBQb3N0cyAtLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLWdyaWQgbGkge1xuICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgI2RjZDdjYTtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5oYXMtZGF0ZXMge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaGFzLWRhdGVzOm5vdCguaXMtZ3JpZCkgbGkge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5oYXMtZGF0ZXM6bm90KC5pcy1ncmlkKSBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAxMS4gRW50cnkgQ29udGVudFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5yZWFkLW1vcmUtYnV0dG9uLXdyYXAge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZW50cnktY29udGVudCBhOmhvdmVyLFxuLmVudHJ5LWNvbnRlbnQgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZW50cnktY29udGVudCB1bCB1bCxcbi5lbnRyeS1jb250ZW50IG9sIG9sLFxuLmVudHJ5LWNvbnRlbnQgdWwgb2wsXG4uZW50cnktY29udGVudCBvbCB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmVudHJ5LWNvbnRlbnQgaHIge1xuICBtYXJnaW46IDRyZW0gYXV0bzsgfVxuXG4vKiBBbGlnbm1lbnQgQ2xhc3NlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbnRyeSBNZWRpYSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWxpZ25mdWxsID4gZmlnY2FwdGlvbixcbi5hbGlnbmZ1bGwgPiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA1OHJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgMTIuIENvbW1lbnRzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ29tbWVudCBIZWFkZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29tbWVudHMtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDVyZW07IH1cblxuLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICBtYXJnaW46IDAgMCA0cmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBDb21tZW50IEl0ZW0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENPTU1FTlQgSEVBREVSICovXG4uY29tbWVudHMgLmNvbW1lbnQsXG4uY29tbWVudHMgLnBpbmdiYWNrLFxuLmNvbW1lbnRzIC50cmFja2JhY2ssXG4uY29tbWVudHMgLnJldmlldyB7XG4gIHBhZGRpbmctdG9wOiAzLjVyZW07IH1cblxuZGl2LmNvbW1lbnQ6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDMuNXJlbTtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLmNvbW1lbnRzIC5jb21tZW50cy1oZWFkZXIgKyBkaXYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uY29tbWVudC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb21tZW50IC5jb21tZW50IHtcbiAgcGFkZGluZy1sZWZ0OiA1JTsgfVxuXG4uY29tbWVudC1tZXRhIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBtaW4taGVpZ2h0OiA1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGlkZS1hdmF0YXJzIC5jb21tZW50LW1ldGEge1xuICBtaW4taGVpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmNvbW1lbnQtbWV0YSBhIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmNvbW1lbnQtYXV0aG9yIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNvbW1lbnQtYXV0aG9yIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY29tbWVudC1hdXRob3IgYTpob3Zlcixcbi5jb21tZW50LWF1dGhvciBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb21tZW50LW1ldGEgLmF2YXRhciB7XG4gIGhlaWdodDogNHJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0cmVtOyB9XG5cbi5jb21tZW50LWF1dGhvciAudXJsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNvbW1lbnQtbWV0YWRhdGEge1xuICBjb2xvcjogIzZkNmQ2ZDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi10b3A6IDAuNnJlbTsgfVxuXG4uY29tbWVudC1tZXRhZGF0YSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb21tZW50LW1ldGFkYXRhIGE6Zm9jdXMsXG4uY29tbWVudC1tZXRhZGF0YSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQ09NTUVOVCBDT05URU5UICovXG4uY29tbWVudC1jb250ZW50LmVudHJ5LWNvbnRlbnQgPiAqOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbmxlZnQpOm5vdCguYWxpZ25yaWdodCk6bm90KC5pcy1zdHlsZS13aWRlKSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb21tZW50LWNvbnRlbnQuZW50cnktY29udGVudCAuYWxpZ25sZWZ0IHtcbiAgLypydGw6aWdub3JlKi9cbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNvbW1lbnQtY29udGVudC5lbnRyeS1jb250ZW50IC5hbGlnbnJpZ2h0IHtcbiAgLypydGw6aWdub3JlKi9cbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi8qIENPTU1FTlQgRk9PVEVSICovXG4uY29tbWVudC1mb290ZXItbWV0YSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMS41cmVtIDAgLTFyZW0gLTEuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY29tbWVudC1mb290ZXItbWV0YSA+ICoge1xuICBtYXJnaW46IDAgMCAxcmVtIDEuNXJlbTsgfVxuXG4uY29tbWVudC1yZXBseS1saW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkMjY1MztcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjdyZW07IH1cblxuLmJ5cG9zdGF1dGhvciAuY29tbWVudC1mb290ZXItbWV0YSAuYnktcG9zdC1hdXRob3Ige1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29tbWVudC1mb290ZXItbWV0YSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb21tZW50LWZvb3Rlci1tZXRhIGE6Zm9jdXMsXG4uY29tbWVudC1mb290ZXItbWV0YSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogUGluZ2JhY2tzICYgVHJhY2tiYWNrcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGluZ2JhY2sgLmNvbW1lbnQtbWV0YSxcbi50cmFja2JhY2sgLmNvbW1lbnQtbWV0YSB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBDb21tZW50cyBQYWdpbmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb21tZW50cy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbi5vbmx5LW5leHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpmb2N1cyxcbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnM6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbiAucHJldixcbi5jb21tZW50cy1wYWdpbmF0aW9uIC5uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLnByZXYge1xuICBsZWZ0OiAwOyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi8qIENvbW1lbnQgUmVzcG9uZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29tbWVudC1yZXNwb25kOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29tbWVudC1yZXNwb25kIC5jb21tZW50LW5vdGVzLFxuLmNvbW1lbnQtcmVzcG9uZCAubG9nZ2VkLWluLWFzIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IC0zcmVtIDAgNHJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1ub3RlcyBhLFxuLmNvbW1lbnQtcmVzcG9uZCAubG9nZ2VkLWluLWFzIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnQtbm90ZXMgYTpmb2N1cyxcbi5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnQtbm90ZXMgYTpob3Zlcixcbi5jb21tZW50LXJlc3BvbmQgLmxvZ2dlZC1pbi1hcyBhOmZvY3VzLFxuLmNvbW1lbnQtcmVzcG9uZCAubG9nZ2VkLWluLWFzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY29tbWVudC1yZXNwb25kIHAge1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jb21tZW50LXJlc3BvbmQgcDpub3QoLmNvbW1lbnQtbm90ZXMpIHtcbiAgbWF4LXdpZHRoOiA1OHJlbTsgfVxuXG4uY29tbWVudC1mb3JtLWNvb2tpZXMtY29uc2VudCB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uY29tbWVudC1yZXNwb25kID4gcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb21tZW50LXJlc3BvbmQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5jb21tZW50LXJlc3BvbmQgdGV4dGFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb21tZW50LXJlc3BvbmQgdGV4dGFyZWEge1xuICBoZWlnaHQ6IDE1cmVtOyB9XG5cbi5jb21tZW50LXJlc3BvbmQgI3N1Ym1pdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnRzLWNsb3NlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBSZXBseSBSZXNwb25kIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb21tZW50cyAuY29tbWVudC1yZXNwb25kIHtcbiAgcGFkZGluZzogM3JlbSAwIDA7IH1cblxuLmNvbW1lbnRzIC5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnQtcmVwbHktdGl0bGUsXG4uY29tbWVudHMgLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1ub3Rlcyxcbi5jb21tZW50cyAuY29tbWVudC1yZXNwb25kIC5sb2dnZWQtaW4tYXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jb21tZW50LXJlcGx5LXRpdGxlIHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDAuNXJlbSAwIDAgMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uY29tbWVudC1yZXBseS10aXRsZSBzbWFsbCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb21tZW50LXJlcGx5LXRpdGxlIHNtYWxsIGE6Zm9jdXMsXG4uY29tbWVudC1yZXBseS10aXRsZSBzbWFsbCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAxMy4gU2l0ZSBQYWdpbmF0aW9uXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBhZ2luYXRpb24gLm5hdi1saW5rcyB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAtMS41cmVtIDAgMCAtMi41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlICsgMi41cmVtKTsgfVxuXG4ucGFnaW5hdGlvbi1zZXBhcmF0b3Ige1xuICBtYXJnaW46IDVyZW0gMDsgfVxuXG4ubmF2LWxpbmtzID4gKiB7XG4gIG1hcmdpbjogMS41cmVtIDAgMCAyLjVyZW07IH1cblxuLm5hdi1saW5rcyAucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnBhZ2luYXRpb24gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnaW5hdGlvbiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5wYWdpbmF0aW9uIC5kb3RzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjNlbSk7XG4gIGNvbG9yOiAjNmQ2ZDZkOyB9XG5cbi5uYXYtc2hvcnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgMTQuIEVycm9yIDQwNFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lcnJvcjQwNCAjc2l0ZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDRyZW07IH1cblxuLmVycm9yNDA0LWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmVycm9yNDA0ICNzaXRlLWNvbnRlbnQgLnNlYXJjaC1mb3JtIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAxNS4gV2lkZ2V0c1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdpZGdldCBCYXNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53aWRnZXQge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbi53aWRnZXQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi53aWRnZXQtY29udGVudCA+IGRpdiA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi53aWRnZXQtY29udGVudCA+IGRpdiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLndpZGdldCAud2lkZ2V0LXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMnJlbTsgfVxuXG4ud2lkZ2V0IGxpIHtcbiAgbWFyZ2luOiAycmVtIDAgMCAwOyB9XG5cbi53aWRnZXQgbGk6Zmlyc3QtY2hpbGQsXG4ud2lkZ2V0IGxpID4gdWwsXG4ud2lkZ2V0IGxpID4gb2wge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi53aWRnZXQgdGFibGUsXG4ud2lkZ2V0IHRhYmxlICoge1xuICBib3JkZXItY29sb3I6ICNkZWRmZGY7IH1cblxuLndpZGdldCB0YWJsZSBjYXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGZkZjsgfVxuXG4ud2lkZ2V0IC5wb3N0LWRhdGUsXG4ud2lkZ2V0IC5yc3MtZGF0ZSB7XG4gIGNvbG9yOiAjNmQ2ZDZkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTsgfVxuXG4ud2lkZ2V0IHNlbGVjdCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBCYXNlIExpc3QgV2lkZ2V0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0X2FyY2hpdmUgdWwsXG4ud2lkZ2V0X2NhdGVnb3JpZXMgdWwsXG4ud2lkZ2V0X3BhZ2VzIHVsLFxuLndpZGdldF9tZXRhIHVsLFxuLndpZGdldF9uYXZfbWVudSB1bCxcbi53aWRnZXRfcmVjZW50X2NvbW1lbnRzIHVsLFxuLndpZGdldF9yZWNlbnRfZW50cmllcyB1bCxcbi53aWRnZXRfcnNzIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi53aWRnZXRfYXJjaGl2ZSBsaSxcbi53aWRnZXRfY2F0ZWdvcmllcyBsaSxcbi53aWRnZXRfcGFnZXMgbGksXG4ud2lkZ2V0X21ldGEgbGksXG4ud2lkZ2V0X25hdl9tZW51IGxpIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIG1hcmdpbjogMC4zcmVtIDA7IH1cblxuLndpZGdldF9hcmNoaXZlIGxpIGxpLFxuLndpZGdldF9jYXRlZ29yaWVzIGxpIGxpLFxuLndpZGdldF9wYWdlcyBsaSBsaSxcbi53aWRnZXRfbWV0YSBsaSBsaSxcbi53aWRnZXRfbmF2X21lbnUgbGkgbGkge1xuICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuXG4ud2lkZ2V0X2FyY2hpdmUgYSxcbi53aWRnZXRfY2F0ZWdvcmllcyBhLFxuLndpZGdldF9wYWdlcyBhLFxuLndpZGdldF9tZXRhIGEsXG4ud2lkZ2V0X25hdl9tZW51IGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLndpZGdldF9hcmNoaXZlIGE6Zm9jdXMsXG4ud2lkZ2V0X2FyY2hpdmUgYTpob3Zlcixcbi53aWRnZXRfY2F0ZWdvcmllcyBhOmZvY3VzLFxuLndpZGdldF9jYXRlZ29yaWVzIGE6aG92ZXIsXG4ud2lkZ2V0X3BhZ2VzIGE6Zm9jdXMsXG4ud2lkZ2V0X3BhZ2VzIGE6aG92ZXIsXG4ud2lkZ2V0X21ldGEgYTpmb2N1cyxcbi53aWRnZXRfbWV0YSBhOmhvdmVyLFxuLndpZGdldF9uYXZfbWVudSBhOmZvY3VzLFxuLndpZGdldF9uYXZfbWVudSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogV2lkZ2V0OiBDYWxlbmRhciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNhbGVuZGFyX3dyYXAge1xuICBmb250LXNpemU6IDIuNHJlbTsgfVxuXG4uY2FsZW5kYXJfd3JhcCB0aCxcbi5jYWxlbmRhcl93cmFwIHRkLFxuLndwLWNhbGVuZGFyLW5hdiBzcGFuIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAyLjUlIDIuNSUgMS43NSUgMi41JTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi53cC1jYWxlbmRhci10YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLndwLWNhbGVuZGFyLW5hdiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxLjhyZW07IH1cblxuLmNhbGVuZGFyX3dyYXAgdGZvb3QgdGQge1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5jYWxlbmRhcl93cmFwIHRmb290IGEsXG4uY2FsZW5kYXJfd3JhcCAud3AtY2FsZW5kYXItbmF2IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhbGVuZGFyX3dyYXAgdGZvb3QgI3ByZXYsXG4uY2FsZW5kYXJfd3JhcCAud3AtY2FsZW5kYXItbmF2LXByZXYge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jYWxlbmRhcl93cmFwIHRmb290ICNuZXh0LFxuLmNhbGVuZGFyX3dyYXAgLndwLWNhbGVuZGFyLW5hdi1uZXh0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyogV2lkZ2V0OiBJbWFnZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2lkZ2V0OiBHYWxsZXJ5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndpZGdldF9tZWRpYV9nYWxsZXJ5IC5nYWxsZXJ5IHtcbiAgbWFyZ2luOiAwIC0wLjRlbSAtMC44ZW0gLTAuNGVtO1xuICB3aWR0aDogY2FsYygxMDAlICsgMC44ZW0pOyB9XG5cbi53aWRnZXRfbWVkaWFfZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgMC44ZW0gMDtcbiAgcGFkZGluZzogMCAwLjRlbTsgfVxuXG4vKiBXaWRnZXQ6IE5hdiBNZW51IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0X25hdl9tZW51IC53aWRnZXQtY29udGVudCA+IGRpdiA+IHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogV2lkZ2V0OiBSZWNlbnQgQ29tbWVudHMgLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndpZGdldF9yZWNlbnRfY29tbWVudHMgbGkge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi53aWRnZXRfcmVjZW50X2NvbW1lbnRzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLndpZGdldF9yZWNlbnRfY29tbWVudHMgYTpmb2N1cyxcbi53aWRnZXRfcmVjZW50X2NvbW1lbnRzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBXaWRnZXQ6IFJlY2VudCBFbnRyaWVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0X3JlY2VudF9lbnRyaWVzIGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLndpZGdldF9yZWNlbnRfZW50cmllcyBhOmZvY3VzLFxuLndpZGdldF9yZWNlbnRfZW50cmllcyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogV2lkZ2V0OiBSU1MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndpZGdldF9yc3MgLndpZGdldC10aXRsZSBhLnJzc3dpZGdldDpmaXJzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud2lkZ2V0X3JzcyAucnNzd2lkZ2V0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud2lkZ2V0X3JzcyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi53aWRnZXRfcnNzIGE6Zm9jdXMsXG4ud2lkZ2V0X3JzcyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLndpZGdldF9yc3MgLnJzc1N1bW1hcnkge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuLndpZGdldF9yc3MgY2l0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJQgXCI7IH1cblxuLyogV2lkZ2V0OiBTZWFyY2ggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndpZGdldF9zZWFyY2ggLnNlYXJjaC1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogI2RlZGZkZjsgfVxuXG4vKiBXaWRnZXQ6IFRhZyBDbG91ZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud2lkZ2V0X3RhZ19jbG91ZCBhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ud2lkZ2V0X3RhZ19jbG91ZCBhOmZvY3VzLFxuLndpZGdldF90YWdfY2xvdWQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIFdpZGdldDogVGV4dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgMTYuIFNpdGUgRm9vdGVyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZvb3Rlci10b3AtdmlzaWJsZSAuZm9vdGVyLW5hdi13aWRnZXRzLXdyYXBwZXIsXG4uZm9vdGVyLXRvcC1oaWRkZW4gI3NpdGUtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNXJlbTsgfVxuXG4ucmVkdWNlZC1zcGFjaW5nLmZvb3Rlci10b3AtdmlzaWJsZSAuZm9vdGVyLW5hdi13aWRnZXRzLXdyYXBwZXIsXG4ucmVkdWNlZC1zcGFjaW5nLmZvb3Rlci10b3AtaGlkZGVuICNzaXRlLWZvb3RlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDAuMXJlbTsgfVxuXG4vKiBGb290ZXIgVG9wIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZm9vdGVyLXRvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZGVkZmRmO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyogRk9PVEVSIE1FTlUgKi9cbi5mb290ZXItbWVudSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5mb290ZXItbWVudSBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDAuMjVlbSAwIDAgMDsgfVxuXG4uZm9vdGVyLW1lbnUgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDsgfVxuXG4uZm9vdGVyLW1lbnUgYTpob3Zlcixcbi5mb290ZXItbWVudSBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogRk9PVEVSIFNPQ0lBTCAqL1xuLmZvb3Rlci1zb2NpYWwtd3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhhcy1mb290ZXItbWVudSAuZm9vdGVyLXNvY2lhbC13cmFwcGVyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB3aWR0aDogNTAlOyB9XG5cbnVsLmZvb3Rlci1zb2NpYWwge1xuICBtYXJnaW46IC0wLjVyZW0gMCAwIC0wLjVyZW07IH1cblxuLmhhcy1mb290ZXItbWVudSAuZm9vdGVyLXNvY2lhbCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxudWwuZm9vdGVyLXNvY2lhbCBsaSB7XG4gIG1hcmdpbjogMC41cmVtIDAgMCAwLjVyZW07IH1cblxuLmZvb3Rlci1zb2NpYWwgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZDI2NTM7XG4gIGhlaWdodDogMy42cmVtO1xuICB3aWR0aDogMy42cmVtOyB9XG5cbi5mb290ZXItc29jaWFsIGE6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtOyB9XG5cbi8qKlxuICogSFRNTCBlbGVtZW50cyBzdHlsZXNcbiAqL1xuaHRtbCwgYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbmh0bWwge1xuICBmb250OiA0MDAgMTAwJS8xLjYyNDk1ICdDcmltc29uIFBybycsIHNlcmlmO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIGh0bWwge1xuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvOyB9IH1cblxuYm9keSB7XG4gIGZvbnQ6IDQwMCAxOHB4LzEuNDQ0NCAnQ3JpbXNvbiBQcm8nLCBzZXJpZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5mYXV4LWhlYWRpbmcge1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogJ0NyaW1zb24gUHJvJywgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuaDEsXG4uaGVhZGluZy1zaXplLTEsXG4jaG9tZSBoMiB7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDJybGggKyBzdHJpcCgwLjVybGgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgaDEsXG4gICAgLmhlYWRpbmctc2l6ZS0xLFxuICAgICNob21lIGgyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVybGg7IH0gfVxuXG5oMS5lbnRyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogY2FsYygzNnB4ICsgc3RyaXAoMTJweCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDFybGggKyBzdHJpcCgxcmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMC41cmxoICsgc3RyaXAoMS41cmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgaDEuZW50cnktdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0OHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIGgxLmVudHJ5LXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDJybGg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgaDEuZW50cnktdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJsaDsgfSB9XG5cbmgyLFxuLmhlYWRpbmctc2l6ZS0yIHtcbiAgZm9udC1zaXplOiBjYWxjKDM2cHggKyBzdHJpcCg1cHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMS41cmxoICsgc3RyaXAoMXJsaCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDFybGggKyBzdHJpcCgxcmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMXJsaCArIHN0cmlwKDFybGgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgaDIsXG4gICAgLmhlYWRpbmctc2l6ZS0yIHtcbiAgICAgIGZvbnQtc2l6ZTogNDFweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICBoMixcbiAgICAuaGVhZGluZy1zaXplLTIge1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJsaDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICBoMixcbiAgICAuaGVhZGluZy1zaXplLTIge1xuICAgICAgbWFyZ2luLXRvcDogMnJsaDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICBoMixcbiAgICAuaGVhZGluZy1zaXplLTIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJsaDsgfSB9XG5cbmgzLFxuLmhlYWRpbmctc2l6ZS0zIHtcbiAgZm9udC1zaXplOiBjYWxjKDE4cHggKyBzdHJpcCg2cHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTtcbiAgbWFyZ2luLXRvcDogY2FsYygxcmxoICsgc3RyaXAoMXJsaCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICBoMyxcbiAgICAuaGVhZGluZy1zaXplLTMge1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIGgzLFxuICAgIC5oZWFkaW5nLXNpemUtMyB7XG4gICAgICBtYXJnaW4tdG9wOiAycmxoOyB9IH1cblxuaDQsXG4uaGVhZGluZy1zaXplLTQge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuaDUsXG4uaGVhZGluZy1zaXplLTUge1xuICBmb250LXNpemU6IDEuOHJlbTsgfVxuXG5oNixcbi5oZWFkaW5nLXNpemUtNiB7XG4gIGZvbnQtc2l6ZTogMS42cmVtOyB9XG5cbnAsIHRhYmxlLCBibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJsaDsgfVxuXG5oMywgcCB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMC41cmxoICsgc3RyaXAoMC41cmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIGgzLCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFybGg7IH0gfVxuXG5wIHtcbiAgZm9udC1zaXplOiBjYWxjKDE4cHggKyBzdHJpcCgycHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4uaGFzLXRleHQtY29sb3IgaDEsIC5oYXMtdGV4dC1jb2xvciBoMiwgLmhhcy10ZXh0LWNvbG9yIGgzLCAuaGFzLXRleHQtY29sb3IgaDQsIC5oYXMtdGV4dC1jb2xvciBoNSwgLmhhcy10ZXh0LWNvbG9yIGg2LCAuaGFzLXRleHQtY29sb3IgcCwgLmhhcy10ZXh0LWNvbG9yIHVsLCAuaGFzLXRleHQtY29sb3Igb2wsIC5oYXMtdGV4dC1jb2xvciB0YWJsZSwgLmhhcy10ZXh0LWNvbG9yIGJsb2NrcXVvdGUge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG5lbSxcbmksXG5xLFxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmVtIGVtLFxuZW0gaSxcbmkgZW0sXG5pIGksXG5jaXRlIGVtLFxuY2l0ZSBpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5iaWcge1xuICBmb250LXNpemU6IDEuMmVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjhlbTsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaW5zIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuYWJicixcbmFjcm9ueW0ge1xuICBjdXJzb3I6IGhlbHA7IH1cblxuaHIge1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDFyZW0gYXV0bzsgfVxuXG5hIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbmE6aG92ZXIsXG5hOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnVsLFxub2wge1xuICBtYXJnaW46IDAgMCByZW0oMS40NDQ0KSAzcmVtO1xuICBwYWRkaW5nOiAwOyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogZGlzYzsgfVxuXG51bCB1bCB7XG4gIGxpc3Qtc3R5bGU6IGNpcmNsZTsgfVxuXG51bCB1bCB1bCB7XG4gIGxpc3Qtc3R5bGU6IHNxdWFyZTsgfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cblxub2wgb2wge1xuICBsaXN0LXN0eWxlOiBsb3dlci1hbHBoYTsgfVxuXG5vbCBvbCBvbCB7XG4gIGxpc3Qtc3R5bGU6IGxvd2VyLXJvbWFuOyB9XG5cbmxpIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cblxubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW46IHJlbSgwLjcyMjIpIDAgMCAycmVtOyB9XG5cbi5yZXNldC1saXN0LXN0eWxlLFxuLnJlc2V0LWxpc3Qtc3R5bGUgdWwsXG4ucmVzZXQtbGlzdC1zdHlsZSBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4ucmVzZXQtbGlzdC1zdHlsZSBsaSB7XG4gIG1hcmdpbjogMDsgfVxuXG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuZHQgKyBkZCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG5kZCArIGR0IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi8qIFF1b3RlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogc29saWQgMnB4ICMwMDAwMDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBtYXJnaW46IDFybGggMDtcbiAgcGFkZGluZzogLjJybGggMCAuMnJsaCAxcmVtOyB9XG5cbmNpdGUge1xuICBjb2xvcjogIzZkNmQ2ZDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuYmxvY2txdW90ZSBjaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMnJlbSAwIDAgMDsgfVxuXG5ibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBDb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAwLjZyZW07IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XG5cbnByZSB7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkY2Q3Y2E7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbjogNHJlbSAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogM3JlbSAycmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnByZSBjb2RlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogTWVkaWEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDsgfVxuXG5pZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbnZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3ZnLFxuaW1nLFxuZW1iZWQsXG5vYmplY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuZmlnY2FwdGlvbixcbi53cC1jYXB0aW9uLXRleHQge1xuICBjb2xvcjogIzZkNmQ2ZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuZmlnY2FwdGlvbiBhLFxuLndwLWNhcHRpb24tdGV4dCBhIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuYmxvY2txdW90ZS5pbnN0YWdyYW0tbWVkaWEsXG5pZnJhbWUuaW5zdGFncmFtLW1lZGlhIHtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLyogR0FMTEVSSUVTICovXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAzZW0gMCAzZW0gLTAuOGVtO1xuICB3aWR0aDogY2FsYygxMDAlICsgMS42ZW0pOyB9XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuICBtYXJnaW46IDAuOGVtIDA7XG4gIHBhZGRpbmc6IDAgMC44ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nYWxsZXJ5LWNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC44ZW07IH1cblxuLyogSW5wdXRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZGNkN2NhO1xuICBwYWRkaW5nOiAycmVtOyB9XG5cbmxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMCAwIC41cmxoIDA7IH1cblxubGFiZWwuaW5saW5lLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTVweDtcbiAgbWluLXdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNkY2Q3Y2E7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDo6YmVmb3JlIHtcbiAgLyogVXNlIHRoZSBcIlllc1wiIFNWRyBEYXNoaWNvbiAqL1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyN2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyNyUyMHZpZXdCb3glM0QlMjcwJTIwMCUyMDIwJTIwMjAlMjclM0UlM0NwYXRoJTIwZCUzRCUyN00xNC44MyUyMDQuODlsMS4zNC45NC01LjgxJTIwOC4zOEg5LjAyTDUuNzglMjA5LjY3bDEuMzQtMS4yNSUyMDIuNTclMjAyLjR6JTI3JTIwZmlsbCUzRCUyNyUyMzAwMDAwMCUyNyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogLTAuMTg3NXJlbSAwIDAgLTAuMjVyZW07XG4gIGhlaWdodDogMS43NXJlbTtcbiAgd2lkdGg6IDEuNzVyZW07IH1cblxuaW5wdXQsXG50ZXh0YXJlYSxcbmJ1dHRvbixcbnNlbGVjdCxcbi5idXR0b24sXG4uZmF1eC1idXR0b24sXG4ud3AtYmxvY2stYnV0dG9uX19saW5rLFxuLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICBib3JkZXItY29sb3I6ICNkY2Q3Y2E7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbmNvZGUsXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSB7XG4gIC8qcnRsOmlnbm9yZSovXG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5oYXMtcHVycGxlLWJhc2UtYmFja2dyb3VuZC1jb2xvciBpbnB1dFt0eXBlPVwidGV4dFwiXSwgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0sIC5oYXMtcHVycGxlLWJhc2UtYmFja2dyb3VuZC1jb2xvclxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSwgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCAuaGFzLXB1cnBsZS1iYXNlLWJhY2tncm91bmQtY29sb3JcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCAuaGFzLXB1cnBsZS1iYXNlLWJhY2tncm91bmQtY29sb3JcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCAuaGFzLXB1cnBsZS1iYXNlLWJhY2tncm91bmQtY29sb3JcbiAgaW5wdXRbdHlwZT1cIndlZWtcIl0sIC5oYXMtcHVycGxlLWJhc2UtYmFja2dyb3VuZC1jb2xvclxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCAuaGFzLXB1cnBsZS1iYXNlLWJhY2tncm91bmQtY29sb3JcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIC5oYXMtcHVycGxlLWJhc2UtYmFja2dyb3VuZC1jb2xvclxuICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sIC5oYXMtcHVycGxlLWJhc2UtYmFja2dyb3VuZC1jb2xvclxuICB0ZXh0YXJlYSwgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxZW07IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyMHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aWR0aDogMTAwJTsgfVxuXG5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGxpbmUtaGVpZ2h0OiByZXZlcnQ7XG4gIC8qIFJlc2V0IHRvIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyLWFnZW50IHN0eWxlc2hlZXQuICovIH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLFxuLmJ1dHRvbixcbi5mYXV4LWJ1dHRvbixcbi53cC1ibG9jay1idXR0b25fX2xpbmssXG4ud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAuM3JsaCAzMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQ6IDUwMCAxNXB4LzFybGggJ0NyaW1zb24gUHJvJywgc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XG5cbmJ1dHRvbjpmb2N1cyxcbmJ1dHRvbjpob3Zlcixcbi5idXR0b246Zm9jdXMsXG4uYnV0dG9uOmhvdmVyLFxuLmZhdXgtYnV0dG9uOmZvY3VzLFxuLmZhdXgtYnV0dG9uOmhvdmVyLFxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLFxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLFxuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbjpmb2N1cyxcbi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b246aG92ZXIsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgb3BhY2l0eTogLjg7IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC00cHg7IH1cblxuLyogVGFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xudGFibGUge1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZGNkN2NhO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgZW1wdHktY2VsbHM6IHNob3c7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBtYXJnaW46IDRyZW0gMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWxpZ25sZWZ0ID4gdGFibGUge1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWducmlnaHQgPiB0YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuXG50aCxcbnRkIHtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2RjZDdjYTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMC41ZW07IH1cblxuY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNkY2Q3Y2E7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGhlYWQge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3AtYmxvY2stY29sdW1uczpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbndpZGUpOm5vdCguYWxpZ25zZW1pLXdpZGUpLCAud3AtYmxvY2stZ3JvdXA6bm90KC5hbGlnbmZ1bGwpOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduc2VtaS13aWRlKSwgLndwLWJsb2NrLWdhbGxlcnk6bm90KC5hbGlnbmZ1bGwpOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduc2VtaS13aWRlKSwgLndwLWJsb2NrLWdldHdpZC1pbWFnZXMtc2xpZGVyOm5vdCguYWxpZ25mdWxsKTpub3QoLmFsaWdud2lkZSk6bm90KC5hbGlnbnNlbWktd2lkZSksIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiBoMSwgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IGgyLCAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyID4gaDMsIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiBoNCwgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IGg1LCAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyID4gaDYsIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiBwLCAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyID4gdWwsIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiBvbCwgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IGJsb2NrcXVvdGUsIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiB0YWJsZSwgLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25jZW50ZXIsIC5zaXRlLWhlYWRlcl9faW5uZXIsIC5lbnRyeS1oZWFkZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC53cC1ibG9jay1jb2x1bW5zOm5vdCguYWxpZ25mdWxsKTpub3QoLmFsaWdud2lkZSk6bm90KC5hbGlnbnNlbWktd2lkZSksIC53cC1ibG9jay1ncm91cDpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbndpZGUpOm5vdCguYWxpZ25zZW1pLXdpZGUpLCAud3AtYmxvY2stZ2FsbGVyeTpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbndpZGUpOm5vdCguYWxpZ25zZW1pLXdpZGUpLCAud3AtYmxvY2stZ2V0d2lkLWltYWdlcy1zbGlkZXI6bm90KC5hbGlnbmZ1bGwpOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduc2VtaS13aWRlKSwgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IGgxLCAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyID4gaDIsIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiBoMywgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IGg0LCAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyID4gaDUsIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiBoNiwgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IHAsIC53cC1ibG9jay1yb290X19pbm5lci1jb250YWluZXIgPiB1bCwgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IG9sLCAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyID4gYmxvY2txdW90ZSwgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IHRhYmxlLCAud3AtYmxvY2stZ2FsbGVyeS5hbGlnbmNlbnRlciwgLnNpdGUtaGVhZGVyX19pbm5lciwgLmVudHJ5LWhlYWRlcl9faW5uZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNzYwcHg7IH0gfVxuXG4ud3AtYmxvY2stY29sdW1ucywgLndwLWJsb2NrLWdyb3VwLCAud3AtYmxvY2stZ2FsbGVyeSwgLndwLWJsb2NrLWdldHdpZC1pbWFnZXMtc2xpZGVyIHtcbiAgbWFyZ2luLXRvcDogY2FsYygxcmxoICsgc3RyaXAoMXJsaCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg4ODBweCkpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1ucywgLndwLWJsb2NrLWdyb3VwLCAud3AtYmxvY2stZ2FsbGVyeSwgLndwLWJsb2NrLWdldHdpZC1pbWFnZXMtc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDJybGg7IH0gfVxuXG4ud3AtYmxvY2stcm9vdCBoMSwgLndwLWJsb2NrLXJvb3QgaDIsIC53cC1ibG9jay1yb290IGgzLCAud3AtYmxvY2stcm9vdCBoNCwgLndwLWJsb2NrLXJvb3QgaDUsIC53cC1ibG9jay1yb290IGg2LCAud3AtYmxvY2stcm9vdCBwLCAud3AtYmxvY2stcm9vdCB1bCwgLndwLWJsb2NrLXJvb3Qgb2wsIC53cC1ibG9jay1yb290IGJsb2NrcXVvdGUsIC53cC1ibG9jay1yb290IHRhYmxlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAgIC53cC1ibG9jay1yb290IGgxLCAud3AtYmxvY2stcm9vdCBoMiwgLndwLWJsb2NrLXJvb3QgaDMsIC53cC1ibG9jay1yb290IGg0LCAud3AtYmxvY2stcm9vdCBoNSwgLndwLWJsb2NrLXJvb3QgaDYsIC53cC1ibG9jay1yb290IHAsIC53cC1ibG9jay1yb290IHVsLCAud3AtYmxvY2stcm9vdCBvbCwgLndwLWJsb2NrLXJvb3QgYmxvY2txdW90ZSwgLndwLWJsb2NrLXJvb3QgdGFibGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAud3AtYmxvY2stcm9vdCBoMSwgLndwLWJsb2NrLXJvb3QgaDIsIC53cC1ibG9jay1yb290IGgzLCAud3AtYmxvY2stcm9vdCBoNCwgLndwLWJsb2NrLXJvb3QgaDUsIC53cC1ibG9jay1yb290IGg2LCAud3AtYmxvY2stcm9vdCBwLCAud3AtYmxvY2stcm9vdCB1bCwgLndwLWJsb2NrLXJvb3Qgb2wsIC53cC1ibG9jay1yb290IGJsb2NrcXVvdGUsIC53cC1ibG9jay1yb290IHRhYmxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7IH0gfVxuICAud3AtYmxvY2stcm9vdCBoMS5oYXMtYmFja2dyb3VuZCwgLndwLWJsb2NrLXJvb3QgaDIuaGFzLWJhY2tncm91bmQsIC53cC1ibG9jay1yb290IGgzLmhhcy1iYWNrZ3JvdW5kLCAud3AtYmxvY2stcm9vdCBoNC5oYXMtYmFja2dyb3VuZCwgLndwLWJsb2NrLXJvb3QgaDUuaGFzLWJhY2tncm91bmQsIC53cC1ibG9jay1yb290IGg2Lmhhcy1iYWNrZ3JvdW5kLCAud3AtYmxvY2stcm9vdCBwLmhhcy1iYWNrZ3JvdW5kLCAud3AtYmxvY2stcm9vdCB1bC5oYXMtYmFja2dyb3VuZCwgLndwLWJsb2NrLXJvb3Qgb2wuaGFzLWJhY2tncm91bmQsIC53cC1ibG9jay1yb290IGJsb2NrcXVvdGUuaGFzLWJhY2tncm91bmQsIC53cC1ibG9jay1yb290IHRhYmxlLmhhcy1iYWNrZ3JvdW5kIHtcbiAgICBwYWRkaW5nLXRvcDogMXJsaDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJsaDsgfVxuXG4ud3AtYmxvY2stcm9vdCBbY2xhc3MkPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ud3AtYmxvY2stcm9vdCBbY2xhc3MkPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi53cC1ibG9jay1ncm91cC5oYXMtYmFja2dyb3VuZCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDFybGggKyBzdHJpcCgycmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDg4MHB4KSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDFybGggKyBzdHJpcCgzcmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDg4MHB4KSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC53cC1ibG9jay1ncm91cC5oYXMtYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JsaDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDRybGg7IH0gfVxuICAud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQgKyAud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmlzLXN0eWxlLWludHJvLXRleHQsIC5pcy1zdHlsZS1sZWZ0LXdhdmUsIC5pcy1zdHlsZS1yaWdodC13YXZlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsgfVxuXG4uaXMtc3R5bGUtbGVmdC13YXZlLCAuaXMtc3R5bGUtaW50cm8tdGV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChhc3NldHMvaW1nL2xlZnQtd2F2ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDsgfVxuXG4uaXMtc3R5bGUtcmlnaHQtd2F2ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChhc3NldHMvaW1nL3JpZ2h0LXdhdmUucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0OyB9XG5cbi5pcy1zdHlsZS1pbnRyby10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICdDcmltc29uIFBybycsIHNlcmlmOyB9XG4gIC5pcy1zdHlsZS1pbnRyby10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5hbGlnbnNlbWktd2lkZSB7XG4gIG1heC13aWR0aDogOTgwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmFsaWdud2lkZSB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5hbGlnbmZ1bGwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi53cC1ibG9jay1pbWFnZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICAud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzgycHgpIHtcbiAgICAud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuICAud3AtYmxvY2staW1hZ2UgLmFsaWduY2VudGVyIGltZyB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJsaDsgfVxuXG4ud3AtYmxvY2stZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgLTFybGg7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAgICAgLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC53cC1ibG9jay1nYWxsZXJ5IC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwIDIwcHggMXJsaCAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAgIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMSAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDBweCkgLyAxKTsgfVxuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgxbiksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMSAuYmxvY2tzLWdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0yIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjBweCkgLyAyKTsgfVxuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0yIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgybiksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMiAuYmxvY2tzLWdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNDBweCkgLyAzKTsgfVxuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbiksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyAuYmxvY2tzLWdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy00IC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyA0KTsgfVxuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy00IC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg0biksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtNCAuYmxvY2tzLWdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy01IC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gODBweCkgLyA1KTsgfVxuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy01IC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg1biksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtNSAuYmxvY2tzLWdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy02IC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTAwcHgpIC8gNik7IH1cbiAgICAgIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtNiAuYmxvY2tzLWdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4pLCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTYgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtNyAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEyMHB4KSAvIDcpOyB9XG4gICAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTcgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDduKSwgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy03IC5ibG9ja3MtZ2FsbGVyeS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTggLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxNDBweCkgLyA4KTsgfVxuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy04IC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg4biksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtOCAuYmxvY2tzLWdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLndwLWJsb2NrLWdhbGxlcnkgZmlndXJlLCAud3AtYmxvY2stZ2FsbGVyeSBhLCAud3AtYmxvY2stZ2FsbGVyeSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAud3AtYmxvY2stZ2FsbGVyeSBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIC53cC1ibG9jay1nYWxsZXJ5IGEge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAud3AtYmxvY2stZ2FsbGVyeSBhIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGxpbmVhcjsgfVxuICAgIC53cC1ibG9jay1nYWxsZXJ5IGE6aG92ZXIgaW1nLCAud3AtYmxvY2stZ2FsbGVyeSBhOmZvY3VzIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDFkZWcpOyB9XG5cbi53cC1ibG9jay1jb3ZlciB7XG4gIGhlaWdodDogY2FsYygzMHJlbSArIHN0cmlwKDZyZW0pICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTtcbiAgbWluLWhlaWdodDogMDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC53cC1ibG9jay1jb3ZlciB7XG4gICAgICBoZWlnaHQ6IDM2cmVtOyB9IH1cblxuLndwLWJsb2NrLWdldHdpZC1pbWFnZXMtc2xpZGVyX19pdGVtIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ud3AtYmxvY2stZ2V0d2lkLWltYWdlcy1zbGlkZXIgLnNsaWNrLWRvdHMge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLndwLWJsb2NrLWdldHdpZC1pbWFnZS1ib3hfX2ltYWdlLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTcwcHggIWltcG9ydGFudDsgfVxuXG4ud3AtYmxvY2stZ2V0d2lkLWltYWdlLWJveCBoMyB7XG4gIG1hcmdpbi1ib3R0b206IC4yNXJsaDtcbiAgY29sb3I6ICNDQ0NDQ0M7XG4gIGZvbnQ6IDYwMCAyNnB4LzMycHggJ0NyaW1zb24gUHJvJywgc2VyaWY7IH1cblxuLndwLWJsb2NrLWdldHdpZC1pbWFnZS1ib3ggaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udDogNDAwIDE3cHgvMjFweCAnQ3JpbXNvbiBQcm8nLCBzZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ud3AtYmxvY2stZ2V0d2lkLWltYWdlLWJveCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi53cC1ibG9jay1nZXR3aWQtaW1hZ2UtYm94X19jb250ZW50ICoge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAucnRsIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJ0bCAuc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywgLnJ0bCAuc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICBkaXJlY3Rpb246IGx0cjsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBmb250LXNpemU6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4gIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAyNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhLdcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74S4XCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74S4XCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Et1wiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwi74SRXCI7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5zbGljay1saWdodGJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTVweCk7IH1cbiAgLnNsaWNrLWxpZ2h0Ym94IC5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuc2xpY2stbGlnaHRib3ggLnNsaWNrLXByZXYsIC5zbGljay1saWdodGJveCAuc2xpY2stbmV4dCB7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuICAgIC5zbGljay1saWdodGJveCAuc2xpY2stcHJldjpiZWZvcmUsIC5zbGljay1saWdodGJveCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiBjYWxjKDI0cHggKyBzdHJpcCg4cHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICAuc2xpY2stbGlnaHRib3ggLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbGlnaHRib3ggLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuICAuc2xpY2stbGlnaHRib3ggLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAgICAgLnNsaWNrLWxpZ2h0Ym94IC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogY2FsYyg0cHggKyBzdHJpcCgyMHB4KSAqICgxMDB2dyAtIDc4MnB4KSAvIHN0cmlwKDQxOHB4KSk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5zbGljay1saWdodGJveCAuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IDI0cHg7IH0gfVxuICAuc2xpY2stbGlnaHRib3ggLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiA0cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzgycHgpIHtcbiAgICAgIC5zbGljay1saWdodGJveCAuc2xpY2stbmV4dCB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDRweCArIHN0cmlwKDIwcHgpICogKDEwMHZ3IC0gNzgycHgpIC8gc3RyaXAoNDE4cHgpKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLnNsaWNrLWxpZ2h0Ym94IC5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDI0cHg7IH0gfVxuXG4uc2xpY2stbGlnaHRib3gtaGlkZSB7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLnNsaWNrLWxpZ2h0Ym94LWhpZGUuc2xpY2stbGlnaHRib3gtaWUge1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH1cblxuLnNsaWNrLWxpZ2h0Ym94LWhpZGUtaW5pdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICBvcGFjaXR5OiAwOyB9XG4gIC5zbGljay1saWdodGJveC1oaWRlLWluaXQuc2xpY2stbGlnaHRib3gtaWUge1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH1cblxuLnNsaWNrLWxpZ2h0Ym94LWlubmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cbiAgLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWl0ZW06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtOyB9XG4gIC5zbGljay1jYXB0aW9uLWJvdHRvbSAuc2xpY2stbGlnaHRib3gtc2xpY2staXRlbSAuc2xpY2stbGlnaHRib3gtc2xpY2staXRlbSAuc2xpY2stbGlnaHRib3gtc2xpY2stY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5zbGljay1jYXB0aW9uLWR5bmFtaWMgLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWl0ZW0gLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWl0ZW0gLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2xpY2stbGlnaHRib3gtc2xpY2staXRlbS1pbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiA5MHZ3O1xuICBtYXgtaGVpZ2h0OiA5MHZoOyB9XG5cbi5zbGljay1saWdodGJveC1zbGljay1pbWcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuXG4uc2xpY2stbGlnaHRib3gtc2xpY2stY2FwdGlvbiB7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2xpY2stbGlnaHRib3gtY2xvc2Uge1xuICB0b3A6IGNhbGMoMC41cmxoICsgc3RyaXAoMC41cmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gIHJpZ2h0OiBjYWxjKDAuNXJsaCArIHN0cmlwKDAuNXJsaCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMDtcbiAgZm9udC1zaXplOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLnNsaWNrLWxpZ2h0Ym94LWNsb3NlIHtcbiAgICAgIHRvcDogMXJsaDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuc2xpY2stbGlnaHRib3gtY2xvc2Uge1xuICAgICAgcmlnaHQ6IDFybGg7IH0gfVxuICAuc2xpY2stbGlnaHRib3gtY2xvc2U6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpZ2h0Ym94LWNsb3NlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDI0cHggKyBzdHJpcCg4cHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC44NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGNvbnRlbnQ6ICdcXGYwMGQnOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgLnNsaWNrLWxpZ2h0Ym94LWNsb3NlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG5cbiNzdG5vcmJlcnQge1xuICB3aWR0aDogY2FsYygxMjBweCArIHN0cmlwKDE4MHB4KSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gIG1hcmdpbi1yaWdodDogMHZ3O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IC41cmxoO1xuICBtYXJnaW4tYm90dG9tOiAxcmxoO1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgI3N0bm9yYmVydCB7XG4gICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgI3N0bm9yYmVydCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMHZ3ICsgc3RyaXAoMTB2dykgKiAoMTAwdncgLSAxMDAwcHgpIC8gc3RyaXAoMjAwcHgpKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAjc3Rub3JiZXJ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTB2dzsgfSB9XG5cbi5zaXRlLWhlYWRlcl9faW5uZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJsaCAyMHB4OyB9XG5cbi5zaXRlLWxvZ28ge1xuICBmb250LXNpemU6IGNhbGMoMjhweCArIHN0cmlwKDRweCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICBsaW5lLWhlaWdodDogY2FsYygxLjVybGggKyBzdHJpcCgxLjVybGgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuc2l0ZS1sb2dvIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuc2l0ZS1sb2dvIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmxoOyB9IH1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IGNhbGMoNDRweCArIHN0cmlwKDEzcHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTtcbiAgZm9udC1mYW1pbHk6ICdDcmltc29uIFBybycsIHNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogNTdweDsgfSB9XG5cbi50b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDFybGggYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC50b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC50b2dnbGU6aG92ZXIsIC50b2dnbGU6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAudG9nZ2xlX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAudG9nZ2xlX19pY29uLCAudG9nZ2xlIHN2ZywgLnRvZ2dsZV9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnRvZ2dsZV9faWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBsaW5lYXI7IH1cbiAgLnRvZ2dsZV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gIC50b2dnbGUgc3ZnLCAudG9nZ2xlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC50b2dnbGUgcGF0aCB7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5wcmltYXJ5LW1lbnUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAucHJpbWFyeS1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnByaW1hcnktbWVudV9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnByaW1hcnktbWVudSBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLnByaW1hcnktbWVudSBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAucHJpbWFyeS1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5leHBhbmRlZC1tZW51IHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gIC5leHBhbmRlZC1tZW51Om5vdCguZXhwYW5kZWQtbWVudS0tbW9kYWwpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLmV4cGFuZGVkLW1lbnVfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmV4cGFuZGVkLW1lbnUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuZXhwYW5kZWQtbWVudSBhOmhvdmVyLCAuZXhwYW5kZWQtbWVudSBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuZXhwYW5kZWQtbWVudS0tbW9kYWwgYSB7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5tZW51LW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDNybGg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDk5O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cbiAgLmFkbWluLWJhciAubWVudS1tb2RhbCB7XG4gICAgdG9wOiBjYWxjKDMycHggKyAzcmxoKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAgICAgLmFkbWluLWJhciAubWVudS1tb2RhbCB7XG4gICAgICAgIHRvcDogY2FsYyg0NnB4ICsgM3JsaCk7IH0gfVxuICAubWVudS1tb2RhbC1pbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWxsLWNoYW5nZTogbWF4LXdpZHRoLCBsZWZ0OyB9XG4gIC5tZW51LW1vZGFsLWlubmVyIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAubWVudS1tb2RhbC5zaG93LW1vZGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzcyBlYXNlOyB9XG4gICAgLm1lbnUtbW9kYWwuc2hvdy1tb2RhbCAubWVudS1tb2RhbC1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDFzIGVhc2U7IH1cbiAgLm1lbnUtbW9kYWwuYWN0aXZlIHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAuNjY2cyBlYXNlOyB9XG4gICAgLm1lbnUtbW9kYWwuYWN0aXZlIC5tZW51LW1vZGFsLWlubmVyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IC42NjZzIGVhc2U7IH1cblxuLm1lbnUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmJ1dHRvbi5jbG9zZS1uYXYtdG9nZ2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IC41cmxoIDIwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5idXR0b24uY2xvc2UtbmF2LXRvZ2dsZSBzdmcge1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4OyB9XG5cbmJ1dHRvbi5jbG9zZS1uYXYtdG9nZ2xlIC50b2dnbGUtdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4ubWVudS1tb2RhbCAubWVudS10b3Age1xuICBmbGV4LXNocmluazogMDsgfVxuXG4ubW9kYWwtbWVudSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDUwcHggKyBzdHJpcCg1MHB4KSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLm1vZGFsLW1lbnUge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4OyB9IH1cbiAgLm1vZGFsLW1lbnUgLm1lbnUtaXRlbV9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubW9kYWwtbWVudSAubWVudS1pdGVtX19sYWJlbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjQ0NDQ0NDO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgbGluZWFyOyB9XG4gIC5tb2RhbC1tZW51IC5tZW51LWl0ZW06aG92ZXIgLm1lbnUtaXRlbV9fbGFiZWw6YWZ0ZXIsIC5tb2RhbC1tZW51IC5tZW51LWl0ZW06Zm9jdXMgLm1lbnUtaXRlbV9fbGFiZWw6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbC1tZW51IGEge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHB4ICsgc3RyaXAoMzBweCkgKiAoMTAwdncgLSAzMjBweCkgLyBzdHJpcCg2ODBweCkpO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDFybGggKyBzdHJpcCgwLjc1cmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IC41cmxoO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IC41cmxoO1xuICAgIGNvbG9yOiAjQ0NDQ0NDO1xuICAgIGZvbnQ6IDMwMCAyNnB4ICdDcmltc29uIFBybycsIHNlcmlmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5tb2RhbC1tZW51IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5tb2RhbC1tZW51IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NXJsaDsgfSB9XG4gIC5tb2RhbC1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ubW9kYWwtbWVudSAuYW5jZXN0b3Itd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuYnV0dG9uLnN1Yi1tZW51LXRvZ2dsZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgI2RlZGZkZjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwYWRkaW5nOiAwIDIuNXJlbTsgfVxuXG5idXR0b24uc3ViLW1lbnUtdG9nZ2xlIHN2ZyB7XG4gIGhlaWdodDogMC45cmVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuICB3aWR0aDogMS41cmVtOyB9XG5cbmJ1dHRvbi5zdWItbWVudS10b2dnbGUuYWN0aXZlIHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLm1vZGFsLW1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tb2RhbC1tZW51IHVsIGxpIHtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDFyZW07IH1cblxuLm1vZGFsLW1lbnUgdWwgbGkgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi8qIEV4cGFuZGVkIE1lbnUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIE1lbnUgQm90dG9tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZW51LWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogLjVybGg7IH1cblxuLm1lbnUtYm90dG9tIG5hdiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZW51LWNvcHlyaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDA7IH1cblxuLm1lbnUtY29weXJpZ2h0IGE6Zm9jdXMsXG4ubWVudS1jb3B5cmlnaHQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5tZW51LWJvdHRvbSAuc29jaWFsLW1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4jc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nOiAwOyB9XG4gICNzaXRlLWZvb3RlciA+IC53cC1ibG9jay1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICNzaXRlLWZvb3RlciAud3AtYmxvY2stY29sdW1ucyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAjc2l0ZS1mb290ZXIgLnNpdGUtZm9vdGVyX19jb250YWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW4tYm90dG9tOiA1ODVweDsgfVxuICAjc2l0ZS1mb290ZXIgLnNpdGUtZm9vdGVyX19hZGRyZXNzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogNjNweDsgfVxuICAjc2l0ZS1mb290ZXIgLndwLXNvY2lhbC1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICAgICNzaXRlLWZvb3RlciAud3Atc29jaWFsLWxpbms6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNpdGUtY3JlZGl0cyB7XG4gIHBhZGRpbmctdG9wOiAuNXJsaDtcbiAgcGFkZGluZy1ib3R0b206IC41cmxoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc4MnB4KSB7XG4gICAgLnNpdGUtY3JlZGl0cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLnNpdGUtY3JlZGl0cyBwIHtcbiAgICBtYXJnaW46IDAgMCAuNXJsaDsgfVxuICAuc2l0ZS1jcmVkaXRzLCAuc2l0ZS1jcmVkaXRzIGEge1xuICAgIGNvbG9yOiAjQUFBQUFBOyB9XG4gIC5zaXRlLWNyZWRpdHMgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmVudHJ5LWhlYWRlcl9faW5uZXItY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAgIC5lbnRyeS1oZWFkZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC5lbnRyeS1oZWFkZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNnB4OyB9IH1cblxuLnBhZ2UgLmVudHJ5LWhlYWRlciB7XG4gIHBhZGRpbmc6IC41cmxoIDA7IH1cblxuLndwLWJsb2NrLXJvb3QtLXBhZ2UgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciA+IC53cC1ibG9jay1ncm91cC5hbGlnbmZ1bGw6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG5Aa2V5ZnJhbWVzIHpvb20taW4tMSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSB0cmFuc2xhdGVYKDElKSB0cmFuc2xhdGVZKDElKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbS1pbi0yIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVgoLTElKSB0cmFuc2xhdGVZKDElKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbS1pbi0zIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVgoMSUpIHRyYW5zbGF0ZVkoLTElKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbS1pbi00IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVgoLTElKSB0cmFuc2xhdGVZKC0xJSk7IH0gfVxuXG4jaG9tZSAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbiNob21lIC53cC1ibG9jay1nZXR3aWQtYmFubmVyIGltZyB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbiNob21lIC53cC1ibG9jay1nZXR3aWQtYmFubmVyX190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ3JpbXNvbiBQcm8nLCBzZXJpZjtcbiAgZm9udC1zaXplOiA0MXB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiNob21lIC53cC1ibG9jay1nZXR3aWQtYmFubmVyICsgLndwLWJsb2NrLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4jaG9tZS5hZG1pbi1iYXIgLnNpdGUtaGVhZGVyIHtcbiAgdG9wOiAzMnB4OyB9XG5cbiNob21lLmFkbWluLWJhciAubWVudS1tb2RhbC1pbm5lciB7XG4gIHBhZGRpbmctdG9wOiA0cmxoOyB9XG5cbi5ob21lLWludHJvIC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5ob21lLWludHJvIGgyIHtcbiAgZm9udC1zaXplOiBjYWxjKDI2cHggKyBzdHJpcCgzOXB4KSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDg4MHB4KSk7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuMjVybGggKyBzdHJpcCgwLjc1cmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDg4MHB4KSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDEuMjVybGggKyBzdHJpcCgwLjc1cmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDg4MHB4KSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuaG9tZS1pbnRybyBoMiB7XG4gICAgICBmb250LXNpemU6IDY1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmhvbWUtaW50cm8gaDIge1xuICAgICAgbGluZS1oZWlnaHQ6IDJybGg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmhvbWUtaW50cm8gaDIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDJybGg7IH0gfVxuXG4uaG9tZS1pbnRybyAuc2xpY2stbGlzdDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuOCkgMXJsaCwgcmdiYSgwLCAwLCAwLCAwKSA2cmxoKTtcbiAgY29udGVudDogJyc7IH1cblxuLmhvbWUtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTsgfVxuICAuaG9tZS1zbGlkZXIgLndwLWJsb2NrLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmhvbWUtc2xpZGVyIC53cC1ibG9jay1pbWFnZSBpbWcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMyMHB4ICsgc3RyaXAoMjgwcHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoODgwcHgpKTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA2cztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5ob21lLXNsaWRlciAud3AtYmxvY2staW1hZ2UgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDYwMHB4OyB9IH1cbiAgLmhvbWUtc2xpZGVyIC5zbGljay1zbGlkZTpudGgtY2hpbGQoMSkgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgdHJhbnNsYXRlWCgxJSkgdHJhbnNsYXRlWSgxJSk7IH1cbiAgLmhvbWUtc2xpZGVyIC5zbGljay1jdXJyZW50Om50aC1jaGlsZCgxKSBpbWcge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tLWluLTE7IH1cbiAgLmhvbWUtc2xpZGVyIC5zbGljay1zbGlkZTpudGgtY2hpbGQoMikgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgdHJhbnNsYXRlWCgtMSUpIHRyYW5zbGF0ZVkoMSUpOyB9XG4gIC5ob21lLXNsaWRlciAuc2xpY2stY3VycmVudDpudGgtY2hpbGQoMikgaW1nIHtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbS1pbi0yOyB9XG4gIC5ob21lLXNsaWRlciAuc2xpY2stc2xpZGU6bnRoLWNoaWxkKDMpIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVgoMSUpIHRyYW5zbGF0ZVkoLTElKTsgfVxuICAuaG9tZS1zbGlkZXIgLnNsaWNrLWN1cnJlbnQ6bnRoLWNoaWxkKDMpIGltZyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb20taW4tMzsgfVxuICAuaG9tZS1zbGlkZXIgLnNsaWNrLXNsaWRlOm50aC1jaGlsZCg0KSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSB0cmFuc2xhdGVYKC0xJSkgdHJhbnNsYXRlWSgtMSUpOyB9XG4gIC5ob21lLXNsaWRlciAuc2xpY2stY3VycmVudDpudGgtY2hpbGQoNCkgaW1nIHtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbS1pbi00OyB9XG5cbiNob21lIC53cC1ibG9jay1jb3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogY2FsYygzMjBweCArIHN0cmlwKDYwcHgpICogKDEwMHZ3IC0gMzIwcHgpIC8gc3RyaXAoNjgwcHgpKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgI2hvbWUgLndwLWJsb2NrLWNvdmVyIHtcbiAgICAgIGhlaWdodDogMzgwcHg7IH0gfVxuICAjaG9tZSAud3AtYmxvY2stY292ZXIgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBjYWxjKDMycHggKyBzdHJpcCgyMnB4KSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoMS41cmxoICsgc3RyaXAoMC41cmxoKSAqICgxMDB2dyAtIDMyMHB4KSAvIHN0cmlwKDY4MHB4KSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAjaG9tZSAud3AtYmxvY2stY292ZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDU0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICNob21lIC53cC1ibG9jay1jb3ZlciBoMiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmxoOyB9IH1cblxuI2NvbnRhY3QgLndwLWJsb2NrLWNvbHVtbjpmaXJzdC1jaGlsZCA+IC5oYXMtYmFja2dyb3VuZDpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjY29udGFjdCAud3AtYmxvY2stY29sdW1uOmZpcnN0LWNoaWxkID4gLmhhcy1iYWNrZ3JvdW5kOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9pbWcvdGV4dHVyZS15LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNDBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3R0b206IHJlbSgyLjg4ODgpO1xuICAgIGxlZnQ6IHJlbSgtMi44ODg4KTtcbiAgICB3aWR0aDogcmVtKDIuODg4OCk7XG4gICAgaGVpZ2h0OiByZW0oNy4yMjIpOyB9XG5cbi5oYXMtYmxhY2stYmFzZS1jb2xvciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICAvKiFleHBvcnQqLyB9XG4gIC5pcy1zdHlsZS1vdXRsaW5lIC5oYXMtYmxhY2stYmFzZS1jb2xvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XG5cbi5oYXMtYmxhY2stYmFzZS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4uaGFzLWJsdWUtZGFyay1jb2xvciB7XG4gIGNvbG9yOiAjMDIyNzQ3O1xuICAvKiFleHBvcnQqLyB9XG4gIC5pcy1zdHlsZS1vdXRsaW5lIC5oYXMtYmx1ZS1kYXJrLWNvbG9yIHtcbiAgICBib3JkZXItY29sb3I6ICMwMjI3NDc7IH1cblxuLmhhcy1ibHVlLWRhcmstYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjI3NDc7IH1cblxuLmhhcy1ibHVlLWJhc2UtY29sb3Ige1xuICBjb2xvcjogIzZEOUFBRDtcbiAgLyohZXhwb3J0Ki8gfVxuICAuaXMtc3R5bGUtb3V0bGluZSAuaGFzLWJsdWUtYmFzZS1jb2xvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNkQ5QUFEOyB9XG5cbi5oYXMtYmx1ZS1iYXNlLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkQ5QUFEOyB9XG5cbi5oYXMtZ3JheS1kYXJrLWNvbG9yIHtcbiAgY29sb3I6ICNBQUFBQUE7XG4gIC8qIWV4cG9ydCovIH1cbiAgLmlzLXN0eWxlLW91dGxpbmUgLmhhcy1ncmF5LWRhcmstY29sb3Ige1xuICAgIGJvcmRlci1jb2xvcjogI0FBQUFBQTsgfVxuXG4uaGFzLWdyYXktZGFyay1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0FBQUFBQTsgfVxuXG4uaGFzLWdyYXktYmFzZS1jb2xvciB7XG4gIGNvbG9yOiAjQ0NDQ0NDO1xuICAvKiFleHBvcnQqLyB9XG4gIC5pcy1zdHlsZS1vdXRsaW5lIC5oYXMtZ3JheS1iYXNlLWNvbG9yIHtcbiAgICBib3JkZXItY29sb3I6ICNDQ0NDQ0M7IH1cblxuLmhhcy1ncmF5LWJhc2UtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0NDQ0M7IH1cblxuLmhhcy1ncmF5LWxpZ2h0LWNvbG9yIHtcbiAgY29sb3I6ICNFQUVBRUE7XG4gIC8qIWV4cG9ydCovIH1cbiAgLmlzLXN0eWxlLW91dGxpbmUgLmhhcy1ncmF5LWxpZ2h0LWNvbG9yIHtcbiAgICBib3JkZXItY29sb3I6ICNFQUVBRUE7IH1cblxuLmhhcy1ncmF5LWxpZ2h0LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFQUVBOyB9XG5cbi5oYXMtd2hpdGUtYmFzZS1jb2xvciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICAvKiFleHBvcnQqLyB9XG4gIC5pcy1zdHlsZS1vdXRsaW5lIC5oYXMtd2hpdGUtYmFzZS1jb2xvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oYXMtd2hpdGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuIiwiLyohXG5UaGVtZSBOYW1lOiBTdC1Ob3JiZXJ0XG5UZXh0IERvbWFpbjogc3Rub3JiZXJ0XG5WZXJzaW9uOiAxLjBcbiovXG5cbkBpbXBvcnQgXCJjb25maWdcIjtcbkBpbXBvcnQgXCJsaWIvcG1iL3BtYlwiO1xuXG5cblxuXG4vKiBDbGVhcmluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5ncm91cDo6YWZ0ZXIsXG4uZW50cnktY29udGVudDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLyogQmFzZSBUcmFuc2l0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5hLFxucGF0aCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhcjtcbn1cblxuXG4vKiBTY3JlZW4gUmVhZGVyIFRleHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgY29sb3I6ICMyMTc1OWI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICByaWdodDogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbn1cblxuXG4vKiBTa2lwIExpbmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5za2lwLWxpbmsge1xuICAgIGxlZnQ6IC05OTk5cmVtO1xuICAgIHRvcDogMi41cmVtO1xuICAgIHotaW5kZXg6IDk5OTk5OTk5OTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNraXAtbGluazpmb2N1cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogNnB4O1xuICAgIHRvcDogN3B4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICByaWdodDogYXV0bztcbn1cblxuXG4vKiBBY2Nlc3NpYmlsaXR5IFNldHRpbmdzIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtZWRpYSAoIHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSApIHtcblxuICAgICoge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qICAyLiBFbGVtZW50IEJhc2Vcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAgMy4gSGVscGVyIENsYXNzZXNcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLyogTGF5b3V0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29udGFpbmVyIHtcblxuICAgIEBpbmNsdWRlIHBtYi1ibG9jaygnd2lkZScpO1xuXG4gICAgYm94LXNpemluZzogICBib3JkZXItYm94O1xuICAgIG1hcmdpbi1sZWZ0OiAgYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5zY3JlZW4taGVpZ2h0IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLmFkbWluLWJhciAuc2NyZWVuLWhlaWdodCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzgycHgpIHtcblxuICAgIC5hZG1pbi1iYXIgLnNjcmVlbi1oZWlnaHQge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDZweCk7XG4gICAgfVxufVxuXG4uc2NyZWVuLXdpZHRoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICB3aWR0aDogMTAwdnc7XG59XG5cblxuLyogSGlkaW5nIGFuZCBTaG93aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uanMgLnNob3ctanMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5qcyAuaGlkZS1qcyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubm8tanMgLnNob3ctbm8tanMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5uby1qcyAuaGlkZS1uby1qcyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8qIFR5cG9ncmFwaHkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZvbnQtc2l6ZS14bCB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG59XG5cbi5mb250LXNpemUteHMge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5uby1zZWxlY3Qge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5cbi8qIENvbG9ycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogQ09MT1IgKi9cblxuLmNvbG9yLWFjY2VudCxcbi5jb2xvci1hY2NlbnQtaG92ZXI6Zm9jdXMsXG4uY29sb3ItYWNjZW50LWhvdmVyOmhvdmVyIHtcbiAgICBjb2xvcjogI2NkMjY1Mztcbn1cblxuLyogQkFDS0dST1VORCBDT0xPUiAqL1xuXG4uYmctYWNjZW50LFxuLmJnLWFjY2VudC1ob3Zlcjpmb2N1cyxcbi5iZy1hY2NlbnQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDI2NTM7XG59XG5cbi8qIEJPUkRFUiBDT0xPUiAqL1xuXG4uYm9yZGVyLWNvbG9yLWFjY2VudCxcbi5ib3JkZXItY29sb3ItYWNjZW50LWhvdmVyOmZvY3VzLFxuLmJvcmRlci1jb2xvci1hY2NlbnQtaG92ZXI6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2NkMjY1Mztcbn1cblxuLyogRklMTCBDT0xPUiAqL1xuXG4uZmlsbC1jaGlsZHJlbi1hY2NlbnQsXG4uZmlsbC1jaGlsZHJlbi1hY2NlbnQgKiB7XG4gICAgZmlsbDogI2NkMjY1Mztcbn1cblxuLmZpbGwtY2hpbGRyZW4tY3VycmVudC1jb2xvcixcbi5maWxsLWNoaWxkcmVuLWN1cnJlbnQtY29sb3IgKiB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG5cbi8qIE9wYWNpdHkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGZvciAkb3BhY2l0eSBmcm9tIDAgdGhyb3VnaCAxMDAge1xuICAgIEBpZiAkb3BhY2l0eSAlIDUgPT0gMCB7XG4gICAgICAgIC5vcGFjaXR5LSN7JG9wYWNpdHl9IHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5LzEwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGVhY2ggJGJsZW5kLW1vZGUgaW4gKGV4Y2x1c2lvbiwgaHVlLCBzYXR1cmF0aW9uLCBjb2xvciwgbHVtaW5vc2l0eSkge1xuICAgIC5ibGVuZC1tb2RlLSN7JGJsZW5kLW1vZGV9IHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6ICRibGVuZC1tb2RlO1xuICAgIH1cbn1cblxuXG4vKiBJbWFnZSBDbGFzc2VzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5iZy1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLmJnLWF0dGFjaG1lbnQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG59XG5cbkBzdXBwb3J0cyAoIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCApIHtcblxuICAgIC5iZy1hdHRhY2htZW50LWZpeGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XG4gICAgfVxufVxuXG5AbWVkaWEgKCBwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UgKSB7XG5cbiAgICAuYmctYXR0YWNobWVudC1maXhlZCB7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICAgIH1cbn1cblxuLndwLWJsb2NrLWltYWdlLmlzLXJlc2l6ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLyogU2VhcmNoIEZvcm0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2VhcmNoLWZvcm0ge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWFyZ2luOiAwIDAgLTAuOHJlbSAtMC44cmVtO1xufVxuXG4uc2VhcmNoLWZvcm0gLnNlYXJjaC1maWVsZCxcbi5zZWFyY2gtZm9ybSAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgbWFyZ2luOiAwIDAgMC44cmVtIDAuOHJlbTtcbn1cblxuLnNlYXJjaC1mb3JtIGxhYmVsIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWFyY2gtZm9ybSAuc2VhcmNoLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0IHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0OmZvY3VzLFxuLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0OmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogU29jaWFsIEljb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG51bC5zb2NpYWwtaWNvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogLTAuOXJlbSAwIDAgLTAuOXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMC45cmVtKTtcbn1cblxudWwuc29jaWFsLWljb25zIGxpIHtcbiAgICBtYXJnaW46IDAuOXJlbSAwIDAgMC45cmVtO1xufVxuXG4uc29jaWFsLWljb25zIGEge1xuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihibGFjayk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogNDBweDtcbn1cblxuLnNvY2lhbC1pY29ucyBhOmZvY3VzLFxuLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIENvdmVyIE1vZGFscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNvdmVyLW1vZGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdzogLW1vei1zY3JvbGxiYXJzLW5vbmU7XG59XG5cbi5jb3Zlci1tb2RhbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNvdmVyLW1vZGFsLnNob3ctbW9kYWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvdmVyLW1vZGFsLnNob3ctbW9kYWwgPiAqIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKiBIZWFkZXIgVGl0bGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5oZWFkZXItdGl0bGVzLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5ib2R5Om5vdCguZW5hYmxlLXNlYXJjaC1tb2RhbCkgLmhlYWRlci10aXRsZXMtd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2l0ZS10aXRsZSxcbi5zaXRlLWxvZ28sXG4uc2l0ZS1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uc2l0ZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnNpdGUtdGl0bGUgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2l0ZS10aXRsZSBhOmhvdmVyLFxuLnNpdGUtdGl0bGUgYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zaXRlLWxvZ28gYSxcbi5zaXRlLWxvZ28gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmhlYWRlci10aXRsZXMgLnNpdGUtbG9nbyAuc2l0ZS1sb2dvIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5zaXRlLWxvZ28gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA2cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG5ib2R5Om5vdCguZW5hYmxlLXNlYXJjaC1tb2RhbCkgLnNpdGUtbG9nbyBpbWcge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogT3ZlcmxheSBIZWFkZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ub3ZlcmxheS1oZWFkZXIgI3NpdGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5vdmVybGF5LWhlYWRlciAuaGVhZGVyLWlubmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLm92ZXJsYXktaGVhZGVyIC5zaXRlLWRlc2NyaXB0aW9uLFxuLm92ZXJsYXktaGVhZGVyIC50b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4ub3ZlcmxheS1oZWFkZXIgLmhlYWRlci1pbm5lciAudG9nZ2xlLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIG9wYWNpdHk6IDAuMjU7XG59XG5cbi5hZG1pbi1iYXIub3ZlcmxheS1oZWFkZXIgI3NpdGUtaGVhZGVyIHtcbiAgICB0b3A6IDMycHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODJweCkge1xuXG4gICAgLmFkbWluLWJhci5vdmVybGF5LWhlYWRlciAjc2l0ZS1oZWFkZXIge1xuICAgICAgICB0b3A6IDQ2cHg7XG4gICAgfVxufVxuXG4vKiBIZWFkZXIgTmF2aWdhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5oZWFkZXItbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qIFByaW1hcnkgTWVudSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLnByaW1hcnktbWVudSB7XG5cbn1cblxuXG5cblxuLnByaW1hcnktbWVudSAuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwLjdyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgd2lkdGg6IDEuM3JlbTtcbn1cblxuLnByaW1hcnktbWVudSAuaWNvbjo6YmVmb3JlLFxuLnByaW1hcnktbWVudSAuaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IGNhbGMoNTAlIC0gMC4xcmVtKTtcbiAgICBsZWZ0OiAwO1xufVxuXG4ucHJpbWFyeS1tZW51IC5pY29uOjpiZWZvcmUge1xuICAgIGhlaWdodDogMC45cmVtO1xuICAgIHdpZHRoOiAwLjJyZW07XG59XG5cbi5wcmltYXJ5LW1lbnUgLmljb246OmFmdGVyIHtcbiAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICB3aWR0aDogMC45cmVtO1xufVxuXG4ucHJpbWFyeS1tZW51IGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJpbWFyeS1tZW51ID4gbGkge1xuICAgIG1hcmdpbjogMC44cmVtIDAgMCAxLjZyZW07XG59XG5cbi5wcmltYXJ5LW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbn1cblxuLnByaW1hcnktbWVudSA+IGxpID4gLmljb24ge1xuICAgIHJpZ2h0OiAtMC41cmVtO1xuICAgIHRvcDogY2FsYyg1MCUgLSAwLjRyZW0pO1xufVxuXG4ucHJpbWFyeS1tZW51IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuLnByaW1hcnktbWVudSBhOmhvdmVyLFxuLnByaW1hcnktbWVudSBhOmZvY3VzLFxuLnByaW1hcnktbWVudSAuY3VycmVudF9wYWdlX2FuY2VzdG9yIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogU1VCIE1FTlUgKi9cblxuLnByaW1hcnktbWVudSB1bCB1bCB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA5OTk5cmVtO1xuICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDBzIDAuMTVzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjZyZW0pO1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ucHJpbWFyeS1tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiB1bCxcbi5wcmltYXJ5LW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyA+IHVsLFxuLnByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmZvY3VzID4gdWwge1xuICAgIHJpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xufVxuXG4ucHJpbWFyeS1tZW51IHVsOjpiZWZvcmUsXG4ucHJpbWFyeS1tZW51IHVsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xufVxuXG4ucHJpbWFyeS1tZW51IHVsOjpiZWZvcmUge1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4ucHJpbWFyeS1tZW51IHVsOjphZnRlciB7XG4gICAgYm9yZGVyOiAwLjhyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbiAgICByaWdodDogMS44cmVtO1xufVxuXG5cbi5wcmltYXJ5LW1lbnUgdWwgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQuNXJlbTtcbn1cblxuLnByaW1hcnktbWVudSB1bCBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMC41cmVtKTtcbn1cblxuLyogREVFUCBET1dOICovXG5cbi5wcmltYXJ5LW1lbnUgdWwgdWwge1xuICAgIHRvcDogLTFyZW07XG59XG5cbi5wcmltYXJ5LW1lbnUgdWwgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IHVsLFxuLnByaW1hcnktbWVudSB1bCBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzID4gdWwsXG4ucHJpbWFyeS1tZW51IHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uZm9jdXMgPiB1bCB7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSArIDJyZW0pO1xufVxuXG4ucHJpbWFyeS1tZW51IHVsIHVsOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTJyZW07XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAycmVtO1xufVxuXG4ucHJpbWFyeS1tZW51IHVsIHVsOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAvKnJ0bDppZ25vcmUqL1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogLTEuNnJlbTtcbiAgICB0b3A6IDJyZW07XG59XG5cbi5ydGwgLnByaW1hcnktbWVudSB1bCB1bDo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi8qXG4gKiBFbmFibGUgbmF2IHN1Ym1lbnUgZXhwYW5zaW9uIHdpdGggdGFwcGluZyBvbiBhcnJvd3Mgb24gbGFyZ2Utdmlld3BvcnRcbiAqIHRvdWNoIGludGVyZmFjZXMgKGUuZy4gdGFibGV0cyBvciBsYXB0b3BzIHdpdGggdG91Y2ggc2NyZWVucykuXG4gKiBUaGVzZSBydWxlcyBhcmUgc3VwcG9ydGVkIGJ5IGFsbCBicm93c2VycyAoPklFMTEpIGFuZCB3aGVuIEpTIGlzIGRpc2FibGVkLlxuICovXG5AbWVkaWEgKGFueS1wb2ludGVyOiBjb2Fyc2UpIHtcblxuICAgIC5wcmltYXJ5LW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICAucHJpbWFyeS1tZW51IHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0LjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICB9XG5cbn1cblxuLyogUmVwZWF0IHByZXZpb3VzIHJ1bGVzIGZvciBJRTExICh3aGVuIEpTIGVuYWJsZWQgZm9yIHBvbHlmaWxsKS4gKi9cbmJvZHkudG91Y2gtZW5hYmxlZCAucHJpbWFyeS1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xufVxuXG5ib2R5LnRvdWNoLWVuYWJsZWQgLnByaW1hcnktbWVudSB1bCBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0LjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogdW5zZXQ7XG59XG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAgNi4gU2VhcmNoIE1vZGFsXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi5zZWFyY2gtbW9kYWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtOTk5OXJlbTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhciwgbGVmdCAwcyAwLjJzIGxpbmVhcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk7XG59XG5cbi5hZG1pbi1iYXIgLnNlYXJjaC1tb2RhbC5hY3RpdmUge1xuICAgIHRvcDogMzJweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG5cbiAgICAuYWRtaW4tYmFyIC5zZWFyY2gtbW9kYWwuYWN0aXZlIHtcbiAgICAgICAgdG9wOiA0NnB4O1xuICAgIH1cbn1cblxuLnNlYXJjaC1tb2RhbC1pbm5lciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIGJveC1zaGFkb3cgMC4xNXMgbGluZWFyO1xufVxuXG4uc2VhcmNoLW1vZGFsLWlubmVyIC5zZWN0aW9uLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXgtd2lkdGg6IDE2OHJlbTtcbn1cblxuLnNlYXJjaC1tb2RhbC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xufVxuXG4uc2VhcmNoLW1vZGFsLmFjdGl2ZSAuc2VhcmNoLW1vZGFsLWlubmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMnJlbSAwIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjFzIDAuMjVzIGxpbmVhcjtcbn1cblxuYnV0dG9uLnNlYXJjaC11bnRvZ2dsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogLTIuNXJlbTtcbiAgICBwYWRkaW5nOiAwIDIuNXJlbTtcbn1cblxuLnNlYXJjaC1tb2RhbCBidXR0b24uc2VhcmNoLXVudG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnNlYXJjaC1tb2RhbC5hY3RpdmUgLnNlYXJjaC11bnRvZ2dsZSB7XG4gICAgYW5pbWF0aW9uOiBwb3BJbiBib3RoIDAuM3MgMC4ycztcbn1cblxuLnNlYXJjaC11bnRvZ2dsZSBzdmcge1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMS41cmVtO1xufVxuXG4uc2VhcmNoLXVudG9nZ2xlOmZvY3VzIHN2Zyxcbi5zZWFyY2gtdW50b2dnbGU6aG92ZXIgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xufVxuXG5cbi8qIE1vZGFsIFNlYXJjaCBGb3JtIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNlYXJjaC1tb2RhbCBmb3JtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VhcmNoLW1vZGFsIC5zZWFyY2gtZmllbGQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGhlaWdodDogOC40cmVtO1xuICAgIG1hcmdpbjogMCAwIDAgLTJyZW07XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICBwYWRkaW5nOiAwIDAgMCAycmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycmVtKTtcbn1cblxuLnNlYXJjaC1tb2RhbCAuc2VhcmNoLWZpZWxkOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnNlYXJjaC1tb2RhbCAuc2VhcmNoLWZpZWxkOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5zZWFyY2gtbW9kYWwgLnNlYXJjaC1maWVsZDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDQ7XG59XG5cbi5zZWFyY2gtbW9kYWwgLnNlYXJjaC1zdWJtaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTk5OTlyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uc2VhcmNoLW1vZGFsIC5zZWFyY2gtc3VibWl0OmZvY3VzIHtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAgN2EuIFRlbXBsYXRlOiBDb3ZlciBUZW1wbGF0ZVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4uY292ZXItaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb3Zlci1oZWFkZXItaW5uZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY292ZXItaGVhZGVyLWlubmVyIHtcbiAgICBwYWRkaW5nOiAxMHJlbSAwIDVyZW0gMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvdmVyLWNvbG9yLW92ZXJsYXksXG4uY292ZXItY29sb3Itb3ZlcmxheTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4uY292ZXItY29sb3Itb3ZlcmxheTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvdmVyLWhlYWRlciAuZW50cnktaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmNvdmVyLWhlYWRlciAuZW50cnktaGVhZGVyICoge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG5ib2R5LnRlbXBsYXRlLWNvdmVyIC5lbnRyeS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jb3Zlci1oZWFkZXIgaDEsXG4uY292ZXItaGVhZGVyIGgyLFxuLmNvdmVyLWhlYWRlciBoMyxcbi5jb3Zlci1oZWFkZXIgaDQsXG4uY292ZXItaGVhZGVyIGg1LFxuLmNvdmVyLWhlYWRlciBoNixcbi5jb3Zlci1oZWFkZXIgLmZhdXgtaGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jb3Zlci1oZWFkZXIgLmVudHJ5LWhlYWRlciBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLyogVG8gVGhlIENvbnRlbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udG8tdGhlLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjVyZW0pO1xufVxuXG4udG8tdGhlLWNvbnRlbnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udG8tdGhlLWNvbnRlbnQgc3ZnIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgd2lkdGg6IDEuNzY3cmVtO1xufVxuXG4udG8tdGhlLWNvbnRlbnQ6Zm9jdXMgc3ZnLFxuLnRvLXRoZS1jb250ZW50OmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwJSk7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogIDdjLiBUZW1wbGF0ZTogRnVsbCBXaWR0aFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgPiAqOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbmxlZnQpOm5vdCguYWxpZ25yaWdodCk6bm90KC5pcy1zdHlsZS13aWRlKSxcbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAqOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbmxlZnQpOm5vdCguYWxpZ25yaWdodCk6bm90KC5pcy1zdHlsZS13aWRlKSB7XG4gICAgbWF4LXdpZHRoOiAxMjByZW07XG59XG5cbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCAuZW50cnktY29udGVudCAuYWxpZ25sZWZ0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50IC5hbGlnbnJpZ2h0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCxcbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCBbY2xhc3MqPVwid3AtYmxvY2tcIl0uYWxpZ253aWRlIFtjbGFzcyo9XCJfX2lubmVyLWNvbnRhaW5lclwiXSA+IC5hbGlnbmxlZnQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWdud2lkZSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiBwIC5hbGlnbmxlZnQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWdud2lkZSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAud3AtYmxvY2staW1hZ2UgLmFsaWdubGVmdCB7XG5cbiAgICAvKnJ0bDppZ25vcmUqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCAuZW50cnktY29udGVudCA+IC5hbGlnbmxlZnQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWduZnVsbDpub3QoLmhhcy1iYWNrZ3JvdW5kKSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAuYWxpZ25sZWZ0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbmZ1bGw6bm90KC5oYXMtYmFja2dyb3VuZCkgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gcCAuYWxpZ25sZWZ0LFxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIFtjbGFzcyo9XCJ3cC1ibG9ja1wiXS5hbGlnbmZ1bGw6bm90KC5oYXMtYmFja2dyb3VuZCkgW2NsYXNzKj1cIl9faW5uZXItY29udGFpbmVyXCJdID4gLndwLWJsb2NrLWltYWdlIC5hbGlnbmxlZnQge1xuXG4gICAgLypydGw6aWdub3JlKi9cbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgLmFsaWducmlnaHQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWdud2lkZSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAuYWxpZ25yaWdodCxcbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCBbY2xhc3MqPVwid3AtYmxvY2tcIl0uYWxpZ253aWRlIFtjbGFzcyo9XCJfX2lubmVyLWNvbnRhaW5lclwiXSA+IHAgLmFsaWducmlnaHQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWdud2lkZSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQge1xuXG4gICAgLypydGw6aWdub3JlKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuYm9keS50ZW1wbGF0ZS1mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50ID4gLmFsaWducmlnaHQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWduZnVsbDpub3QoLmhhcy1iYWNrZ3JvdW5kKSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAuYWxpZ25yaWdodCxcbmJvZHkudGVtcGxhdGUtZnVsbC13aWR0aCBbY2xhc3MqPVwid3AtYmxvY2tcIl0uYWxpZ25mdWxsOm5vdCguaGFzLWJhY2tncm91bmQpIFtjbGFzcyo9XCJfX2lubmVyLWNvbnRhaW5lclwiXSA+IHAgLmFsaWducmlnaHQsXG5ib2R5LnRlbXBsYXRlLWZ1bGwtd2lkdGggW2NsYXNzKj1cIndwLWJsb2NrXCJdLmFsaWduZnVsbDpub3QoLmhhcy1iYWNrZ3JvdW5kKSBbY2xhc3MqPVwiX19pbm5lci1jb250YWluZXJcIl0gPiAud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQge1xuXG4gICAgLypydGw6aWdub3JlKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAgOC4gUG9zdDogQXJjaGl2ZVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiBBcmNoaXZlIEhlYWRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hcmNoaXZlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG59XG5cbi5yZWR1Y2VkLXNwYWNpbmcgLmFyY2hpdmUtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuLmFyY2hpdmUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYXJjaGl2ZS1zdWJ0aXRsZSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLyogUG9zdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5ib2R5Om5vdCguc2luZ3VsYXIpIG1haW4gPiBhcnRpY2xlOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmc6IDRyZW0gMCAwO1xufVxuXG5cbi8qIFNlYXJjaCBSZXN1bHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm5vLXNlYXJjaC1yZXN1bHRzLWZvcm0ge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qICA5LiBQb3N0OiBTaW5nbGVcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLyogUG9zdCBIZWFkZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZW50cnktY2F0ZWdvcmllcyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmVudHJ5LWNhdGVnb3JpZXMtaW5uZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogLTAuNXJlbSAwIDAgLTFyZW07XG59XG5cbi5lbnRyeS1jYXRlZ29yaWVzIGEge1xuICAgIGJvcmRlci1ib3R0b206IDAuMTVyZW0gc29saWQgY3VycmVudENvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwIDFyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5lbnRyeS1jYXRlZ29yaWVzIGE6Zm9jdXMsXG4uZW50cnktY2F0ZWdvcmllcyBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmVudHJ5LXRpdGxlIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmVudHJ5LXRpdGxlIGE6Zm9jdXMsXG4uZW50cnktdGl0bGUgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5pbnRyby10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4uc2luZ3VsYXIgLmludHJvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBQT1NUIE1FVEEgKi9cblxuLnBvc3QtbWV0YS1zaW5nbGUtdG9wIC5wb3N0LW1ldGEge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucG9zdC1tZXRhLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNThyZW07XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wb3N0LW1ldGEge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IC0xcmVtIDAgMCAtMnJlbTtcbn1cblxuLnBvc3QtbWV0YSBsaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAxcmVtIDAgMCAycmVtO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG59XG5cbi5wb3N0LW1ldGEgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucG9zdC1tZXRhIGE6Zm9jdXMsXG4ucG9zdC1tZXRhIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucG9zdC1tZXRhIC5tZXRhLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnBvc3QtbWV0YSAubWV0YS1pY29uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5zdGlja3kgLnBvc3Qtc3RpY2t5IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnBvc3QtbWV0YSAucG9zdC1hdXRob3IgLm1ldGEtaWNvbiBzdmcge1xuICAgIHdpZHRoOiAxLjZyZW07XG4gICAgaGVpZ2h0OiAxLjhyZW07XG59XG5cbi5wb3N0LW1ldGEgLnBvc3QtY2F0ZWdvcmllcyAubWV0YS1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDEuOHJlbTtcbiAgICBoZWlnaHQ6IDEuN3JlbTtcbn1cblxuLnBvc3QtbWV0YSAucG9zdC1jb21tZW50LWxpbmsgLm1ldGEtaWNvbiBzdmcge1xuICAgIHdpZHRoOiAxLjhyZW07XG4gICAgaGVpZ2h0OiAxLjhyZW07XG59XG5cbi5wb3N0LW1ldGEgLnBvc3QtZGF0ZSAubWV0YS1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDEuN3JlbTtcbiAgICBoZWlnaHQ6IDEuOHJlbTtcbn1cblxuLnBvc3QtbWV0YSAucG9zdC1lZGl0IC5tZXRhLWljb24gc3ZnIHtcbiAgICB3aWR0aDogMS44cmVtO1xuICAgIGhlaWdodDogMS44cmVtO1xufVxuXG4ucG9zdC1tZXRhIC5wb3N0LXN0aWNreSAubWV0YS1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuOHJlbTtcbn1cblxuLnBvc3QtbWV0YSAucG9zdC10YWdzIC5tZXRhLWljb24gc3ZnIHtcbiAgICB3aWR0aDogMS44cmVtO1xuICAgIGhlaWdodDogMS44cmVtO1xufVxuXG4ucG9zdC1tZXRhIHN2ZyAqIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cblxuLyogRmVhdHVyZWQgTWVkaWEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmVhdHVyZWQtbWVkaWEge1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2luZ3VsYXIgLmZlYXR1cmVkLW1lZGlhIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uc2luZ3VsYXIgLmZlYXR1cmVkLW1lZGlhLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICB3aWR0aDogMTAwdnc7XG59XG5cbi5zaW5ndWxhciAuZmVhdHVyZWQtbWVkaWE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbn1cblxuLmZlYXR1cmVkLW1lZGlhIGltZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mZWF0dXJlZC1tZWRpYSBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW46IDEuNXJlbSBhdXRvIDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVyZW0pO1xufVxuXG4ucmVkdWNlZC1zcGFjaW5nLm1pc3NpbmctcG9zdC10aHVtYm5haWwgLnBvc3QtaW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG5cbi8qIFBvc3QgRm9vdGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogUE9TVCBOQVYgTElOS1MgKi9cblxuLnBvc3QtbmF2LWxpbmtzIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAzZW0gYXV0byAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gICAgbWF4LXdpZHRoOiA1OHJlbTtcbn1cblxuLnBvc3QtbmF2LWxpbmtzID4gc3Bhbi5sYWJlbCB7XG4gICAgcGFkZGluZzogMWVtIDA7XG59XG5cbi5wb3N0LW5hdi1saW5rcyA+ICoge1xuICAgIHBhZGRpbmc6IDFlbSAwLjc1ZW07XG59XG5cbi8qIFBPU1QgTUVUQSBCT1RUT00gKi9cblxuLnBvc3QtbWV0YS13cmFwcGVyLnBvc3QtbWV0YS1zaW5nbGUtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG5cbi8qIEF1dGhvciBCaW8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmF1dGhvci1iaW8ge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNThyZW07XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5oaWRlLWF2YXRhcnMgLmF1dGhvci1iaW8ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmF1dGhvci1iaW8gLmF1dGhvci10aXRsZS13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xufVxuXG4uYXV0aG9yLWJpbyAuYXZhdGFyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIHdpZHRoOiA1cmVtO1xufVxuXG4uaGlkZS1hdmF0YXJzIGltZy5hdmF0YXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hdXRob3ItYmlvIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmF1dGhvci1iaW8gLmF1dGhvci10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYXV0aG9yLWJpbyAuYXV0aG9yLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmF1dGhvci1iaW8gLmF1dGhvci1saW5rOmZvY3VzLFxuLmF1dGhvci1iaW8gLmF1dGhvci1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuXG4vKiBTaW5nbGUgUGFnaW5hdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wYWdpbmF0aW9uLXNpbmdsZSB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcbn1cblxuLnBhZ2luYXRpb24tc2luZ2xlLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5wYWdpbmF0aW9uLXNpbmdsZSBocjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIDAgMi44cmVtIDA7XG59XG5cbi5wYWdpbmF0aW9uLXNpbmdsZSBocjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDIuOHJlbSAwIDAuOHJlbSAwO1xufVxuXG4ucGFnaW5hdGlvbi1zaW5nbGUgYSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZmxleDogMTtcbn1cblxuLnBhZ2luYXRpb24tc2luZ2xlIGEgKyBhIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ucGFnaW5hdGlvbi1zaW5nbGUgYSAuYXJyb3cge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLnBhZ2luYXRpb24tc2luZ2xlIGE6Zm9jdXMgLnRpdGxlLFxuLnBhZ2luYXRpb24tc2luZ2xlIGE6aG92ZXIgLnRpdGxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAgMTAuIEJsb2Nrc1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiBCbG9jayBDb2xvcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5oYXMtdGV4dC1jb2xvciBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLyogQ1VTVE9NIENPTE9SUyAqL1xuXG46cm9vdCAuaGFzLWFjY2VudC1jb2xvciB7XG4gICAgY29sb3I6ICNjZDI2NTM7XG59XG5cbjpyb290IC5oYXMtYWNjZW50LWJhY2tncm91bmQtY29sb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDI2NTM7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbjpyb290IC5oYXMtcHJpbWFyeS1jb2xvciB7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbjpyb290IC5oYXMtcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZjVlZmUwO1xufVxuXG46cm9vdCAuaGFzLXNlY29uZGFyeS1jb2xvciB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG59XG5cbjpyb290IC5oYXMtc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDZkNmQ7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbjpyb290IC5oYXMtc3VidGxlLWJhY2tncm91bmQtY29sb3Ige1xuICAgIGNvbG9yOiAjZGNkN2NhO1xufVxuXG46cm9vdCAuaGFzLXN1YnRsZS1iYWNrZ3JvdW5kLWJhY2tncm91bmQtY29sb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2Q3Y2E7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbjpyb290IC5oYXMtYmFja2dyb3VuZC1jb2xvciB7XG4gICAgY29sb3I6ICNmNWVmZTA7XG59XG5cbjpyb290IC5oYXMtYmFja2dyb3VuZC1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVlZmUwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG5cbi8qIEJsb2NrIFR5cG9ncmFwaHkgQ2xhc3NlcyAtLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhhcy10ZXh0LWFsaWduLWxlZnQge1xuXG4gICAgLypydGw6aWdub3JlKi9cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaGFzLXRleHQtYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXMtdGV4dC1hbGlnbi1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5oYXMtZHJvcC1jYXA6bm90KDpmb2N1cyk6OmZpcnN0LWxldHRlciB7XG4gICAgY29sb3I6ICNjZDI2NTM7XG4gICAgZm9udC1zaXplOiA1LjFlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIG1hcmdpbjogMC4wNWVtIDAuMWVtIDAgMDtcbn1cblxuLmhhcy1kcm9wLWNhcDpub3QoOmZvY3VzKTo6Zmlyc3QtbGV0dGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLmhhcy1kcm9wLWNhcDpub3QoOmZvY3VzKTo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuLyogQmxvY2sgRm9udCBTaXplcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZW50cnktY29udGVudCAuaGFzLXNtYWxsLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAwLjg0MmVtO1xufVxuXG4uZW50cnktY29udGVudCAuaGFzLW5vcm1hbC1mb250LXNpemUsXG4uZW50cnktY29udGVudCAuaGFzLXJlZ3VsYXItZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLmhhcy1tZWRpdW0tZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uZW50cnktY29udGVudCAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLmhhcy1sYXJnZXItZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cblxuLyogQmxvY2s6IEJhc2UgTWFyZ2lucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIEJsb2NrOiBTaGFyZWQgV2lkZ2V0IFN0eWxlcyAtLS0tLS0tLS0tLS0tLS0gKi9cblxuLndwLWJsb2NrLWFyY2hpdmVzLFxuLndwLWJsb2NrLWNhdGVnb3JpZXMsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLFxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLndwLWJsb2NrLWFyY2hpdmVzIHVsLFxuLndwLWJsb2NrLWNhdGVnb3JpZXMgdWwsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIHVsLFxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWFyY2hpdmVzID4gbGksXG4uZW50cnktY29udGVudCAud3AtYmxvY2stY2F0ZWdvcmllcyA+IGxpLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1wb3N0cyA+IGxpLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50ID4gbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZW50cnktY29udGVudCAud3AtYmxvY2stYXJjaGl2ZXMgPiBsaTpsYXN0LWNoaWxkLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWNhdGVnb3JpZXMgPiBsaTpsYXN0LWNoaWxkLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1wb3N0cyA+IGxpOmxhc3QtY2hpbGQsXG4uZW50cnktY29udGVudCAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnQgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktY29udGVudCAud3AtYmxvY2stYXJjaGl2ZXMgbGksXG4uZW50cnktY29udGVudCAud3AtYmxvY2stY2F0ZWdvcmllcyBsaSxcbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1sYXRlc3QtcG9zdHMgbGkge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xufVxuXG4ud3AtYmxvY2stYXJjaGl2ZXMgYSxcbi53cC1ibG9jay1jYXRlZ29yaWVzIGEsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIGEsXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud3AtYmxvY2stYXJjaGl2ZXMgYTpob3Zlcixcbi53cC1ibG9jay1jYXRlZ29yaWVzIGE6aG92ZXIsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIGE6aG92ZXIsXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIGE6aG92ZXIsXG4ud3AtYmxvY2stYXJjaGl2ZXMgYTpmb2N1cyxcbi53cC1ibG9jay1jYXRlZ29yaWVzIGE6Zm9jdXMsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIGE6Zm9jdXMsXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIGE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIGEsXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50LW1ldGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtZGF0ZSxcbi53cC1ibG9jay1sYXRlc3QtcG9zdHNfX3Bvc3QtZGF0ZSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi10b3A6IDAuMTVlbTtcbn1cblxuXG4vKiBCbG9jazogU2hhcmVkIE1lZGlhIFN0eWxlcyAtLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1lbWJlZCBmaWdjYXB0aW9uLFxuLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4vKiBCbG9jazogQXVkaW8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1hdWRpbyBhdWRpbyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEJsb2NrOiBCdXR0b24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndwLWJsb2NrLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cblxuLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpub3QoLmhhcy10ZXh0LWNvbG9yKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIHBhZGRpbmc6IGNhbGMoMS4xZW0gLSAwLjJyZW0pIGNhbGMoMS40NGVtIC0gMC4ycmVtKTtcbn1cblxuXG5AaW1wb3J0IFwiYmxvY2tzL2NvbHVtbnNcIjtcblxuXG4vKiBCbG9jazogQ292ZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1jb3Zlci1pbWFnZSAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lcixcbi53cC1ibG9jay1jb3ZlciAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbn1cblxuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0LFxuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlci10ZXh0LFxuLndwLWJsb2NrLWNvdmVyLWltYWdlIGgyLFxuLndwLWJsb2NrLWNvdmVyIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0LFxuLndwLWJsb2NrLWNvdmVyIC53cC1ibG9jay1jb3Zlci10ZXh0LFxuLndwLWJsb2NrLWNvdmVyIGgyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLndwLWJsb2NrLWNvdmVyLWltYWdlIGgyLFxuLndwLWJsb2NrLWNvdmVyIGgyIHtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbn1cblxuLyogQmxvY2s6IEVtYmVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBCbG9jazogRmlsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1maWxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLndwLWJsb2NrLWZpbGUgYTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbikge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud3AtYmxvY2stZmlsZSBhOm5vdCgud3AtYmxvY2stZmlsZV9fYnV0dG9uKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi53cC1ibG9jay1maWxlIGE6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pOmZvY3VzLFxuLndwLWJsb2NrLWZpbGUgYTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbik6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAxZW0gMS4yNWVtO1xufVxuXG4ud3AtYmxvY2stZmlsZSBhLndwLWJsb2NrLWZpbGVfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ud3AtYmxvY2stZmlsZSBhLndwLWJsb2NrLWZpbGVfX2J1dHRvbjphY3RpdmUsXG4ud3AtYmxvY2stZmlsZSBhLndwLWJsb2NrLWZpbGVfX2J1dHRvbjpmb2N1cyxcbi53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5cbi8qIEJsb2NrOiBHYWxsZXJ5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndwLWJsb2NrLWdhbGxlcnkgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmFsaWdubm9uZSxcbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmFsaWduY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG59XG5cbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiAwLjNyZW0gMnJlbSAycmVtIDA7XG59XG5cbmZpZ3VyZS53cC1ibG9jay1nYWxsZXJ5LmFsaWducmlnaHQge1xuICAgIG1hcmdpbjogMC4zcmVtIDAgMnJlbSAycmVtO1xufVxuXG5maWd1cmUud3AtYmxvY2stZ2FsbGVyeS5hbGlnbndpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbn1cblxuZmlndXJlLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25mdWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG59XG5cblxuLyogQmxvY2s6IEltYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBCbG9jazogTWVkaWEgQW5kIFRleHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1tZWRpYS10ZXh0IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzcmVtIDJyZW07XG59XG5cbi53cC1ibG9jay1tZWRpYS10ZXh0IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IHAge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogQmxvY2s6IFB1bGxxdW90ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTVFlMRTogREVGQVVMVCAqL1xuXG4ud3AtYmxvY2stcHVsbHF1b3RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmxlZnQsXG4ud3AtYmxvY2stcHVsbHF1b3RlLmFsaWducmlnaHQge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICNjZDI2NTM7XG4gICAgY29udGVudDogXCLigJ1cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDYuMnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMS41cmVtIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogNC40cmVtO1xuICAgIHdpZHRoOiA0LjRyZW07XG59XG5cbi5yZWR1Y2VkLXNwYWNpbmcgLndwLWJsb2NrLXB1bGxxdW90ZTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgZm9udC1zaXplOiA1LjlyZW07XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlIGJsb2NrcXVvdGUgcCB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNzg1NzE0Mjk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlIHA6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmFsaWdubGVmdCBwLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbnJpZ2h0IHAge1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmFsaWdubGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbnJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmxlZnQ6OmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25yaWdodDo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIFNUWUxFOiBTT0xJRCBCQUNLR1JPVU5EIENPTE9SICovXG5cbi53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3Ige1xuICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvci5hbGlnbmxlZnQ6OmJlZm9yZSxcbi53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IuYWxpZ25yaWdodDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IuYWxpZ25sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDJyZW07XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IuYWxpZ25yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAycmVtO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGJsb2NrcXVvdGUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGNpdGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKiBCbG9jazogU2VwYXJhdG9yICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmhyLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gICAgbWFyZ2luOiAzcmVtIDA7XG59XG5cbi8qIFNUWUxFOiBXSURFICovXG5cbi53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtd2lkZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNHJlbSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBTVFlMRTogRE9UUyAqL1xuXG4ud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRvdHM6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLndwLWJsb2NrLXNlcGFyYXRvci5pcy1zdHlsZS1kb3RzOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbn1cblxuXG4vKiBCbG9jazogU2VhcmNoIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1zZWFyY2ggLndwLWJsb2NrLXNlYXJjaF9faW5wdXQge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBCbG9jazogVGFibGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay10YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGNkN2NhO1xufVxuXG5maWd1cmUud3AtYmxvY2stdGFibGUuaXMtc3R5bGUtc3RyaXBlcyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogaW5oZXJpdDtcbn1cblxuLyogQmxvY2s6IFF1b3RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ud3AtYmxvY2stcXVvdGUgcCxcbi53cC1ibG9jay1xdW90ZSBjaXRlIHtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG4ud3AtYmxvY2stcXVvdGVbc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlclwiXSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi53cC1ibG9jay1xdW90ZVtzdHlsZT1cInRleHQtYWxpZ246cmlnaHRcIl0ge1xuXG4gICAgLypydGw6YmVnaW46aWdub3JlKi9cbiAgICBib3JkZXItd2lkdGg6IDAgMC4ycmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwIDJyZW0gMCAwO1xuXG4gICAgLypydGw6ZW5kOmlnbm9yZSovXG59XG5cbi8qIFNUWUxFOiBMQVJHRSAqL1xuXG4ud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsXG4ud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2Uge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlIHAsXG4ud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UgcCB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjg1O1xufVxuXG4ud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UgY2l0ZSxcbi53cC1ibG9jay1xdW90ZS5pcy1sYXJnZSBmb290ZXIsXG4ud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UgY2l0ZSxcbi53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSBmb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbi8qIEJsb2NrOiBXaWRnZXQgTGF0ZXN0IENvbW1lbnRzIC0tLS0tLS0tLS0tLS0gKi9cblxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyBsaSB7XG4gICAgbWFyZ2luOiAycmVtIDA7XG59XG5cbi5oYXMtYXZhdGFycyAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtZXhjZXJwdCxcbi5oYXMtYXZhdGFycyAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtbWV0YSB7XG4gICAgbWFyZ2luLWxlZnQ6IDUuNXJlbTtcbn1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHMgYTpob3Zlcixcbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHMgYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1kYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1leGNlcnB0IHAge1xuICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgbWFyZ2luOiAwLjlyZW0gMCAycmVtIDA7XG59XG5cbi8qIEJsb2NrOiBXaWRnZXQgTGF0ZXN0IFBvc3RzIC0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1ncmlkIGxpIHtcbiAgICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgI2RjZDdjYTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmhhcy1kYXRlcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5oYXMtZGF0ZXM6bm90KC5pcy1ncmlkKSBsaSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmhhcy1kYXRlczpub3QoLmlzLWdyaWQpIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qICAxMS4gRW50cnkgQ29udGVudFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cbi5yZWFkLW1vcmUtYnV0dG9uLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5lbnRyeS1jb250ZW50IGE6aG92ZXIsXG4uZW50cnktY29udGVudCBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLmVudHJ5LWNvbnRlbnQgdWwgdWwsXG4uZW50cnktY29udGVudCBvbCBvbCxcbi5lbnRyeS1jb250ZW50IHVsIG9sLFxuLmVudHJ5LWNvbnRlbnQgb2wgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5lbnRyeS1jb250ZW50IGhyIHtcbiAgICBtYXJnaW46IDRyZW0gYXV0bztcbn1cblxuXG4vKiBBbGlnbm1lbnQgQ2xhc3NlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG4vKiBFbnRyeSBNZWRpYSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hbGlnbmZ1bGwgPiBmaWdjYXB0aW9uLFxuLmFsaWduZnVsbCA+IC53cC1jYXB0aW9uLXRleHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDU4cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKTtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAgMTIuIENvbW1lbnRzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIENvbW1lbnQgSGVhZGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29tbWVudHMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcbn1cblxuLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDRyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLyogQ29tbWVudCBJdGVtIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIENPTU1FTlQgSEVBREVSICovXG5cbi5jb21tZW50cyAuY29tbWVudCxcbi5jb21tZW50cyAucGluZ2JhY2ssXG4uY29tbWVudHMgLnRyYWNrYmFjayxcbi5jb21tZW50cyAucmV2aWV3IHtcbiAgICBwYWRkaW5nLXRvcDogMy41cmVtO1xufVxuXG5kaXYuY29tbWVudDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAzLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5jb21tZW50cyAuY29tbWVudHMtaGVhZGVyICsgZGl2IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uY29tbWVudC1ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb21tZW50IC5jb21tZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUlO1xufVxuXG4uY29tbWVudC1tZXRhIHtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiA1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oaWRlLWF2YXRhcnMgLmNvbW1lbnQtbWV0YSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jb21tZW50LW1ldGEgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jb21tZW50LWF1dGhvciB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmNvbW1lbnQtYXV0aG9yIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29tbWVudC1hdXRob3IgYTpob3Zlcixcbi5jb21tZW50LWF1dGhvciBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb21tZW50LW1ldGEgLmF2YXRhciB7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNHJlbTtcbn1cblxuLmNvbW1lbnQtYXV0aG9yIC51cmwge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29tbWVudC1tZXRhZGF0YSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAwLjZyZW07XG59XG5cbi5jb21tZW50LW1ldGFkYXRhIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtbWV0YWRhdGEgYTpmb2N1cyxcbi5jb21tZW50LW1ldGFkYXRhIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5cbi8qIENPTU1FTlQgQ09OVEVOVCAqL1xuXG4uY29tbWVudC1jb250ZW50LmVudHJ5LWNvbnRlbnQgPiAqOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbmxlZnQpOm5vdCguYWxpZ25yaWdodCk6bm90KC5pcy1zdHlsZS13aWRlKSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21tZW50LWNvbnRlbnQuZW50cnktY29udGVudCAuYWxpZ25sZWZ0IHtcblxuICAgIC8qcnRsOmlnbm9yZSovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jb21tZW50LWNvbnRlbnQuZW50cnktY29udGVudCAuYWxpZ25yaWdodCB7XG5cbiAgICAvKnJ0bDppZ25vcmUqL1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogQ09NTUVOVCBGT09URVIgKi9cblxuLmNvbW1lbnQtZm9vdGVyLW1ldGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAtMXJlbSAtMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jb21tZW50LWZvb3Rlci1tZXRhID4gKiB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAxLjVyZW07XG59XG5cbi5jb21tZW50LXJlcGx5LWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDI2NTM7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtO1xufVxuXG4uYnlwb3N0YXV0aG9yIC5jb21tZW50LWZvb3Rlci1tZXRhIC5ieS1wb3N0LWF1dGhvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb21tZW50LWZvb3Rlci1tZXRhIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtZm9vdGVyLW1ldGEgYTpmb2N1cyxcbi5jb21tZW50LWZvb3Rlci1tZXRhIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5cbi8qIFBpbmdiYWNrcyAmIFRyYWNrYmFja3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucGluZ2JhY2sgLmNvbW1lbnQtbWV0YSxcbi50cmFja2JhY2sgLmNvbW1lbnQtbWV0YSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5cbi8qIENvbW1lbnRzIFBhZ2luYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29tbWVudHMtcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbi5vbmx5LW5leHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmZvY3VzLFxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wcmV2LFxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5leHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbiAucHJldiB7XG4gICAgbGVmdDogMDtcbn1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5cbi8qIENvbW1lbnQgUmVzcG9uZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb21tZW50LXJlc3BvbmQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29tbWVudC1yZXNwb25kIC5jb21tZW50LW5vdGVzLFxuLmNvbW1lbnQtcmVzcG9uZCAubG9nZ2VkLWluLWFzIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbjogLTNyZW0gMCA0cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tbWVudC1yZXNwb25kIC5jb21tZW50LW5vdGVzIGEsXG4uY29tbWVudC1yZXNwb25kIC5sb2dnZWQtaW4tYXMgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY29tbWVudC1yZXNwb25kIC5jb21tZW50LW5vdGVzIGE6Zm9jdXMsXG4uY29tbWVudC1yZXNwb25kIC5jb21tZW50LW5vdGVzIGE6aG92ZXIsXG4uY29tbWVudC1yZXNwb25kIC5sb2dnZWQtaW4tYXMgYTpmb2N1cyxcbi5jb21tZW50LXJlc3BvbmQgLmxvZ2dlZC1pbi1hcyBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCBwIHtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uY29tbWVudC1yZXNwb25kIHA6bm90KC5jb21tZW50LW5vdGVzKSB7XG4gICAgbWF4LXdpZHRoOiA1OHJlbTtcbn1cblxuLmNvbW1lbnQtZm9ybS1jb29raWVzLWNvbnNlbnQge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY29tbWVudC1yZXNwb25kID4gcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmNvbW1lbnQtcmVzcG9uZCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxNXJlbTtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCAjc3VibWl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudHMtY2xvc2VkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLyogUmVwbHkgUmVzcG9uZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb21tZW50cyAuY29tbWVudC1yZXNwb25kIHtcbiAgICBwYWRkaW5nOiAzcmVtIDAgMDtcbn1cblxuLmNvbW1lbnRzIC5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnQtcmVwbHktdGl0bGUsXG4uY29tbWVudHMgLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1ub3Rlcyxcbi5jb21tZW50cyAuY29tbWVudC1yZXNwb25kIC5sb2dnZWQtaW4tYXMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jb21tZW50LXJlcGx5LXRpdGxlIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogMC41cmVtIDAgMCAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21tZW50LXJlcGx5LXRpdGxlIHNtYWxsIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtcmVwbHktdGl0bGUgc21hbGwgYTpmb2N1cyxcbi5jb21tZW50LXJlcGx5LXRpdGxlIHNtYWxsIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qICAxMy4gU2l0ZSBQYWdpbmF0aW9uXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi5wYWdpbmF0aW9uIC5uYXYtbGlua3Mge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogLTEuNXJlbSAwIDAgLTIuNXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMi41cmVtKTtcbn1cblxuLnBhZ2luYXRpb24tc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46IDVyZW0gMDtcbn1cblxuLm5hdi1saW5rcyA+ICoge1xuICAgIG1hcmdpbjogMS41cmVtIDAgMCAyLjVyZW07XG59XG5cbi5uYXYtbGlua3MgLnBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnBhZ2luYXRpb24gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucGFnaW5hdGlvbiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5wYWdpbmF0aW9uIC5kb3RzIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuM2VtKTtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbn1cblxuLm5hdi1zaG9ydCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogIDE0LiBFcnJvciA0MDRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLmVycm9yNDA0ICNzaXRlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xufVxuXG4uZXJyb3I0MDQtY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZXJyb3I0MDQgI3NpdGUtY29udGVudCAuc2VhcmNoLWZvcm0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogIDE1LiBXaWRnZXRzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIFdpZGdldCBCYXNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndpZGdldCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuLndpZGdldDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLndpZGdldC1jb250ZW50ID4gZGl2ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLndpZGdldC1jb250ZW50ID4gZGl2ID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG59XG5cbi53aWRnZXQgbGkge1xuICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbn1cblxuLndpZGdldCBsaTpmaXJzdC1jaGlsZCxcbi53aWRnZXQgbGkgPiB1bCxcbi53aWRnZXQgbGkgPiBvbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLndpZGdldCB0YWJsZSxcbi53aWRnZXQgdGFibGUgKiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGVkZmRmO1xufVxuXG4ud2lkZ2V0IHRhYmxlIGNhcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRmZGY7XG59XG5cbi53aWRnZXQgLnBvc3QtZGF0ZSxcbi53aWRnZXQgLnJzcy1kYXRlIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi10b3A6IDAuMnJlbTtcbn1cblxuLndpZGdldCBzZWxlY3Qge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogQmFzZSBMaXN0IFdpZGdldCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ud2lkZ2V0X2FyY2hpdmUgdWwsXG4ud2lkZ2V0X2NhdGVnb3JpZXMgdWwsXG4ud2lkZ2V0X3BhZ2VzIHVsLFxuLndpZGdldF9tZXRhIHVsLFxuLndpZGdldF9uYXZfbWVudSB1bCxcbi53aWRnZXRfcmVjZW50X2NvbW1lbnRzIHVsLFxuLndpZGdldF9yZWNlbnRfZW50cmllcyB1bCxcbi53aWRnZXRfcnNzIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLndpZGdldF9hcmNoaXZlIGxpLFxuLndpZGdldF9jYXRlZ29yaWVzIGxpLFxuLndpZGdldF9wYWdlcyBsaSxcbi53aWRnZXRfbWV0YSBsaSxcbi53aWRnZXRfbmF2X21lbnUgbGkge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIG1hcmdpbjogMC4zcmVtIDA7XG59XG5cbi53aWRnZXRfYXJjaGl2ZSBsaSBsaSxcbi53aWRnZXRfY2F0ZWdvcmllcyBsaSBsaSxcbi53aWRnZXRfcGFnZXMgbGkgbGksXG4ud2lkZ2V0X21ldGEgbGkgbGksXG4ud2lkZ2V0X25hdl9tZW51IGxpIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcbn1cblxuLndpZGdldF9hcmNoaXZlIGEsXG4ud2lkZ2V0X2NhdGVnb3JpZXMgYSxcbi53aWRnZXRfcGFnZXMgYSxcbi53aWRnZXRfbWV0YSBhLFxuLndpZGdldF9uYXZfbWVudSBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndpZGdldF9hcmNoaXZlIGE6Zm9jdXMsXG4ud2lkZ2V0X2FyY2hpdmUgYTpob3Zlcixcbi53aWRnZXRfY2F0ZWdvcmllcyBhOmZvY3VzLFxuLndpZGdldF9jYXRlZ29yaWVzIGE6aG92ZXIsXG4ud2lkZ2V0X3BhZ2VzIGE6Zm9jdXMsXG4ud2lkZ2V0X3BhZ2VzIGE6aG92ZXIsXG4ud2lkZ2V0X21ldGEgYTpmb2N1cyxcbi53aWRnZXRfbWV0YSBhOmhvdmVyLFxuLndpZGdldF9uYXZfbWVudSBhOmZvY3VzLFxuLndpZGdldF9uYXZfbWVudSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogV2lkZ2V0OiBDYWxlbmRhciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2FsZW5kYXJfd3JhcCB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG59XG5cbi5jYWxlbmRhcl93cmFwIHRoLFxuLmNhbGVuZGFyX3dyYXAgdGQsXG4ud3AtY2FsZW5kYXItbmF2IHNwYW4ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAyLjUlIDIuNSUgMS43NSUgMi41JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYWxlbmRhci10YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndwLWNhbGVuZGFyLW5hdiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbi5jYWxlbmRhcl93cmFwIHRmb290IHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY2FsZW5kYXJfd3JhcCB0Zm9vdCBhLFxuLmNhbGVuZGFyX3dyYXAgLndwLWNhbGVuZGFyLW5hdiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jYWxlbmRhcl93cmFwIHRmb290ICNwcmV2LFxuLmNhbGVuZGFyX3dyYXAgLndwLWNhbGVuZGFyLW5hdi1wcmV2IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2FsZW5kYXJfd3JhcCB0Zm9vdCAjbmV4dCxcbi5jYWxlbmRhcl93cmFwIC53cC1jYWxlbmRhci1uYXYtbmV4dCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qIFdpZGdldDogSW1hZ2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogV2lkZ2V0OiBHYWxsZXJ5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ud2lkZ2V0X21lZGlhX2dhbGxlcnkgLmdhbGxlcnkge1xuICAgIG1hcmdpbjogMCAtMC40ZW0gLTAuOGVtIC0wLjRlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMC44ZW0pO1xufVxuXG4ud2lkZ2V0X21lZGlhX2dhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgMC44ZW0gMDtcbiAgICBwYWRkaW5nOiAwIDAuNGVtO1xufVxuXG4vKiBXaWRnZXQ6IE5hdiBNZW51IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53aWRnZXRfbmF2X21lbnUgLndpZGdldC1jb250ZW50ID4gZGl2ID4gdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKiBXaWRnZXQ6IFJlY2VudCBDb21tZW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53aWRnZXRfcmVjZW50X2NvbW1lbnRzIGxpIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ud2lkZ2V0X3JlY2VudF9jb21tZW50cyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53aWRnZXRfcmVjZW50X2NvbW1lbnRzIGE6Zm9jdXMsXG4ud2lkZ2V0X3JlY2VudF9jb21tZW50cyBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogV2lkZ2V0OiBSZWNlbnQgRW50cmllcyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ud2lkZ2V0X3JlY2VudF9lbnRyaWVzIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud2lkZ2V0X3JlY2VudF9lbnRyaWVzIGE6Zm9jdXMsXG4ud2lkZ2V0X3JlY2VudF9lbnRyaWVzIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBXaWRnZXQ6IFJTUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53aWRnZXRfcnNzIC53aWRnZXQtdGl0bGUgYS5yc3N3aWRnZXQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLndpZGdldF9yc3MgLnJzc3dpZGdldCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLndpZGdldF9yc3MgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud2lkZ2V0X3JzcyBhOmZvY3VzLFxuLndpZGdldF9yc3MgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi53aWRnZXRfcnNzIC5yc3NTdW1tYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi53aWRnZXRfcnNzIGNpdGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7XG59XG5cbi8qIFdpZGdldDogU2VhcmNoIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndpZGdldF9zZWFyY2ggLnNlYXJjaC1maWVsZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGVkZmRmO1xufVxuXG4vKiBXaWRnZXQ6IFRhZyBDbG91ZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53aWRnZXRfdGFnX2Nsb3VkIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53aWRnZXRfdGFnX2Nsb3VkIGE6Zm9jdXMsXG4ud2lkZ2V0X3RhZ19jbG91ZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogV2lkZ2V0OiBUZXh0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qICAxNi4gU2l0ZSBGb290ZXJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG4uZm9vdGVyLXRvcC12aXNpYmxlIC5mb290ZXItbmF2LXdpZGdldHMtd3JhcHBlcixcbi5mb290ZXItdG9wLWhpZGRlbiAjc2l0ZS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG59XG5cbi5yZWR1Y2VkLXNwYWNpbmcuZm9vdGVyLXRvcC12aXNpYmxlIC5mb290ZXItbmF2LXdpZGdldHMtd3JhcHBlcixcbi5yZWR1Y2VkLXNwYWNpbmcuZm9vdGVyLXRvcC1oaWRkZW4gI3NpdGUtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwLjFyZW07XG59XG5cblxuXG4vKiBGb290ZXIgVG9wIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5mb290ZXItdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZGVkZmRmO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyogRk9PVEVSIE1FTlUgKi9cblxuLmZvb3Rlci1tZW51IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uZm9vdGVyLW1lbnUgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbjogMC4yNWVtIDAgMCAwO1xufVxuXG4uZm9vdGVyLW1lbnUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuLmZvb3Rlci1tZW51IGE6aG92ZXIsXG4uZm9vdGVyLW1lbnUgYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIEZPT1RFUiBTT0NJQUwgKi9cblxuLmZvb3Rlci1zb2NpYWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFzLWZvb3Rlci1tZW51IC5mb290ZXItc29jaWFsLXdyYXBwZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbnVsLmZvb3Rlci1zb2NpYWwge1xuICAgIG1hcmdpbjogLTAuNXJlbSAwIDAgLTAuNXJlbTtcbn1cblxuLmhhcy1mb290ZXItbWVudSAuZm9vdGVyLXNvY2lhbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxudWwuZm9vdGVyLXNvY2lhbCBsaSB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwIDAuNXJlbTtcbn1cblxuLmZvb3Rlci1zb2NpYWwgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NkMjY1MztcbiAgICBoZWlnaHQ6IDMuNnJlbTtcbiAgICB3aWR0aDogMy42cmVtO1xufVxuXG4uZm9vdGVyLXNvY2lhbCBhOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG5cblxuXG5cblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG5AaW1wb3J0IFwibW9kdWxlL2h0bWwtZWxlbWVudHNcIjtcblxuQGltcG9ydCBcImJsb2Nrcy9sYXlvdXRcIjtcbkBpbXBvcnQgXCJibG9ja3MvZ3JvdXBcIjtcbkBpbXBvcnQgXCJibG9ja3MvYWxpZ25cIjtcbkBpbXBvcnQgXCJibG9ja3MvaW1hZ2VcIjtcbkBpbXBvcnQgXCJibG9ja3MvZ2FsbGVyeVwiO1xuQGltcG9ydCBcImJsb2Nrcy9jb3ZlclwiO1xuQGltcG9ydCBcImJsb2Nrcy9nZXR3aWQtc2xpZGVyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2dldHdpZC1pbWFnZS1ib3hcIjtcblxuQGltcG9ydCBcIm1vZHVsZS9fc2xpY2tcIjtcbkBpbXBvcnQgXCJtb2R1bGUvX3NsaWNrLXRoZW1lXCI7XG5AaW1wb3J0IFwibW9kdWxlL19zbGljay1saWdodGJveFwiO1xuXG5AaW1wb3J0IFwibW9kdWxlL3NpdGUtaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlL3NpdGUtZm9vdGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwibW9kdWxlL3BhZ2VcIjtcbkBpbXBvcnQgXCJtb2R1bGUvaG9tZVwiO1xuQGltcG9ydCBcIm1vZHVsZS9jb250YWN0XCI7XG5cbkBpbmNsdWRlIHBtYi1zZXR1cC1ndXRlbmJlcmctY29sb3ItcGFsZXR0ZSgpO1xuIiwiQGltcG9ydCBcIi4uL2JyZWFrcG9pbnQvYnJlYWtwb2ludFwiO1xuXG4vKipcbiAqIFBNQiBMYXlvdXRcbiAqXG4gKiBEZWZpbmUgbGF5b3V0cywgYW5kIGhhdmUgZnVuXG4gKi9cblxuJF9wbWItbGF5b3V0OiBtYXAtZ2V0KCR0aGVtZSwgJ2xheW91dCcpO1xuXG5cbkBmdW5jdGlvbiBwbWItZ2V0LWJsb2NrLW1heC13aWR0aCgkdHlwZSkge1xuICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRfcG1iLWxheW91dCwgJ21heC13aWR0aCcpLCAkdHlwZSk7XG59XG5cblxuXG4kbGF5b3V0OiAoKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gcG1iLWJwLW1pbi1tYXgoJG1pbiwgJG1heCkge1xuXG4gICAgJG1pbi13aWR0aDogcG1iLWdldC1icmVha3BvaW50KCRtaW4pO1xuICAgICRtYXgtd2lkdGg6IHBtYi1nZXQtYnJlYWtwb2ludCgkbWF4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi13aWR0aCAkbWF4LXdpZHRoIC0gMSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBwbWItYnAtbWF4KCRtYXgpIHtcblxuICAgICRtYXgtd2lkdGg6IHBtYi1nZXQtYnJlYWtwb2ludCgkbWF4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRtYXgtd2lkdGggLSAxKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vLy9cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYSBsYXlvdXQgaXMgZGVmaW5lZCBpbiB0aGUgZ2xvYmFsICRsYXlvdXQgbWFwXG4vLy9cbkBmdW5jdGlvbiBwbWItaGFzLWxheW91dCgkbGF5b3V0LWlkKSB7XG4gICAgQHJldHVybiBtYXAtaGFzLWtleSgkbGF5b3V0cywgJGxheW91dC1pZCk7XG59XG5cbi8vL1xuLy8vIFJldHVybnMgdGhlIGNvbmZpZyBmb3IgYSBsYXlvdXQgZnJvbSB0aGUgZ2xvYmFsICRsYXlvdXQgbWFwXG4vLy9cbkBmdW5jdGlvbiBwbWItZ2V0LWxheW91dC1jb25maWcoJGxheW91dC1pZCkge1xuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRsYXlvdXRzLCAkbGF5b3V0LWlkKSB7XG5cbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRsYXlvdXRzLCAkbGF5b3V0LWlkKTtcbiAgICB9XG4gICAgQGVycm9yIFwiTGF5b3V0ICN7JGxheW91dC1pZH0gZG9lc24ndCBleGlzdFwiO1xufVxuXG4vLy9cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYSBsYXlvdXQgaGFzIGEgc3ViLWtleVxuLy8vXG5AZnVuY3Rpb24gcG1iLWxheW91dC1oYXMta2V5KCRsYXlvdXQtaWQsICRrZXkpIHtcblxuICAgICRsYXlvdXQtY29uZmlnOiBwbWItZ2V0LWxheW91dC1jb25maWcoJGxheW91dC1pZCk7XG5cbiAgICBAcmV0dXJuIG1hcC1oYXMta2V5KCRsYXlvdXQtY29uZmlnLCAka2V5KTtcbn1cblxuLy8vXG4vLy8gUmV0dXJucyBhIGxheW91dCBzdWIta2V5XG4vLy9cbkBmdW5jdGlvbiBwbWItbGF5b3V0LWdldC1rZXkoJGxheW91dC1pZCwgJGtleSkge1xuXG4gICAgJGxheW91dC1jb25maWc6IHBtYi1nZXQtbGF5b3V0LWNvbmZpZygkbGF5b3V0LWlkKTtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbGF5b3V0LWNvbmZpZywgJGtleSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGxheW91dC1jb25maWcsICRrZXkpO1xuICAgIH1cbiAgICBAZXJyb3IgXCJLZXkgYCN7JGtleX1gIGZvciBsYXlvdXQgI3skbGF5b3V0LWlkfSBub3QgZm91bmRcIjtcbn1cblxuXG5cbi8vL1xuLy8vIFJldHVybnMgdGhlIGJyZWFrcG9pbnQgZm9yIGEgbGF5b3V0XG4vLy9cbkBmdW5jdGlvbiBwbWItZ2V0LWJyZWFrcG9pbnQoJGxheW91dC1pZCkge1xuXG4gICAgQGlmIHR5cGUtb2YoJGxheW91dC1pZCkgPT0gbnVtYmVyIHtcblxuICAgICAgICBAcmV0dXJuICRsYXlvdXQtaWQ7XG5cbiAgICB9XG5cbiAgICBAcmV0dXJuIHBtYi1sYXlvdXQtZ2V0LWtleSgkbGF5b3V0LWlkLCAnYnJlYWtwb2ludCcpO1xufVxuXG5cbi8vL1xuLy8vIE91dHB1dHMgYW4gQG1lZGlhIHJ1bGUgZm9yIGEgZ2l2ZW4gbGF5b3V0XG4vLy9cbkBtaXhpbiBwbWItYnAoJGxheW91dC1pZCkge1xuXG4gICAgJHZhbHVlOiAnJztcblxuICAgIEBpZiBwbWItaGFzLWxheW91dCgkbGF5b3V0LWlkKSBhbmQgcG1iLWxheW91dC1oYXMta2V5KCRsYXlvdXQtaWQsICdicmVha3BvaW50Jykge1xuXG4gICAgICAgICR2YWx1ZTogcG1iLWdldC1icmVha3BvaW50KCRsYXlvdXRfaWQpO1xuXG4gICAgfSBAZWxzZSB7XG5cbiAgICAgICAgJHZhbHVlOiAkbGF5b3V0LWlkO1xuICAgIH1cblxuICAgIEBpZiAkdmFsdWUgIT0gJycge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AZnVuY3Rpb24gcG1iLWxheW91dC1oYXMtcGFkZGluZygkbGF5b3V0LWlkLCAkcGFkZGluZy1uYW1lKSB7XG5cbiAgICBAaWYgcG1iLWxheW91dC1oYXMta2V5KCRsYXlvdXQtaWQsICRwYWRkaW5nLW5hbWUpIHtcblxuICAgICAgICAkcGFkZGluZ3M6IHBtYi1sYXlvdXQtZ2V0LWtleSgkbGF5b3V0LWlkLCAkcGFkZGluZy1uYW1lKTtcblxuICAgICAgICBAcmV0dXJuIG1hcC1oYXMta2V5KCRwYWRkaW5ncywgJ3BhZGRpbmcnKSBhbmQgbWFwLWdldCgkcGFkZGluZ3MsICdwYWRkaW5nJykgPiAwO1xuICAgIH1cbiAgICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AZnVuY3Rpb24gcG1iLWxheW91dC1nZXQtcGFkZGluZygkbGF5b3V0LWlkLCAkcGFkZGluZy1uYW1lKSB7XG5cbiAgICBAaWYgcG1iLWxheW91dC1oYXMta2V5KCRsYXlvdXQtaWQsICRwYWRkaW5nLW5hbWUpIHtcblxuICAgICAgICAkcGFkZGluZ3M6IHBtYi1sYXlvdXQtZ2V0LWtleSgkbGF5b3V0LWlkLCAkcGFkZGluZy1uYW1lKTtcblxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHBhZGRpbmdzLCAncGFkZGluZycpIHtcblxuICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRwYWRkaW5ncywgJ3BhZGRpbmcnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGZhbHNlO1xufVxuXG5cbi8vL1xuLy8vIE91dHB1dHMgdGhlIGxlZnQgJiByaWdodCBwYWRkaW5nIGZvciBhIGxheW91dCBjb25maWcsIGlmIGV4aXN0c1xuLy8vXG5AbWl4aW4gcG1iLXBhZGRpbmcoJGxheW91dC1pZCwgJHBhZGRpbmctbmFtZSwgJG9mZnNldDogMCkge1xuXG4gICAgQGlmIHBtYi1sYXlvdXQtaGFzLXBhZGRpbmcoJGxheW91dC1pZCwgJHBhZGRpbmctbmFtZSkge1xuXG4gICAgICAgICRwYWRkaW5nOiBwbWItbGF5b3V0LWdldC1wYWRkaW5nKCRsYXlvdXQtaWQsICRwYWRkaW5nLW5hbWUpO1xuXG4gICAgICAgIEBpZiAkcGFkZGluZyA+IDAge1xuXG4gICAgICAgICAgICBAaWYgKHR5cGUtb2YoJHBhZGRpbmcpID09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgJHBhZGRpbmc6ICRwYWRkaW5nICsgJG9mZnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAgJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgbGVmdCAmIHJpZ2h0IG1hcmdpbiBmb3IgYSBsYXlvdXQgY29uZmlnLCBpZiBleGlzdHMuIFVzZXMgdGhlIHBhZGRpbmdcbi8vL1xuQG1peGluIHBtYi1tYXJnaW4oJGxheW91dC1pZCwgJHBhZGRpbmctbmFtZSwgJG5lZ2F0aXZlOiBmYWxzZSwgJG9mZnNldDogMCwgJGZhbGxiYWNrOiBhdXRvKSB7XG5cbiAgICBAaWYgcG1iLWxheW91dC1oYXMtcGFkZGluZygkbGF5b3V0LWlkLCAkcGFkZGluZy1uYW1lKSB7XG5cbiAgICAgICAgJG1hcmdpbjogcG1iLWxheW91dC1nZXQtcGFkZGluZygkbGF5b3V0LWlkLCAkcGFkZGluZy1uYW1lKTtcblxuICAgICAgICBAaWYgdHlwZS1vZigkbWFyZ2luID09ICdudW1iZXInKSB7XG5cbiAgICAgICAgICAgIEBpZiAkbWFyZ2luID4gMCB7XG5cbiAgICAgICAgICAgICAgICBAaWYgJG5lZ2F0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICAkbWFyZ2luOiAkbWFyZ2luICogLTE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgICRtYXJnaW46ICRmYWxsYmFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAgJG1hcmdpbjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgbWF4LXdpZHRoICgmIGNlbnRlcmluZyB2aWEgYXV0byBtYXJnaW5zKSBmb3IgYSBsYXlvdXQgY29uZmlnLCBpZiBleGlzdHNcbi8vL1xuQG1peGluIHBtYi1tYXgtd2lkdGgoJGxheW91dC1pZCkge1xuXG4gICAgQGlmIHBtYi1sYXlvdXQtaGFzLWtleSgkbGF5b3V0LWlkLCAnbWF4LXdpZHRoJykge1xuXG4gICAgICAgICRtYXgtd2lkdGg6ICAgcG1iLWxheW91dC1nZXQta2V5KCRsYXlvdXQtaWQsICdtYXgtd2lkdGgnKTtcbiAgICAgICAgbWF4LXdpZHRoOiAgICAkbWF4LXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbn1cblxuLy8vXG4vLy8gT3V0cHV0cyBib3RoIHRoZSBjb250YWluZXIgbWF4LXdpZHRoICYgbGF5b3V0IGZvciBhbGwgYnJlYWtwb2ludHNcbi8vL1xuQG1peGluIHBtYi1jb250YWluZXIoKSB7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgQGVhY2ggJGxheW91dC1pZCwgJGxheW91dC1jb25maWcgaW4gJGxheW91dHMge1xuXG4gICAgICAgIEBpZiAkbGF5b3V0LWlkID09ICdkZWZhdWx0JyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHBtYi1wYWRkaW5nKCRsYXlvdXQtaWQsICdjb250YWluZXInKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBtYi1tYXgtd2lkdGgoJGxheW91dC1pZCk7XG5cbiAgICAgICAgfSBAZWxzZWlmIChtYXAtaGFzLWtleSgkbGF5b3V0LWNvbmZpZywgJ21heC13aWR0aCcpIG9yIG1hcC1oYXMta2V5KCRsYXlvdXQtY29uZmlnLCAncGFkZGluZycpKSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHBtYi1icCgkbGF5b3V0LWlkKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwbWItcGFkZGluZygkbGF5b3V0LWlkLCAnY29udGFpbmVyJyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG1iLW1heC13aWR0aCgkbGF5b3V0LWlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgY29udGFpbmVyIG1heC13aWR0aCBmb3IgYWxsIGJyZWFrcG9pbnRzXG4vLy9cbkBtaXhpbiBwbWItY29udGFpbmVyLW1heC13aWR0aCgpIHtcblxuICAgIEBlYWNoICRsYXlvdXQtaWQsICRsYXlvdXQtY29uZmlnIGluICRsYXlvdXRzIHtcblxuICAgICAgICBAaWYgJGxheW91dC1pZCA9PSAnZGVmYXVsdCcge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItbWF4LXdpZHRoKCRsYXlvdXQtaWQpO1xuXG4gICAgICAgIH0gQGVsc2VpZiAocG1iLWxheW91dC1oYXMta2V5KCRsYXlvdXQtaWQsICdtYXgtd2lkdGgnKSkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItYnAoJGxheW91dC1pZCkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG1iLW1heC13aWR0aCgkbGF5b3V0LWlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgY29udGFpbmVyIHBhZGRpbmcgZm9yIGFsbCBicmVha3BvaW50c1xuLy8vXG5AbWl4aW4gcG1iLWNvbnRhaW5lci1wYWRkaW5nKCRvZmZzZXQ6IDApIHtcblxuICAgIEBlYWNoICRsYXlvdXQtaWQsICRsYXlvdXQtY29uZmlnIGluICRsYXlvdXRzIHtcblxuICAgICAgICBAaWYgJGxheW91dC1pZCA9PSAnZGVmYXVsdCcge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItcGFkZGluZygkbGF5b3V0LWlkLCAnY29udGFpbmVyJywgJG9mZnNldCk7XG5cbiAgICAgICAgfSBAZWxzZWlmIChwbWItbGF5b3V0LWhhcy1rZXkoJGxheW91dC1pZCwgJ3BhZGRpbmcnKSkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItYnAoJGxheW91dC1pZCkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG1iLXBhZGRpbmcoJGxheW91dC1pZCwgJ2NvbnRhaW5lcicsICRvZmZzZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vL1xuLy8vIE91dHB1dHMgdGhlIGNvbnRhaW5lciBtYXJnaW4gZm9yIGFsbCBicmVha3BvaW50c1xuLy8vXG5AbWl4aW4gcG1iLWNvbnRhaW5lci1tYXJnaW4oJG5lZ2F0aXZlOiBmYWxzZSwgJG9mZnNldDogMCkge1xuXG4gICAgQGVhY2ggJGxheW91dC1pZCwgJGxheW91dC1jb25maWcgaW4gJGxheW91dHMge1xuXG4gICAgICAgIEBpZiAkbGF5b3V0LWlkID09ICdkZWZhdWx0JyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHBtYi1tYXJnaW4oJGxheW91dC1pZCwgJ2NvbnRhaW5lcicsICRuZWdhdGl2ZSwgJG9mZnNldCk7XG5cbiAgICAgICAgfSBAZWxzZWlmIChwbWItbGF5b3V0LWhhcy1rZXkoJGxheW91dC1pZCwgJ3BhZGRpbmcnKSkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItYnAoJGxheW91dC1pZCkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG1iLW1hcmdpbigkbGF5b3V0LWlkLCAnY29udGFpbmVyJywgJG5lZ2F0aXZlLCAkb2Zmc2V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLy9cbi8vLyBPdXRwdXRzIG5lZ2F0aXZlIG1hcmdpbiBmb3IgYSBwaWVjZSBvZiBjb250ZW50XG4vLy9cbkBtaXhpbiBwbWItY29udGVudC1uZWdhdGl2ZS1tYXJnaW4oJHZhbHVlLWlmLXplcm86IGF1dG8sICRvZmZzZXQ6IDApIHtcblxuICAgIEBlYWNoICRsYXlvdXQtaWQsICRsYXlvdXQtY29uZmlnIGluICRsYXlvdXRzIHtcblxuICAgICAgICBAaWYgJGxheW91dC1pZCA9PSAnZGVmYXVsdCcge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItbWFyZ2luKCRsYXlvdXQtaWQsICdjb250ZW50JywgdHJ1ZSwgJG9mZnNldCwgJHZhbHVlLWlmLXplcm8pO1xuXG4gICAgICAgIH0gQGVsc2VpZiAocG1iLWxheW91dC1oYXMta2V5KCRsYXlvdXQtaWQsICdwYWRkaW5nJykpIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcG1iLWJwKCRsYXlvdXQtaWQpIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBtYi1tYXJnaW4oJGxheW91dC1pZCwgJ2NvbnRlbnQnLCB0cnVlLCAkb2Zmc2V0LCAkdmFsdWUtaWYtemVybyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQGZ1bmN0aW9uIHBtYi1ibG9jay1oYXMtdmFsdWUoJGxheW91dC1pZCwgJHZhbHVlLCAkdHlwZTogJycpICB7XG5cbiAgICBAaWYgJHR5cGUgPT0gJycge1xuICAgICAgICAkdHlwZTogJ2RlZmF1bHQnO1xuICAgIH1cblxuICAgIEBpZiBwbWItbGF5b3V0LWhhcy1rZXkoJGxheW91dC1pZCwgJ2Jsb2NrcycpIHtcblxuICAgICAgICAkYmxvY2tzLWNvbmZpZzogcG1iLWxheW91dC1nZXQta2V5KCRsYXlvdXQtaWQsICdibG9ja3MnKTtcblxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGJsb2Nrcy1jb25maWcsICR0eXBlKSB7XG5cbiAgICAgICAgICAgIEByZXR1cm4gbWFwLWhhcy1rZXkobWFwLWdldCgkYmxvY2tzLWNvbmZpZywgJHR5cGUpLCAkdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBmYWxzZTtcbn1cblxuQGZ1bmN0aW9uIHBtYi1ibG9jay1nZXQtdmFsdWUoJGxheW91dC1pZCwgJHZhbHVlLCAkdHlwZTogJ2RlZmF1bHQnKSB7XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoXG4gICAgICAgIG1hcC1nZXQoXG4gICAgICAgICAgICBwbWItbGF5b3V0LWdldC1rZXkoJGxheW91dC1pZCwgJ2Jsb2NrcycpLFxuICAgICAgICAgICAgJHR5cGVcbiAgICAgICAgKSxcbiAgICAgICAgJHZhbHVlXG4gICAgKTtcbn1cblxuXG5AbWl4aW4gX3BtYi1ibG9jay1vdXRwdXQtbWF4LXdpZHRoKCRsYXlvdXQtaWQsICR0eXBlOiAnZGVmYXVsdCcpIHtcblxuICAgIEBpZiBwbWItYmxvY2staGFzLXZhbHVlKCRsYXlvdXQtaWQsICdtYXgtd2lkdGgnLCAkdHlwZSkge1xuXG4gICAgICAgIG1heC13aWR0aDogcG1iLWJsb2NrLWdldC12YWx1ZSgkbGF5b3V0LWlkLCAnbWF4LXdpZHRoJywgJHR5cGUpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHBtYi1ibG9jay1nZXQtcGFkZGluZygkbGF5b3V0LWlkOiAnZGVmYXVsdCcsICR0eXBlOiAnZGVmYXVsdCcpIHtcblxuICAgIEBpZiBwbWItYmxvY2staGFzLXZhbHVlKCRsYXlvdXQtaWQsICdwYWRkaW5nJywgJHR5cGUpIHtcblxuICAgICAgICBAcmV0dXJuIHBtYi1ibG9jay1nZXQtdmFsdWUoJGxheW91dC1pZCwgJ3BhZGRpbmcnLCAkdHlwZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIF9wbWItYmxvY2stb3V0cHV0LXBhZGRpbmcoJGxheW91dC1pZCwgJHR5cGU6ICdkZWZhdWx0Jykge1xuXG4gICAgQGlmIHBtYi1ibG9jay1oYXMtdmFsdWUoJGxheW91dC1pZCwgJ3BhZGRpbmcnLCAkdHlwZSkge1xuXG4gICAgICAgICRwYWRkaW5nOiBwbWItYmxvY2stZ2V0LXZhbHVlKCRsYXlvdXQtaWQsICdwYWRkaW5nJywgJHR5cGUpO1xuXG4gICAgICAgIHBhZGRpbmctbGVmdDogICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcblxuICAgIH1cbn1cblxuXG5AbWl4aW4gcG1iLWJsb2NrKCR0eXBlOiAnJykge1xuICAgIEBpbmNsdWRlIHBtYi1ibG9jay1tYXgtd2lkdGgoJHR5cGUpO1xuICAgIEBpbmNsdWRlIHBtYi1ibG9jay1wYWRkaW5nKCR0eXBlKTtcbn1cblxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgbWF4IHdpZHRoIGZvciBhIGRlZmF1bHQgYmxvY2sgKG5vbiB3aWRlIG9yIGZ1bGwpIGZvciBlYWNoIGJyZWFrcG9pbnRzXG4vLy9cbkBtaXhpbiBwbWItYmxvY2stbWF4LXdpZHRoKCR0eXBlOiAnZGVmYXVsdCcpIHtcblxuICAgIEBlYWNoICRsYXlvdXQtaWQsICRsYXlvdXQtY29uZmlnIGluICRsYXlvdXRzIHtcblxuICAgICAgICBAaWYgKCRsYXlvdXQtaWQgPT0gJ2RlZmF1bHQnKSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIF9wbWItYmxvY2stb3V0cHV0LW1heC13aWR0aCgkbGF5b3V0LWlkLCAkdHlwZSk7XG5cbiAgICAgICAgfSBAZWxzZWlmIChwbWItYmxvY2staGFzLXZhbHVlKCRsYXlvdXQtaWQsICdtYXgtd2lkdGgnLCAkdHlwZSkpIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcG1iLWJwKCRsYXlvdXQtaWQpIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIF9wbWItYmxvY2stb3V0cHV0LW1heC13aWR0aCgkbGF5b3V0LWlkLCAkdHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluIHBtYi1ibG9jay1wYWRkaW5nKCR0eXBlOiAnZGVmYXVsdCcpIHtcblxuICAgIEBlYWNoICRsYXlvdXQtaWQsICRsYXlvdXQtY29uZmlnIGluICRsYXlvdXRzIHtcblxuICAgICAgICBAaWYgKCRsYXlvdXQtaWQgPT0gJ2RlZmF1bHQnKSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIF9wbWItYmxvY2stb3V0cHV0LXBhZGRpbmcoJGxheW91dC1pZCwgJHR5cGUpO1xuXG4gICAgICAgIH0gQGVsc2VpZiAocG1iLWJsb2NrLWhhcy12YWx1ZSgkbGF5b3V0LWlkLCAncGFkZGluZycsICR0eXBlKSkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItYnAoJGxheW91dC1pZCkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgX3BtYi1ibG9jay1vdXRwdXQtcGFkZGluZygkbGF5b3V0LWlkLCAkdHlwZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiR0aGVtZTogKFxuXG4gICAgY29sb3JzOiAoXG4gICAgICAgIHBhbGV0dGU6IChcbiAgICAgICAgICAgIGJsYWNrOiAoXG4gICAgICAgICAgICAgICAgYmFzZTogIzAwMDAwMFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGJsdWU6IChcbiAgICAgICAgICAgICAgICBkYXJrOiAjMDIyNzQ3LFxuICAgICAgICAgICAgICAgIGJhc2U6ICM2RDlBQURcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBncmF5OiAoXG4gICAgICAgICAgICAgICAgZGFyazogI0FBQUFBQSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjQ0NDQ0NDLFxuICAgICAgICAgICAgICAgIGxpZ2h0OiAjRUFFQUVBXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgd2hpdGU6IChcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmZmZmXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGd1dGVuYmVyZzogKFxuICAgICAgICAgICAgKGJsYWNrIGFsbCksXG4gICAgICAgICAgICAoYmx1ZSAgYWxsKSxcbiAgICAgICAgICAgIChncmF5ICBhbGwpLFxuICAgICAgICAgICAgKHdoaXRlIGFsbClcbiAgICAgICAgKVxuICAgICksXG5cblxuICAgIGZvbnRzOiAoXG5cbiAgICAgICAgYmFzZS1mb250LXNpemU6ICAgMThweCxcbiAgICAgICAgYmFzZS1mb250LXdlaWdodDogNDAwLFxuICAgICAgICBiYXNlLWxpbmUtaGVpZ2h0OiAxLjQ0NDQsXG5cbiAgICAgICAgZmFtaWxpZXM6IChcbiAgICAgICAgICAgIGRlZmF1bHQ6IFwiJ0NyaW1zb24gUHJvJywgc2VyaWZcIixcbiAgICAgICAgICAgIGhlYWRpbmc6IFwiJ0NyaW1zb24gUHJvJywgc2VyaWZcIlxuICAgICAgICApXG4gICAgKVxuKTtcblxuJGxheW91dHM6IChcbiAgICBkZWZhdWx0OiAoXG4gICAgICAgIGNvbHVtbnM6ICAgIDQsXG4gICAgICAgIGd1dHRlcnM6ICAgIDEwcHgsXG4gICAgICAgIGJyZWFrcG9pbnQ6IDMyMHB4LFxuICAgICAgICBibG9ja3M6IChcbiAgICAgICAgICAgIGRlZmF1bHQ6IChcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY0MHB4LFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzZW1pLXdpZGU6IChcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDk4MHB4LFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB3aWRlOiAoXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHgsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZ1bGw6IChcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4XG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICApLFxuICAgIHNtYWxsOiAoXG4gICAgICAgIGJyZWFrcG9pbnQ6IDYwMHB4XG4gICAgKSxcbiAgICBtaWQ6IChcbiAgICAgICAgYnJlYWtwb2ludDogNzgycHgsXG4gICAgICAgIGJsb2NrczogKFxuICAgICAgICAgICAgZGVmYXVsdDogKFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI2cHhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB3aWRlOiAoXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjZweFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNlbWktd2lkZTogKFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI2cHhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmdWxsOiAoXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjZweFxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgICBicmVha3BvaW50OiAxMDAwcHgsXG4gICAgICAgIGNvbHVtbnM6ICAgIDEyLFxuICAgICAgICBndXR0ZXJzOiAgICAyMHB4LFxuICAgICAgICBibG9ja3M6IChcbiAgICAgICAgICAgIGRlZmF1bHQ6IChcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc2MHB4LFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI2cHhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzZW1pLXdpZGU6IChcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICApLFxuICAgIHgtbGFyZ2U6IChcbiAgICAgICAgYnJlYWtwb2ludDogMTIwMHB4XG4gICAgKVxuKTtcblxuXG4kbm9yYmVydC1taW4td2lkdGg6IDEyMHB4O1xuJG5vcmJlcnQtbWF4LXdpZHRoOiAzMDBweDtcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvKipcbiAqIEJsb2NrOiBDb2x1bW5zXG4gKi9cblxuLndwLWJsb2NrLWNvbHVtbnMge1xuXG4gICAgQGV4dGVuZCAld3AtYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBwbWItYnAobWlkKSB7XG5cbiAgICAgICAgZGlzcGxheTogICAgICAgICBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLndwLWJsb2NrLWNvbHVtbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogIDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ud3AtYmxvY2stY29sdW1ucy5hbGlnbmZ1bGwge1xufVxuXG4ud3AtYmxvY2stY29sdW1uIHtcblxuICAgIEBpbmNsdWRlIGZsdWlkKG1hcmdpbi10b3AsICAgIC41cmxoLCAxcmxoKTtcbiAgICBAaW5jbHVkZSBmbHVpZChtYXJnaW4tYm90dG9tLCAuNXJsaCwgMXJsaCk7XG5cbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEwcHgpO1xuXG4gICAgPiAud3AtYmxvY2stZ3JvdXAge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBwbWItYnAobWlkKSB7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogICAgMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBwbWItYnAobGFyZ2UpIHtcblxuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgIH1cblxuICAgICYuaXMtdmVydGljYWxseS1hbGlnbmVkLWNlbnRlciB7XG5cbiAgICAgICAgZGlzcGxheTogICAgICAgICBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogIGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4ud3AtYmxvY2stY29sdW1uID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLndwLWJsb2NrLWNvbHVtbiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiIsIi8vL1xuLy8vIFBNQiBzY3NzIHRvb2xib3hcbi8vL1xuXG5cblxuXG5AZnVuY3Rpb24gY29udmVydC11bml0KCRudW1iZXIsICR0by11bml0KSB7XG5cbiAgICAkZnJvbS11bml0OiB1bml0KCRudW1iZXIpO1xuXG4gICAgQGlmICRmcm9tLXVuaXQgPT0gJHRvLXVuaXQge1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfVxuXG4gICAgJHB4LW51bWJlcjogJG51bWJlcjtcblxuICAgIEBpZiAkZnJvbS11bml0ICE9ICdweCcge1xuXG4gICAgICAgIEBpZiAkZnJvbS11bml0ID09ICdlbScgIHtcbiAgICAgICAgICAgICRweC1udW1iZXI6ICRudW1iZXIgKiAxMHB4IC8gMWVtO1xuICAgICAgICB9IEBlbHNlIGlmICRmcm9tLXVuaXQgPT0gJ3JlbScge1xuICAgICAgICAgICAgJHB4LW51bWJlcjogJG51bWJlciAqIDE2cHggLyAxcmVtXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkcmVzdWx0OiAkcHgtbnVtYmVyO1xuICAgIEBpZiAkdG8tdW5pdCAhPSAncHgnIHtcbiAgICAgICAgQGlmICAgICAgJHRvLXVuaXQgPT0gJ2VtJyAge1xuICAgICAgICAgICAgJHJlc3VsdDogJHB4LW51bWJlciAqIDFlbSAvIDEwcHg7XG4gICAgICAgIH0gQGVsc2UgaWYgJHRvLXVuaXQgPT0gJ3JlbScge1xuICAgICAgICAgICAgJHJlc3VsdDogJHB4LW51bWJlciAqIDFyZW0gLyAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xuXG59XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQG1peGluIGZsdWlkKCRwcm9wZXJ0eSwgJGZyb20sICR0bywgJGNvbnZlcnQtdG8tcmVtOiB0cnVlKSB7XG5cbiAgICAkbWluLXZhbHVlOiAkZnJvbTtcbiAgICAkbWluLWJwOiAgICBkZWZhdWx0O1xuXG4gICAgQGlmIChsZW5ndGgoJGZyb20pID09IDIpIHtcblxuICAgICAgICAkbWluLXZhbHVlOiBudGgoJGZyb20sIDEpO1xuICAgICAgICAkbWluLWJwOiAgICBudGgoJGZyb20sIDIpO1xuICAgIH1cblxuICAgICRtaW4td2lkdGg6IHBtYi1nZXQtYnJlYWtwb2ludCgkbWluLWJwKTtcblxuXG4gICAgJG1heC12YWx1ZTogJHRvO1xuICAgICRtYXgtYnA6ICAgIGxhcmdlO1xuXG4gICAgQGlmIChsZW5ndGgoJHRvKSA9PSAyKSB7XG5cbiAgICAgICAgJG1heC12YWx1ZTogbnRoKCR0bywgMSk7XG4gICAgICAgICRtYXgtYnA6ICAgIG50aCgkdG8sIDIpO1xuICAgIH1cblxuICAgICRtYXgtd2lkdGg6IHBtYi1nZXQtYnJlYWtwb2ludCgkbWF4LWJwKTtcblxuXG4gICAgQGlmICh1bml0KCRtaW4tdmFsdWUpICE9IHVuaXQoJG1heC12YWx1ZSkgb3IgdW5pdCgkbWluLXdpZHRoKSAhPSB1bml0KCRtYXgtd2lkdGgpKSB7XG4gICAgICAgIEBlcnJvciBcIlBsZWFzZSBrZWVwIHVuaXRzIGNvbnNpc3RlbnRcIjtcbiAgICB9XG5cblxuICAgICRiYXNlOiAgICAgICAwO1xuICAgICRkaWZmOiAgICAgICAwO1xuICAgICR3aWR0aDogICAgICAwO1xuICAgICR3aWR0aC1kaWZmOiAwO1xuXG4gICAgQGlmICgkbWluLXZhbHVlID4gJG1heC12YWx1ZSkge1xuXG4gICAgICAgICRiYXNlOiAgICAgICAkbWF4LXZhbHVlO1xuICAgICAgICAkZGlmZjogICAgICAgJG1heC12YWx1ZSAtICRtaW4tdmFsdWU7XG4gICAgICAgICR3aWR0aDogICAgICAkbWF4LXdpZHRoO1xuICAgICAgICAkd2lkdGgtZGlmZjogJG1pbi13aWR0aCAtICRtYXgtd2lkdGg7XG5cbiAgICB9IEBlbHNlIHtcblxuICAgICAgICAkYmFzZTogICAgICAgJG1pbi12YWx1ZTtcbiAgICAgICAgJGRpZmY6ICAgICAgICRtYXgtdmFsdWUgLSAkbWluLXZhbHVlO1xuICAgICAgICAkd2lkdGg6ICAgICAgJG1pbi13aWR0aDtcbiAgICAgICAgJHdpZHRoLWRpZmY6ICRtYXgtd2lkdGggLSAkbWluLXdpZHRoO1xuICAgIH1cblxuICAgICRjYWxjOiBjYWxjKCN7JGJhc2V9ICsgc3RyaXAoI3skZGlmZn0pICogKDEwMHZ3IC0gI3skd2lkdGh9KSAvIHN0cmlwKCN7JHdpZHRoLWRpZmZ9KSk7XG5cblxuICAgIEBpZiAkbWluLWJwID09ICdkZWZhdWx0JyB7XG5cbiAgICAgICAgI3skcHJvcGVydHl9OiAkY2FsYztcblxuICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICN7JHByb3BlcnR5fTogJG1pbi12YWx1ZTtcblxuICAgICAgICBAaW5jbHVkZSBwbWItYnAoJG1pbi1icCkge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkY2FsY1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcG1iLWJwKCRtYXgtYnApIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkbWF4LXZhbHVlO1xuICAgIH1cbn1cblxuXG5AaW1wb3J0IFwibGliL3BtYi9jb2xvcnNcIjtcbkBpbXBvcnQgXCJsaWIvcG1iL2ZvbnRzXCI7XG5AaW1wb3J0IFwibGliL3BtYi9sYXlvdXRcIjtcbiIsIi8qKlxuICogSFRNTCBlbGVtZW50cyBzdHlsZXNcbiAqL1xuXG5odG1sLCBib2R5IHtcbiAgICBtYXJnaW46ICAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAgbm9uZTtcbn1cblxuXG5odG1sIHtcblxuICAgIEBpbmNsdWRlIGh0bWwtZm9udC1zZXR0aW5ncyhkZWZhdWx0KTtcblxuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xuICAgIH1cbn1cblxuYm9keSB7XG5cbiAgICBAaW5jbHVkZSBib2R5LWZvbnQtc2V0dGluZ3MoZGVmYXVsdCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAgICAgIHRoZW1lLWNvbG9yKGJsYWNrKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cblxubWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuLmZhdXgtaGVhZGluZyB7XG5cbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiB0aGVtZS1mb250KGhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cblxuaDEsXG4uaGVhZGluZy1zaXplLTEsXG4jaG9tZSBoMiB7XG5cbiAgICBAaW5jbHVkZSBmbHVpZChsaW5lLWhlaWdodCwgMnJsaCwgMi41cmxoKTtcblxuICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDEuZW50cnktdGl0bGUge1xuXG4gICAgQGluY2x1ZGUgZmx1aWQoZm9udC1zaXplLCAzNnB4LCA0OHB4KTtcbiAgICBAaW5jbHVkZSBmbHVpZChtYXJnaW4tdG9wLCAgICAgMXJsaCwgICAgMnJsaCk7XG4gICAgQGluY2x1ZGUgZmx1aWQobWFyZ2luLWJvdHRvbSwgIC41cmxoLCAgICAycmxoKTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5cbmgyLFxuLmhlYWRpbmctc2l6ZS0yIHtcblxuICAgIEBpbmNsdWRlIGZsdWlkKGZvbnQtc2l6ZSwgICAgICAzNnB4LCAgIDQxcHgpO1xuICAgIEBpbmNsdWRlIGZsdWlkKGxpbmUtaGVpZ2h0LCAgMS41cmxoLCAgMi41cmxoKTtcbiAgICBAaW5jbHVkZSBmbHVpZChtYXJnaW4tdG9wLCAgICAgMXJsaCwgICAgMnJsaCk7XG4gICAgQGluY2x1ZGUgZmx1aWQobWFyZ2luLWJvdHRvbSwgIDFybGgsICAgIDJybGgpO1xufVxuXG5cbmgzLFxuLmhlYWRpbmctc2l6ZS0zIHtcblxuICAgIEBpbmNsdWRlIGZsdWlkKGZvbnQtc2l6ZSwgMThweCwgMjRweCk7XG4gICAgQGluY2x1ZGUgZmx1aWQobWFyZ2luLXRvcCwgMXJsaCwgMnJsaCk7XG5cbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuXG5oNCxcbi5oZWFkaW5nLXNpemUtNCB7XG4gICAgZm9udC1zaXplOiAycmVtO1xufVxuXG5oNSxcbi5oZWFkaW5nLXNpemUtNSB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbmg2LFxuLmhlYWRpbmctc2l6ZS02IHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuXG5wLCB0YWJsZSwgYmxvY2txdW90ZSB7XG5cbiAgICBtYXJnaW46IDAgMCAxcmxoO1xufVxuXG5oMyB7XG5cbn1cblxuaDMsIHAge1xuXG4gICAgQGluY2x1ZGUgZmx1aWQobWFyZ2luLWJvdHRvbSwgLjVybGgsIDFybGgpO1xufVxuXG5wIHtcblxuICAgIEBpbmNsdWRlIGZsdWlkKGZvbnQtc2l6ZSwgMThweCwgMjBweCk7XG59XG5cblxuLmhhcy10ZXh0LWNvbG9yIHtcblxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIHVsLCBvbCwgdGFibGUsIGJsb2NrcXVvdGUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbmVtLFxuaSxcbnEsXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuZW0gZW0sXG5lbSBpLFxuaSBlbSxcbmkgaSxcbmNpdGUgZW0sXG5jaXRlIGkge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbmJpZyB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmlucyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cblxuYWJicixcbmFjcm9ueW0ge1xuICAgIGN1cnNvcjogaGVscDtcbn1cblxuaHIge1xuXG4gICAgYm9yZGVyOiAgICAgbm9uZTtcbiAgICBoZWlnaHQ6ICAgICAxcHg7XG4gICAgbWFyZ2luOiAgICAgMXJlbSBhdXRvO1xufVxuXG5cbmEge1xuICAgIGNvbG9yOiB0aGVtZS1jb2xvcihibGFjayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmE6aG92ZXIsXG5hOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogTGlzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG51bCxcbm9sIHtcbiAgICBtYXJnaW46IDAgMCBsaCgxKSAzcmVtO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG51bCB1bCB7XG4gICAgbGlzdC1zdHlsZTogY2lyY2xlO1xufVxuXG51bCB1bCB1bCB7XG4gICAgbGlzdC1zdHlsZTogc3F1YXJlO1xufVxuXG5vbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxub2wgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGxvd2VyLWFscGhhO1xufVxuXG5vbCBvbCBvbCB7XG4gICAgbGlzdC1zdHlsZTogbG93ZXItcm9tYW47XG59XG5cbmxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xufVxuXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gICAgbWFyZ2luOiBsaCguNSkgMCAwIDJyZW07XG59XG5cbi5yZXNldC1saXN0LXN0eWxlLFxuLnJlc2V0LWxpc3Qtc3R5bGUgdWwsXG4ucmVzZXQtbGlzdC1zdHlsZSBvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5yZXNldC1saXN0LXN0eWxlIGxpIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbmR0LFxuZGQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmR0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kdCArIGRkIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbmRkICsgZHQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cblxuXG4vKiBRdW90ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmJsb2NrcXVvdGUge1xuXG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCB0aGVtZS1jb2xvcihibGFjayk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAxcmxoIDA7XG4gICAgcGFkZGluZzogLjJybGggMCAuMnJsaCAxcmVtO1xufVxuXG5jaXRlIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuYmxvY2txdW90ZSBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG59XG5cbmJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogQ29kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjZyZW07XG59XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG59XG5cbnByZSB7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2RjZDdjYTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogNHJlbSAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5wcmUgY29kZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBNZWRpYSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5pZnJhbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdmcsXG5pbWcsXG5lbWJlZCxcbm9iamVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuZmlnY2FwdGlvbixcbi53cC1jYXB0aW9uLXRleHQge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbmZpZ2NhcHRpb24gYSxcbi53cC1jYXB0aW9uLXRleHQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmJsb2NrcXVvdGUuaW5zdGFncmFtLW1lZGlhLFxuaWZyYW1lLmluc3RhZ3JhbS1tZWRpYSB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cblxuLyogR0FMTEVSSUVTICovXG5cbi5nYWxsZXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDNlbSAwIDNlbSAtMC44ZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNmVtKTtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gICAgbWFyZ2luOiAwLjhlbSAwO1xuICAgIHBhZGRpbmc6IDAgMC44ZW07XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5nYWxsZXJ5LWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuOGVtO1xufVxuXG5cbi8qIElucHV0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICNkY2Q3Y2E7XG4gICAgcGFkZGluZzogMnJlbTtcbn1cblxubGVnZW5kIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBtYXJnaW46IDA7XG59XG5cbmxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW46IDAgMCAuNXJsaCAwO1xufVxuXG5sYWJlbC5pbmxpbmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIG1pbi13aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGNkN2NhO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDo6YmVmb3JlIHtcbiAgICAvKiBVc2UgdGhlIFwiWWVzXCIgU1ZHIERhc2hpY29uICovXG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjclMjB2aWV3Qm94JTNEJTI3MCUyMDAlMjAyMCUyMDIwJTI3JTNFJTNDcGF0aCUyMGQlM0QlMjdNMTQuODMlMjA0Ljg5bDEuMzQuOTQtNS44MSUyMDguMzhIOS4wMkw1Ljc4JTIwOS42N2wxLjM0LTEuMjUlMjAyLjU3JTIwMi40eiUyNyUyMGZpbGwlM0QlMjclMjMwMDAwMDAlMjclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IC0wLjE4NzVyZW0gMCAwIC0wLjI1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICB3aWR0aDogMS43NXJlbTtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSxcbmJ1dHRvbixcbnNlbGVjdCxcbi5idXR0b24sXG4uZmF1eC1idXR0b24sXG4ud3AtYmxvY2stYnV0dG9uX19saW5rLFxuLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIGJvcmRlci1jb2xvcjogI2RjZDdjYTtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuY29kZSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdIHtcblxuICAgIC8qcnRsOmlnbm9yZSovXG4gICAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcblxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmhhcy1wdXJwbGUtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yICYge1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjI1KTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cblxuc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxudGV4dGFyZWEge1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiByZXZlcnQ7IC8qIFJlc2V0IHRvIHRoZSB2YWx1ZSBmcm9tIHRoZSB1c2VyLWFnZW50IHN0eWxlc2hlZXQuICovXG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJ1dHRvbixcbi5idXR0b24sXG4uZmF1eC1idXR0b24sXG4ud3AtYmxvY2stYnV0dG9uX19saW5rLFxuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgIGRpc3BsYXk6ICAgICAgICAgICAgaW5saW5lLWJsb2NrO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6ICAgIG5vbmU7XG4gICAgcGFkZGluZzogICAgICAgICAgICAuM3JsaCAzMHB4O1xuICAgIG1hcmdpbjogICAgICAgICAgICAgMDtcbiAgICBib3JkZXI6ICAgICAgICAgICAgIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogICAgICAwO1xuICAgIGJhY2tncm91bmQ6ICAgICAgICAgdGhlbWUtY29sb3IoYmxhY2spO1xuICAgIGNvbG9yOiAgICAgICAgICAgICAgI2ZmZjtcbiAgICBmb250OiAgICAgICAgICAgICAgIDUwMCAxNXB4LzFybGggdGhlbWUtZm9udChoZWFkaW5nKTtcbiAgICB0ZXh0LWFsaWduOiAgICAgICAgIGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICAgIG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICAgICB1cHBlcmNhc2U7XG4gICAgb3BhY2l0eTogICAgICAgICAgICAxO1xuICAgIGN1cnNvcjogICAgICAgICAgICAgcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAgICAgICAgIG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuXG5idXR0b246Zm9jdXMsXG5idXR0b246aG92ZXIsXG4uYnV0dG9uOmZvY3VzLFxuLmJ1dHRvbjpob3Zlcixcbi5mYXV4LWJ1dHRvbjpmb2N1cyxcbi5mYXV4LWJ1dHRvbjpob3Zlcixcbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyxcbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlcixcbi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b246Zm9jdXMsXG4ud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uOmhvdmVyLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgb3BhY2l0eTogLjg7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhbmdlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTRweDtcbn1cblxuLyogVGFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2RjZDdjYTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGVtcHR5LWNlbGxzOiBzaG93O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG1hcmdpbjogNHJlbSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYWxpZ25sZWZ0ID4gdGFibGUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQgPiB0YWJsZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG50aCxcbnRkIHtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZGNkN2NhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xufVxuXG5jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGNkN2NhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50aGVhZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG50aCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbiIsIi8vL1xuLy8vIEZvbnRzICYgdmVydGljYWwgcmh5dGhtIGZ1bmN0aW9uc1xuLy8vXG5cblxuJF9wbWItZm9udHM6ICAgICAgICAgIG1hcC1nZXQoJHRoZW1lLCAgICAgICdmb250cycpO1xuJF9wbWItZm9udHMtZmFtaWxpZXM6IG1hcC1nZXQoJF9wbWItZm9udHMsICdmYW1pbGllcycpO1xuXG4kX3BtYi1iYXNlLWZvbnQtc2l6ZTogICBtYXAtZ2V0KCRfcG1iLWZvbnRzLCAnYmFzZS1mb250LXNpemUnKTtcbiRfcG1iLWJhc2UtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJF9wbWItZm9udHMsICdiYXNlLWZvbnQtd2VpZ2h0Jyk7XG4kX3BtYi1iYXNlLWxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRfcG1iLWZvbnRzLCAnYmFzZS1saW5lLWhlaWdodCcpO1xuXG5cbi8vL1xuLy8vIFJldHVybnMgYSBmb250IGZhbWlseVxuLy8vXG5AZnVuY3Rpb24gdGhlbWUtZm9udCgkZm9udC1mYW1pbHkpIHtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkX3BtYi1mb250cy1mYW1pbGllcywgJGZvbnQtZmFtaWx5KSB7XG5cbiAgICAgICAgQHJldHVybiB1bnF1b3RlKFxuICAgICAgICAgICAgbWFwLWdldChcbiAgICAgICAgICAgICAgICAkX3BtYi1mb250cy1mYW1pbGllcyxcbiAgICAgICAgICAgICAgICAkZm9udC1mYW1pbHlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAZXJyb3IgXCJObyBmb250IFxcXCIjeyRmb250LWZhbWlseX1cXFwiIGluIGNvbmZpZ1wiO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtYmFzZS1mb250LXNpemUoKSB7XG4gICAgQHJldHVybiAkX3BtYi1iYXNlLWZvbnQtc2l6ZTtcbn1cblxuLy8vXG4vLy8gUmV0dXJucyBhIGxlbmd0aCBpbiByZW0sIGFjY29yZGluZyB0byB0aGUgYmFzZSBsaW5lIGhlaWdodFxuLy8vXG5AZnVuY3Rpb24gbGgoJGFtb3VudCkge1xuICAgIEByZXR1cm4gcmVtKCRhbW91bnQgKiAkX3BtYi1iYXNlLWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIGh0bWwtZm9udC1zZXR0aW5ncygkZm9udC1mYW1pbHkpIHtcbiAgICBmb250OiAkX3BtYi1iYXNlLWZvbnQtd2VpZ2h0IDEwMCUvI3skX3BtYi1iYXNlLWZvbnQtc2l6ZS8xNnB4KiRfcG1iLWJhc2UtbGluZS1oZWlnaHR9IHRoZW1lLWZvbnQoJGZvbnQtZmFtaWx5KTtcbn1cblxuQG1peGluIGJvZHktZm9udC1zZXR0aW5ncygkZm9udC1mYW1pbHkpIHtcbiAgICBmb250OiAkX3BtYi1iYXNlLWZvbnQtd2VpZ2h0ICN7JF9wbWItYmFzZS1mb250LXNpemV9LyN7JF9wbWItYmFzZS1saW5lLWhlaWdodH0gdGhlbWUtZm9udCgkZm9udC1mYW1pbHkpO1xufVxuIiwiJHJhdy1lbGVtZW50czogXCJoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCB1bCwgb2wsIGJsb2NrcXVvdGUsIHRhYmxlXCI7XG5cbiV3cC1ibG9jay1tYXgtd2lkdGgge1xuXG4gICAgQGluY2x1ZGUgcG1iLWJsb2NrLW1heC13aWR0aCgpO1xuXG4gICAgYm94LXNpemluZzogICBib3JkZXItYm94O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogIGF1dG87XG59XG5cbiV3cC1ibG9jayB7XG5cbiAgICBAaW5jbHVkZSBmbHVpZChtYXJnaW4tdG9wLCAxcmxoLCAycmxoIHgtbGFyZ2UpO1xuXG4gICAgJjpub3QoLmFsaWduZnVsbCk6bm90KC5hbGlnbndpZGUpOm5vdCguYWxpZ25zZW1pLXdpZGUpIHtcbiAgICAgICAgQGV4dGVuZCAld3AtYmxvY2stbWF4LXdpZHRoO1xuICAgIH1cbn1cblxuLndwLWJsb2NrLXJvb3Qge1xuXG4gICAgI3skcmF3LWVsZW1lbnRzfSB7XG5cbiAgICAgICAgQGluY2x1ZGUgcG1iLWJsb2NrLXBhZGRpbmcoKTtcblxuICAgICAgICAmLmhhcy1iYWNrZ3JvdW5kIHtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICAgIDFybGg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJsaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyLWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiB7XG4gICAgICAgICAgICAjeyRyYXctZWxlbWVudHN9IHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV3cC1ibG9jay1tYXgtd2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBbY2xhc3MkPVwiX19pbm5lci1jb250YWluZXJcIl0ge1xuICAgICAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLndwLWJsb2NrLWdyb3VwIHtcblxuICAgIEBleHRlbmQgJXdwLWJsb2NrO1xuXG4gICAgJi5oYXMtYmFja2dyb3VuZCB7XG5cbiAgICAgICAgQGluY2x1ZGUgZmx1aWQocGFkZGluZy10b3AsICAgIDFybGgsIDNybGggeC1sYXJnZSk7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKHBhZGRpbmctYm90dG9tLCAxcmxoLCA0cmxoIHgtbGFyZ2UpO1xuXG4gICAgICAgICYgKyAmIHtcblxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlzLXN0eWxlLWludHJvLXRleHQsIC5pcy1zdHlsZS1sZWZ0LXdhdmUsIC5pcy1zdHlsZS1yaWdodC13YXZlIHtcblxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbn1cblxuLmlzLXN0eWxlLWxlZnQtd2F2ZSwgLmlzLXN0eWxlLWludHJvLXRleHQgIHtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChhc3NldHMvaW1nL2xlZnQtd2F2ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xufVxuLmlzLXN0eWxlLXJpZ2h0LXdhdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChhc3NldHMvaW1nL3JpZ2h0LXdhdmUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG59XG5cbi5pcy1zdHlsZS1pbnRyby10ZXh0IHtcblxuICAgIGZvbnQtZmFtaWx5OiB0aGVtZS1mb250KGhlYWRpbmcpO1xuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG59XG4iLCJAZWFjaCAkYWxpZ24gaW4gKHNlbWktd2lkZSwgd2lkZSwgZnVsbCkge1xuXG4gICAgLmFsaWduI3skYWxpZ259IHtcblxuICAgICAgICBAaW5jbHVkZSBwbWItYmxvY2stbWF4LXdpZHRoKCRhbGlnbik7XG5cbiAgICAgICAgYm94LXNpemluZzogICBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tbGVmdDogIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59XG4iLCIud3AtYmxvY2staW1hZ2Uge1xuXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAuYWxpZ25yaWdodCB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHBtYi1icChtaWQpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFsaWduY2VudGVyIHtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJsaDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi53cC1ibG9jay1nYWxsZXJ5IHtcblxuICAgIEBleHRlbmQgJXdwLWJsb2NrO1xuXG4gICAgJGNlbnRlci1jb2x1bW4tb2Zmc2V0OiAxcmxoO1xuXG4gICAgcG9zaXRpb246ICAgICAgIHJlbGF0aXZlO1xuXG4gICAgJi5hbGlnbmNlbnRlciB7XG4gICAgICAgIEBleHRlbmQgJXdwLWJsb2NrLW1heC13aWR0aDtcbiAgICB9XG5cbiAgICAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAgMDtcbiAgICAgICAgbWFyZ2luOiAgIDAgMCAtMXJsaDtcbiAgICAgICAgei1pbmRleDogIDI7XG5cbiAgICAgICAgQGluY2x1ZGUgcG1iLWJwKG1pZCkge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiAgICAgICAgIGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6ICAgICAgIHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG5cbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW46ICAgIDAgMjBweCAxcmxoIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcG1iLWJwKG1pZCkge1xuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOCB7XG5cbiAgICAgICAgICAgICYuY29sdW1ucy0jeyRpfSB7XG5cbiAgICAgICAgICAgICAgICAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjeygkaSAtIDEpICogMjBweH0pIC8gI3skaX0gKTtcblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgjeyRpfW4pLCAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlLCBhLCBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAgMTAwJTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICBhIHtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoMWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi53cC1ibG9jay1jb3ZlciB7XG5cbiAgICBAaW5jbHVkZSBmbHVpZChoZWlnaHQsIDMwcmVtLCAzNnJlbSk7XG5cbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogICAgIDEwMCUgYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogICBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbn1cbiIsIi53cC1ibG9jay1nZXR3aWQtaW1hZ2VzLXNsaWRlciB7XG5cbiAgICBAZXh0ZW5kICV3cC1ibG9jaztcblxuICAgICZfX2l0ZW0ge1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLndwLWJsb2NrLWdldHdpZC1pbWFnZS1ib3gge1xuXG4gICAgJl9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNzBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmxoO1xuICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoZ3JheSk7XG4gICAgICAgIGZvbnQ6IDYwMCAyNnB4LzMycHggdGhlbWUtZm9udChoZWFkaW5nKTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcihibGFjayk7XG4gICAgICAgIGZvbnQ6IDQwMCAxN3B4LzIxcHggdGhlbWUtZm9udChoZWFkaW5nKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQgKiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAucnRsICYge1xuXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgfVxuXG4gICAgICAgIC5zbGljay10cmFjaywgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXGYxMzdcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXGYxMzhcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcZjExMVwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihibGFjayk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWUtY29sb3IoYmxhY2spO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRzbC1saWdodGJveC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSAhZGVmYXVsdFxuJHNsLWFycm93LXNpZGUtcG9zaXRpb246IDUlICFkZWZhdWx0XG4kc2wtY2FwdGlvbi1tYXJnaW46IDEwcHggMCAwICFkZWZhdWx0XG5cbi5zbGljay1saWdodGJveCB7XG5cbiAgICBwb3NpdGlvbjogICAgICAgICAgIGZpeGVkO1xuICAgIHRvcDogICAgICAgICAgICAgICAgMDtcbiAgICBsZWZ0OiAgICAgICAgICAgICAgIDA7XG4gICAgei1pbmRleDogICAgICAgICAgICA5OTk5O1xuICAgIHdpZHRoOiAgICAgICAgICAgICAgMTAwJTtcbiAgICBoZWlnaHQ6ICAgICAgICAgICAgIDEwMCU7XG4gICAgYmFja2dyb3VuZDogICAgICAgICByZ2JhKDAsMCwwLC43NSkgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRzbC1saWdodGJveC10cmFuc2l0aW9uO1xuICAgIHRyYW5zaXRpb246ICAgICAgICAgJHNsLWxpZ2h0Ym94LXRyYW5zaXRpb247XG4gICAgYmFja2Ryb3AtZmlsdGVyOiAgICBibHVyKDE1cHgpO1xuXG4gICAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuXG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwwLDAsLjUpLFxuICAgICAgICAgICAgICAgICAgICAgMCAxcHggIDJweCByZ2JhKDAsMCwwLC43NSk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmx1aWQoZm9udC1zaXplLCAyNHB4LCAzMnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQobGVmdCwgNHB4IG1pZCwgMjRweCB4LWxhcmdlKTtcbiAgICB9XG5cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKHJpZ2h0LCA0cHggbWlkLCAyNHB4IHgtbGFyZ2UpO1xuICAgIH1cbn1cblxuLnNsaWNrLWxpZ2h0Ym94LWhpZGUge1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuc2xpY2stbGlnaHRib3gtaWUge1xuICAgICAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICB9XG59XG5cbi5zbGljay1saWdodGJveC1oaWRlLWluaXQge1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTk5OTlweDtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJi5zbGljay1saWdodGJveC1pZSB7XG5cbiAgICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgfVxufVxuXG4uc2xpY2stbGlnaHRib3gtaW5uZXIge1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWl0ZW0ge1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgLnNsaWNrLWNhcHRpb24tYm90dG9tICYge1xuICAgICAgICAuc2xpY2stbGlnaHRib3gtc2xpY2staXRlbSB7XG4gICAgICAgICAgICAuc2xpY2stbGlnaHRib3gtc2xpY2stY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWNhcHRpb24tZHluYW1pYyAmIHtcbiAgICAgICAgLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWl0ZW0ge1xuICAgICAgICAgICAgLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWNhcHRpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWl0ZW0taW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xufVxuXG4uc2xpY2stbGlnaHRib3gtc2xpY2staW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLnNsaWNrLWxpZ2h0Ym94LXNsaWNrLWNhcHRpb24ge1xuICAgIG1hcmdpbjogJHNsLWNhcHRpb24tbWFyZ2luO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuXG4vLyB1c2VkIHNsaWNrJ3MgYnV0dG9uIGNzc1xuLnNsaWNrLWxpZ2h0Ym94LWNsb3NlIHtcblxuICAgIEBpbmNsdWRlIGZsdWlkKHRvcCwgICAuNXJsaCwgMXJsaCk7XG4gICAgQGluY2x1ZGUgZmx1aWQocmlnaHQsIC41cmxoLCAxcmxoKTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgZmx1aWQoZm9udC1zaXplLCAyNHB4LCAzMnB4KTtcblxuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBjb250ZW50OiAnXFxmMDBkJztcbiAgICB9XG59XG4iLCIjc3Rub3JiZXJ0IHtcblxuICAgIEBpbmNsdWRlIGZsdWlkKHdpZHRoLCAkbm9yYmVydC1taW4td2lkdGgsICRub3JiZXJ0LW1heC13aWR0aCk7XG4gICAgQGluY2x1ZGUgZmx1aWQobWFyZ2luLXJpZ2h0LCAwdncgbGFyZ2UsIDEwdncgeC1sYXJnZSk7XG5cbiAgICBmbG9hdDogIHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IC41cmxoO1xuICAgIG1hcmdpbi1ib3R0b206IDFybGg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5zaXRlLWhlYWRlciB7XG5cbiAgICAmX19pbm5lciB7XG5cbiAgICAgICAgQGV4dGVuZCAld3AtYmxvY2stbWF4LXdpZHRoO1xuXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAgICAgIDEwMCU7XG4gICAgICAgIHBhZGRpbmc6ICAgIDFybGggMjBweDtcbiAgICB9XG59XG5cbi5zaXRlLWxvZ28ge1xuXG4gICAgQGluY2x1ZGUgZmx1aWQoZm9udC1zaXplLCAgIDI4cHgsICAzMnB4KTtcbiAgICBAaW5jbHVkZSBmbHVpZChsaW5lLWhlaWdodCwgIDEuNXJsaCwgIDNybGgpO1xuXG4gICAgZGlzcGxheTogICAgICAgICBibG9jaztcbiAgICB0ZXh0LWFsaWduOiAgICAgIGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLy90ZXh0LXRyYW5zZm9ybTogIHVwcGVyY2FzZTtcbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuXG4gICAgQGluY2x1ZGUgZmx1aWQoZm9udC1zaXplLCA0NHB4LCA1N3B4KTtcblxuICAgIGZvbnQtZmFtaWx5OiAgdGhlbWUtZm9udChoZWFkaW5nKTtcbiAgICB0ZXh0LWFsaWduOiAgIGNlbnRlcjtcbn1cblxuLnRvZ2dsZSB7XG5cbiAgICBwb3NpdGlvbjogICAgICAgcmVsYXRpdmU7XG4gICAgZGlzcGxheTogICAgICAgIGJsb2NrO1xuICAgIHBhZGRpbmc6ICAgICAgICAwO1xuICAgIG1hcmdpbjogICAgICAgICAxcmxoIGF1dG8gMDtcbiAgICBib3JkZXI6ICAgICAgICAgbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAgMDtcbiAgICBib3gtc2hhZG93OiAgICAgbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAgICAgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICAgICAgICAgIHRoZW1lLWNvbG9yKGJsYWNrKTtcbiAgICBsaW5lLWhlaWdodDogICAgMjBweDtcbiAgICBmb250LXdlaWdodDogICAgNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBwbWItYnAobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9faWNvbiwgc3ZnLCAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG5cbiAgICAgICAgZGlzcGxheTogICAgICAgICBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogIGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6ICAgICBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogICAgICAgICAgIDMwcHg7XG4gICAgICAgIGhlaWdodDogICAgICAgICAgMzBweDtcbiAgICAgICAgbWFyZ2luOiAgICAgICAgICAwIDEwcHggMCAwO1xuICAgICAgICBjb2xvcjogICAgICAgICAgIHRoZW1lLWNvbG9yKGJsYWNrKTtcbiAgICAgICAgdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC41cyBsaW5lYXI7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG5cbiAgICAgICAgZm9udC1zaXplOiAgIDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIHN2ZywgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAgMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIHBhdGgge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG5cbi5wcmltYXJ5LW1lbnUge1xuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIHBtYi1icChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19pdGVtcyB7XG5cbiAgICAgICAgZGlzcGxheTogICAgICAgICBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6ICAgICAgIHdyYXA7XG4gICAgICAgIHBhZGRpbmc6ICAgICAgICAgMDtcbiAgICAgICAgbWFyZ2luOiAgICAgICAgICAwO1xuICAgICAgICBmb250LXNpemU6ICAgICAgIDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAgICAgNTAwO1xuICAgICAgICBsaXN0LXN0eWxlOiAgICAgIG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICBhIHtcblxuICAgICAgICBib3JkZXI6ICAgICAgICAgbm9uZTtcbiAgICAgICAgY29sb3I6ICAgICAgICAgIGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6ICAgICAgICBibG9jaztcbiAgICAgICAgYm94LXNpemluZzogICAgIGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAgICAgICAgICAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAgICAgICAgMTBweCAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiAgICAgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgfVxuXG4gICAgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG5cbi5leHBhbmRlZC1tZW51IHtcblxuICAgIGNvbG9yOiAgICAgIHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGJsYWNrKTtcblxuICAgICY6bm90KCYtLW1vZGFsKSB7XG4gICAgICAgIHBvc2l0aW9uOiAgIGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAgICAgICAwO1xuICAgICAgICByaWdodDogICAgICAwO1xuICAgICAgICBib3R0b206ICAgICAwO1xuICAgIH1cblxuICAgICZfX2l0ZW1zIHtcblxuICAgICAgICBkaXNwbGF5OiAgICBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogICAgMDtcbiAgICAgICAgbWFyZ2luOiAgICAgMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcblxuICAgICAgICBkaXNwbGF5OiAgICAgICAgIGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAgICAgICAgIDAgMzBweDtcbiAgICAgICAgY29sb3I6ICAgICAgICAgICB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAgICAgICAxNnB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAgdXBwZXJjYXNlO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcihibGFjayk7XG4gICAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9kYWwge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ubWVudS1tb2RhbCB7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAgICAgIDNybGg7XG4gICAgcmlnaHQ6ICAgIDA7XG4gICAgYm90dG9tOiAgIDA7XG4gICAgei1pbmRleDogIDk5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAuYWRtaW4tYmFyICYge1xuXG4gICAgICAgIHRvcDogY2FsYygzMnB4ICsgM3JsaCk7XG5cbiAgICAgICAgQGluY2x1ZGUgcG1iLWJwKG1pZCkge1xuXG4gICAgICAgICAgICB0b3A6IGNhbGMoNDZweCArIDNybGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbm5lciB7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAgICAgMTAwJTtcbiAgICAgICAgdG9wOiAgICAgIDA7XG4gICAgICAgIHJpZ2h0OiAgICAwO1xuICAgICAgICBib3R0b206ICAgMDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IG1heC13aWR0aCwgbGVmdDtcbiAgICB9XG5cblxuICAgICYtaW5uZXIge1xuXG4gICAgICAgIHotaW5kZXg6ICAgICAgICAgMztcbiAgICAgICAgZGlzcGxheTogICAgICAgICBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIG92ZXJmbG93OiAgICAgICAgaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAgICAgIHRoZW1lLWNvbG9yKGJsYWNrKTtcbiAgICB9XG5cbiAgICAmLnNob3ctbW9kYWwge1xuXG4gICAgICAgIGRpc3BsYXk6ICAgIGZsZXg7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAzcyBlYXNlO1xuXG4gICAgICAgIC5tZW51LW1vZGFsLWlubmVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMXMgZWFzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcblxuICAgICAgICBtYXgtd2lkdGg6ICAzNjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIC42NjZzIGVhc2U7XG5cbiAgICAgICAgLm1lbnUtbW9kYWwtaW5uZXIge1xuICAgICAgICAgICAgbGVmdDogICAgICAgMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgLjY2NnMgZWFzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ubWVudS13cmFwcGVyIHtcblxuICAgIGRpc3BsYXk6ICAgICAgICAgZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogIGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcG9zaXRpb246ICAgICAgICByZWxhdGl2ZTtcbn1cblxuYnV0dG9uLmNsb3NlLW5hdi10b2dnbGUge1xuXG4gICAgZGlzcGxheTogICAgICAgICBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiAgICAgY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgd2lkdGg6ICAgICAgICAgICAxMDAlO1xuICAgIHBhZGRpbmc6ICAgICAgICAgLjVybGggMjBweDtcbiAgICBmb250LXNpemU6ICAgICAgIDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6ICAgICA1MDA7XG59XG5cbmJ1dHRvbi5jbG9zZS1uYXYtdG9nZ2xlIHN2ZyB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xufVxuXG5idXR0b24uY2xvc2UtbmF2LXRvZ2dsZSAudG9nZ2xlLXRleHQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLm1lbnUtbW9kYWwgLm1lbnUtdG9wIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuXG5cbi5tb2RhbC1tZW51IHtcblxuICAgIEBpbmNsdWRlIGZsdWlkKHBhZGRpbmctdG9wLCA1MHB4LCAxMDBweCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubWVudS1pdGVtIHtcblxuICAgICAgICAmX19sYWJlbCB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogICByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6ICAgICAgICAtNHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICAgIGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAgICAgIDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAgICAgMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yKGdyYXkpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICAgICcnO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBsaW5lYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcblxuICAgICAgICAgICAgLm1lbnUtaXRlbV9fbGFiZWw6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcblxuICAgICAgICBAaW5jbHVkZSBmbHVpZChwYWRkaW5nLWxlZnQsIDUwcHgsIDgwcHgpO1xuICAgICAgICBAaW5jbHVkZSBmbHVpZChsaW5lLWhlaWdodCwgMXJsaCwgMS43NXJsaCk7XG5cbiAgICAgICAgZGlzcGxheTogICAgICAgICBibG9jaztcbiAgICAgICAgd2lkdGg6ICAgICAgICAgICAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogICAgIC41cmxoO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAgIDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAgLjVybGg7XG4gICAgICAgIGNvbG9yOiAgICAgICAgICAgdGhlbWUtY29sb3IoZ3JheSk7XG4gICAgICAgIGZvbnQ6ICAgICAgICAgICAgMzAwIDI2cHggdGhlbWUtZm9udChoZWFkaW5nKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKHdoaXRlKTtcbiAgICB9XG59XG5cblxuLm1vZGFsLW1lbnUgLmFuY2VzdG9yLXdyYXBwZXIge1xuXG4gICAgZGlzcGxheTogICAgICAgICBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogICAgICAgICAgIDEwMCU7XG59XG5cbmJ1dHRvbi5zdWItbWVudS10b2dnbGUge1xuICAgIGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgI2RlZGZkZjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwIDIuNXJlbTtcbn1cblxuYnV0dG9uLnN1Yi1tZW51LXRvZ2dsZSBzdmcge1xuICAgIGhlaWdodDogMC45cmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4gICAgd2lkdGg6IDEuNXJlbTtcbn1cblxuYnV0dG9uLnN1Yi1tZW51LXRvZ2dsZS5hY3RpdmUgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ubW9kYWwtbWVudSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5tb2RhbC1tZW51IHVsIGxpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXJlbTtcbn1cblxuLm1vZGFsLW1lbnUgdWwgbGkgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuXG5cbi8qIEV4cGFuZGVkIE1lbnUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4ubW9iaWxlLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8qIE1lbnUgQm90dG9tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm1lbnUtYm90dG9tIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVybGg7XG59XG5cbi5tZW51LWJvdHRvbSBuYXYge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubWVudS1jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tZW51LWNvcHlyaWdodCBhOmZvY3VzLFxuLm1lbnUtY29weXJpZ2h0IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubWVudS1ib3R0b20gLnNvY2lhbC1tZW51IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbiIsIiNzaXRlLWZvb3RlciB7XG5cbiAgICBwYWRkaW5nOiAgICAwO1xuXG4gICAgPiAud3AtYmxvY2stZ3JvdXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndwLWJsb2NrLWNvbHVtbnMge1xuXG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNpdGUtZm9vdGVyIHtcblxuXG4gICAgICAgICZfX2NvbnRhY3Qge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTg1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19hZGRyZXNzIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogNjNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53cC1zb2NpYWwtbGluayB7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogICAgICAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICAgICAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogICAgICAgICAgICB0aGVtZS1jb2xvcihibGFjaykgIWltcG9ydGFudDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2l0ZS1jcmVkaXRzIHtcblxuICAgIHBhZGRpbmctdG9wOiAgICAuNXJsaDtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVybGg7XG4gICAgdGV4dC1hbGlnbjogICAgIGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHBtYi1icChtaWQpIHtcblxuICAgICAgICBkaXNwbGF5OiAgICAgICAgIGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBwIHtcblxuICAgICAgICBtYXJnaW46IDAgMCAuNXJsaDtcbiAgICB9XG5cbiAgICAmLCAmIGEge1xuICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoZ3JheSwgZGFyayk7XG4gICAgfVxuXG4gICAgYSB7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6ICAgICA2MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG4iLCIuZW50cnktaGVhZGVyIHtcblxuICAgICZfX2lubmVyLWNvbnRhaW5lciB7XG5cbiAgICAgICAgQGV4dGVuZCAld3AtYmxvY2stbWF4LXdpZHRoO1xuICAgICAgICBAaW5jbHVkZSBwbWItYmxvY2stcGFkZGluZygpO1xuICAgIH1cbn1cbiIsIi5wYWdlIHtcblxuICAgIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAuNXJsaCAwO1xuICAgIH1cbn1cblxuLndwLWJsb2NrLXJvb3QtLXBhZ2Uge1xuXG4gICAgLndwLWJsb2NrLXJvb3RfX2lubmVyLWNvbnRhaW5lciB7XG5cbiAgICAgICAgPiAud3AtYmxvY2stZ3JvdXAuYWxpZ25mdWxsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRyYW5zZm9ybXM6IChcbiAgICAxOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVgoIDElKSB0cmFuc2xhdGVZKCAxJSksXG4gICAgMjogc2NhbGUoMS4yKSB0cmFuc2xhdGVYKC0xJSkgdHJhbnNsYXRlWSggMSUpLFxuICAgIDM6IHNjYWxlKDEuMikgdHJhbnNsYXRlWCggMSUpIHRyYW5zbGF0ZVkoLTElKSxcbiAgICA0OiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVgoLTElKSB0cmFuc2xhdGVZKC0xJSksXG4pO1xuXG5cbkBlYWNoICRpLCAkdmFsdWUgaW4gJHRyYW5zZm9ybXMge1xuICAgIEBrZXlmcmFtZXMgem9vbS1pbi0jeyRpfSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2hvbWUge1xuXG5cbiAgICAud3AtYmxvY2stcm9vdF9faW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC53cC1ibG9jay1nZXR3aWQtYmFubmVyIHtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB0aGVtZS1mb250KGhlYWRpbmcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLndwLWJsb2NrLWdyb3VwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNob21lLmFkbWluLWJhciB7XG5cbiAgICAuc2l0ZS1oZWFkZXIge1xuICAgICAgICB0b3A6IDMycHg7XG4gICAgfVxuXG4gICAgLm1lbnUtbW9kYWwtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNHJsaDtcbiAgICB9XG59XG5cbi5ob21lLWludHJvIHtcblxuICAgIC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGgyIHtcblxuICAgICAgICBAaW5jbHVkZSBmbHVpZChmb250LXNpemUsICAgICAgICAyNnB4LCAgNjVweCB4LWxhcmdlKTtcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQobGluZS1oZWlnaHQsICAgIDEuMjVybGgsIDJybGggeC1sYXJnZSk7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkKHBhZGRpbmctYm90dG9tLCAxLjI1cmxoLCAycmxoIHgtbGFyZ2UpO1xuXG4gICAgICAgIHBvc2l0aW9uOiAgICAgIGFic29sdXRlO1xuICAgICAgICByaWdodDogICAgICAgICAwO1xuICAgICAgICBib3R0b206ICAgICAgICAwO1xuICAgICAgICBsZWZ0OiAgICAgICAgICAwO1xuICAgICAgICB6LWluZGV4OiAgICAgICAyO1xuICAgICAgICBtYXJnaW46ICAgICAgICAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogIDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAgICAgICAgIHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogICAzMDA7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxpc3Qge1xuXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogICBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogICAgICAgIDA7XG4gICAgICAgICAgICByaWdodDogICAgICAwO1xuICAgICAgICAgICAgYm90dG9tOiAgICAgMDtcbiAgICAgICAgICAgIGxlZnQ6ICAgICAgIDA7XG4gICAgICAgICAgICB6LWluZGV4OiAgICA5OTk5O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAuOCkgMXJsaCwgcmdiYSgwLCAwLCAwLCAwKSA2cmxoKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICAgICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tZS1zbGlkZXIge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogIDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46ICAgMDtcbiAgICB6LWluZGV4OiAgMTtcblxuXG4gICAgLndwLWJsb2NrLWltYWdlIHtcblxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgaW1nIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmx1aWQoaGVpZ2h0LCAzMjBweCwgNjAwcHggeC1sYXJnZSk7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNnM7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRpLCAkdmFsdWUgaW4gJHRyYW5zZm9ybXMge1xuXG4gICAgICAgIC5zbGljay1zbGlkZTpudGgtY2hpbGQoI3skaX0pIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stY3VycmVudDpudGgtY2hpbGQoI3skaX0pIGltZyB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbS1pbi0jeyRpfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2hvbWUge1xuXG5cbiAgICAud3AtYmxvY2stY292ZXIge1xuXG4gICAgICAgIHBvc2l0aW9uOiAgICAgICAgcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6ICAgICAgICAgZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6ICAgICBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAgICAgIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgZmx1aWQoaGVpZ2h0LCAzMjBweCwgMzgwcHgpO1xuXG4gICAgICAgIGgyIHtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmx1aWQoZm9udC1zaXplLCAgICAgMzJweCwgNTRweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbHVpZChsaW5lLWhlaWdodCwgMS41cmxoLCAycmxoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiNjb250YWN0IHtcblxuICAgIC53cC1ibG9jay1jb2x1bW46Zmlyc3QtY2hpbGQgPiAuaGFzLWJhY2tncm91bmQ6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHR1cmUoKSB7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICBib3R0b206IGxoKDIpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGxoKC0yKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogbGgoMik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBsaCg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtaXhpbiB0ZXh0dXJlKCR0ZXh0dXJlLXNpemU6IDEwcHgpIHtcblxuICAgIHBvc2l0aW9uOiAgICAgICAgYWJzb2x1dGU7XG4gICAgei1pbmRleDogICAgICAgICAxO1xuICAgIGJhY2tncm91bmQ6ICAgICAgdXJsKGFzc2V0cy9pbWcvdGV4dHVyZS15LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNDBweDtcbiAgICBjb250ZW50OiAgICAgICAgICcnO1xuXG4gICAgQGNvbnRlbnQ7XG59XG4iLCIvLy9cbi8vLyBDb2xvcnMgZnVuY3Rpb25zXG4vLy9cblxuXG4kX3BtYi1jb2xvcnM6IG1hcC1nZXQoJHRoZW1lLCAnY29sb3JzJyk7XG4kX3BtYi1jb2xvcnMtcGFsZXR0ZTogbWFwLWdldCgkX3BtYi1jb2xvcnMsICdwYWxldHRlJyk7XG5cblxuQG1peGluIHBtYi1zZXR1cC1ndXRlbmJlcmctY29sb3ItcGFsZXR0ZSgpIHtcblxuICAgIEBlYWNoICRjb2xvciBpbiBtYXAtZ2V0KCRfcG1iLWNvbG9ycywgJ2d1dGVuYmVyZycpIHtcblxuICAgICAgICAkY29sb3ItbmFtZTogICBudGgoJGNvbG9yLCAxKTtcbiAgICAgICAgJHZhcmlhbnQtbmFtZTogbnRoKCRjb2xvciwgMik7XG5cbiAgICAgICAgQGlmICR2YXJpYW50LW5hbWUgPT0gJ2FsbCcge1xuXG4gICAgICAgICAgICBAZWFjaCAkdmFyaWFudC1uYW1lLCAkY29sb3ItdmFsdWUgaW4gbWFwLWdldCgkX3BtYi1jb2xvcnMtcGFsZXR0ZSwgJGNvbG9yLW5hbWUpIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBtYi1jb2xvci1vdXRwdXQoJGNvbG9yLW5hbWUsICR2YXJpYW50LW5hbWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBwbWItY29sb3Itb3V0cHV0KCRjb2xvci1uYW1lLCAkdmFyaWFudC1uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHBtYi1jb2xvci1vdXRwdXQoJGNvbG9yLW5hbWUsICR2YXJpYW50LW5hbWUpIHtcblxuICAgIC5oYXMtI3skY29sb3ItbmFtZX0tI3skdmFyaWFudC1uYW1lfS1jb2xvciB7XG4gICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSwgJHZhcmlhbnQtbmFtZSk7LyohZXhwb3J0Ki9cblxuICAgICAgICAuaXMtc3R5bGUtb3V0bGluZSAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUsICR2YXJpYW50LW5hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhhcy0jeyRjb2xvci1uYW1lfS0jeyR2YXJpYW50LW5hbWV9LWJhY2tncm91bmQtY29sb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSwgJHZhcmlhbnQtbmFtZSk7XG4gICAgfVxuXG59XG5cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lLCAkdG9uZTogJ2Jhc2UnLCAkb3BhY2l0eTogMSkge1xuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRfcG1iLWNvbG9ycy1wYWxldHRlLCAkY29sb3ItbmFtZSkge1xuXG4gICAgICAgICRjb2xvci12YXJpYW50czogbWFwLWdldCgkX3BtYi1jb2xvcnMtcGFsZXR0ZSwgJGNvbG9yLW5hbWUpO1xuXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkY29sb3ItdmFyaWFudHMsICR0b25lKSB7XG5cbiAgICAgICAgICAgICRjb2xvcjogbWFwLWdldCgkY29sb3ItdmFyaWFudHMsICR0b25lKTtcblxuICAgICAgICAgICAgQGlmICRvcGFjaXR5ID09IDEge1xuXG4gICAgICAgICAgICAgICAgQHJldHVybiAkY29sb3I7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgQHJldHVybiB0cmFuc3BhcmVudGl6ZSgkY29sb3IsIDEgLSAkb3BhY2l0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZXJyb3IgXCJObyBjb2xvciB2YXJpYW50IFxcXCIjeyR0b25lfVxcXCIgZm9yIGNvbG9yIFxcXCIjeyRjb2xvci1uYW1lfVxcXCJcIjtcbiAgICB9XG5cbiAgICBAZXJyb3IgXCJObyBjb2xvciBcXFwiI3skY29sb3ItbmFtZX1cXFwiIGRlZmluZWQgaW4gY29uZmlnXCI7XG5cbn1cbiJdfQ== */
