@charset "UTF-8";
/* Variables  */
/* Aliases  */
/* Ported from DS: badge */
/* Source mtime: 2026-07-21T15:21:44.710282Z */
/* Typography (bold, uppercase, size, tracking, line-height) comes from the
   .sc-badge-lg / -sm text-styles (text-styles.css), applied in
   markup and keyed by size. This rule owns box + color only. */
.sc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--sc-padding-12);
  height: 24px;
  border-radius: var(--sc-radius-badge);
  white-space: nowrap;
}

/* sizes — box only; the font size/tracking ride along on .sc-badge-sm */
.sc-badge[data-size=sm] {
  padding: 0 var(--sc-padding-8);
  height: 18px;
}

/* position — corner pins to parent's top-right; only inward corner is rounded.
   Consumer contract: parent must be position: relative. */
.sc-badge[data-position=corner] {
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 0 0 var(--sc-radius-badge);
}

/* colors */
.sc-badge--titanium {
  background: var(--sc-components-badge-titanium-background);
  color: var(--sc-components-badge-titanium-text);
}

.sc-badge--platinum {
  background: var(--sc-components-badge-platinum-background);
  color: var(--sc-components-badge-platinum-text);
}

.sc-badge--steel {
  background: var(--sc-components-badge-steel-background);
  color: var(--sc-components-badge-steel-text);
}

.sc-badge--orange {
  background: var(--sc-components-badge-orange-background);
  color: var(--sc-components-badge-orange-text);
}

.sc-badge--blue {
  background: var(--sc-components-badge-blue-background);
  color: var(--sc-components-badge-blue-text);
}

.sc-badge--green {
  background: var(--sc-components-badge-green-background);
  color: var(--sc-components-badge-green-text);
}

/* dark-green — solid fill (green text token as background), white text.
   High-emphasis PRO/upsell marker; used by notice-banner's pro variant. */
.sc-badge--dark-green {
  background: var(--sc-components-badge-green-text);
  color: var(--sc-text-white);
}

.sc-badge--red {
  background: var(--sc-components-badge-red-background);
  color: var(--sc-components-badge-red-text);
}

.sc-badge--yellow {
  background: var(--sc-components-badge-yellow-background);
  color: var(--sc-components-badge-yellow-text);
}

.sc-badge-lg {
  font-family: var(--sc-typography-font-family-sans);
  font-weight: var(--sc-typography-font-weight-bold);
  font-size: var(--sc-typography-font-size-10);
  line-height: var(--sc-typography-line-height-tight);
  letter-spacing: var(--sc-typography-letter-spacing-percent-5);
  text-transform: uppercase;
}

.sc-badge-sm {
  font-family: var(--sc-typography-font-family-sans);
  font-weight: var(--sc-typography-font-weight-bold);
  font-size: var(--sc-typography-font-size-8);
  line-height: var(--sc-typography-line-height-tight);
  letter-spacing: var(--sc-typography-letter-spacing-percent-5);
  text-transform: uppercase;
}

/* Ported from DS: button */
/* Source mtime: 2026-07-21T15:21:44.710804Z */
.sc-button {
  /* component-scoped tokens — cascade to sub-elements */
  --sc-button-icon-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sc-spacing-5);
  height: 36px;
  padding: 0 var(--sc-padding-16);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--sc-radius-button);
  color: inherit;
  font-family: var(--sc-typography-font-family-sans);
  font-weight: var(--sc-typography-font-weight-medium);
  font-size: var(--sc-typography-font-size-14);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  appearance: none;
  -webkit-appearance: none;
  transition: background var(--sc-transition-normal), border-color var(--sc-transition-normal), color var(--sc-transition-normal), box-shadow var(--sc-transition-normal);
}

.sc-button:focus {
  outline: none;
}

.sc-button:disabled,
.sc-button[aria-disabled=true] {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}

/* icon sub-element — size driven by --sc-button-icon-size on the button. */
.sc-button__icon {
  font-size: var(--sc-button-icon-size);
}

/* sizes — base = default (36px). Override via data-size.
   Heights stay raw (component spec, not on a spacing scale). */
.sc-button[data-size=xl] {
  --sc-button-icon-size: 16px;
  height: 52px;
  padding: 0 var(--sc-padding-28);
  gap: var(--sc-spacing-10);
  font-size: var(--sc-typography-font-size-16);
}

.sc-button[data-size=lg] {
  --sc-button-icon-size: 14px;
  height: 42px;
  padding: 0 var(--sc-padding-16);
  font-size: var(--sc-typography-font-size-16);
}

.sc-button[data-size=sm] {
  --sc-button-icon-size: 12px;
  height: 30px;
  padding: 0 var(--sc-padding-12);
  font-size: var(--sc-typography-font-size-12);
}

/* primary — background hooked on --sc-button-primary-background so a pattern
   (e.g. alert-modal, tinted per Type) can recolor an embedded primary button
   via the custom-property cascade. Unset, it behaves exactly as before. */
.sc-button--primary {
  background: var(--sc-button-primary-background, var(--sc-components-button-primary-background));
  color: var(--sc-components-button-primary-text);
}

.sc-button--primary:hover {
  background: var(--sc-button-primary-background--hover, var(--sc-components-button-primary-background--hover));
}

.sc-button--primary:focus-visible {
  background: var(--sc-button-primary-background--hover, var(--sc-components-button-primary-background--hover));
  border-color: var(--sc-color-neutral-white);
  box-shadow: 0 0 0 2px var(--sc-button-primary-background--hover, var(--sc-components-button-primary-background--hover));
}

/* secondary */
.sc-button--secondary {
  background: var(--sc-components-button-secondary-background);
  color: var(--sc-components-button-secondary-text);
}

.sc-button--secondary:hover {
  background: var(--sc-components-button-secondary-background--hover);
}

.sc-button--secondary:focus-visible {
  background: var(--sc-components-button-secondary-background--hover);
  border-color: var(--sc-color-neutral-white);
  box-shadow: 0 0 0 2px var(--sc-components-button-secondary-background--hover);
}

/* tertiary — focus uses an outer halo (box-shadow) so padding stays on the scale */
.sc-button--tertiary {
  background: var(--sc-components-button-tertiary-background);
  border-color: var(--sc-components-button-tertiary-border);
  color: var(--sc-components-button-tertiary-text);
}

.sc-button--tertiary:hover {
  border-color: var(--sc-components-button-tertiary-border--hover);
  color: var(--sc-components-button-tertiary-text--hover);
}

.sc-button--tertiary:focus-visible {
  background: var(--sc-components-button-tertiary-background--hover);
  border-color: var(--sc-components-button-tertiary-border--hover);
  color: var(--sc-components-button-tertiary-text--hover);
  box-shadow: 0 0 0 2px var(--sc-components-button-tertiary-border--hover);
}

/* text — color is hooked on --sc-button-text-color so a container
   (e.g. notice-banner --error/--warning) can recolor an embedded text
   button via the custom-property cascade. Unset, it behaves as before. */
.sc-button--text {
  color: var(--sc-button-text-color, var(--sc-text-link));
  height: auto;
  padding: 0 var(--sc-padding-4);
}

/* A text button is an inline link, never a fixed-height control. The
   size rules above set a height + wider padding at higher specificity
   (class + attribute), so re-assert auto height and text padding for any
   sized text button. Font-size from the size rule still applies. */
.sc-button--text[data-size] {
  height: auto;
  padding: 0 var(--sc-padding-4);
}

.sc-button--text:hover {
  color: var(--sc-button-text-color, var(--sc-text-link--hover));
  text-decoration: underline;
}

.sc-button--text:focus-visible {
  color: var(--sc-button-text-color, var(--sc-text-link--hover));
  text-decoration: underline;
}

.sugar-calendar-tools-ai {
  max-width: 700px;
  margin: 0 auto;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 120px;
  overflow: hidden;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-blob {
  position: absolute;
  top: 0;
  left: 50%;
  width: 320px;
  height: 120px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, #fff3ec 0%, rgba(255, 243, 236, 0) 70%);
  z-index: 0;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-ring {
  position: absolute;
  left: 91px;
  top: 37px;
  width: 517px;
  height: 517px;
  border-radius: 50%;
  border: 1.39px dashed rgb(225, 230, 234);
  box-sizing: border-box;
  z-index: 0;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-shadow-ground {
  position: absolute;
  left: 148px;
  top: 98px;
  width: 404px;
  height: 165px;
  border-radius: 50%;
  background: rgba(15, 16, 32, 0.12);
  filter: blur(48px);
  z-index: 1;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-client {
  position: absolute;
  z-index: 1;
  transform: translate(-50%, -50%);
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-mascot-wrap {
  position: relative;
  z-index: 2;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-mascot {
  display: block;
  width: 123px;
  height: auto;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-heart {
  position: absolute;
  left: 363.14px;
  top: 2.7px;
  z-index: 3;
  width: 20px;
  height: 17px;
  transform: rotate(15deg);
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-panel {
  background: white;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07);
  overflow: hidden;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  padding: 30px 20px;
  text-align: center;
  filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.07));
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-eyebrow {
  text-transform: uppercase;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 17px !important;
  letter-spacing: 0;
  color: #787C82 !important;
  margin: 0 !important;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-title {
  font-size: 24px;
  font-weight: 500;
  line-height: 29.3px;
  color: #2c3338;
  margin: 0;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-lede {
  max-width: 530px;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  color: #50575e !important;
  margin: 0 !important;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-lede a {
  color: #2271b1;
  text-decoration: underline;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-lede a:hover, .sugar-calendar-tools-ai .sugar-calendar-tools-ai-lede a:focus {
  color: #ff8845;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-cta-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-cta-row .sugar-calendar-btn {
  height: 52px;
  padding: 16px 28px;
  border-radius: 4px;
  font-weight: 500;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-wpvibe-caption {
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #a7aaad !important;
  margin: 0 !important;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-wpvibe-caption .sugar-calendar-tools-ai-wpvibe-link {
  color: #a7aaad;
  text-decoration: underline;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-wpvibe-caption .sugar-calendar-tools-ai-wpvibe-link:hover, .sugar-calendar-tools-ai .sugar-calendar-tools-ai-wpvibe-caption .sugar-calendar-tools-ai-wpvibe-link:focus {
  color: #ff8845;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-note,
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-install-error {
  margin: 12px 0 0 !important;
  font-size: 13px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-note {
  color: #787C82 !important;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-install-error {
  color: #ff7368 !important;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-capabilities {
  background: #f7f7f7;
  padding: 30px 20px;
  text-align: center;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-capabilities-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 19.54px;
  color: #2c3338;
  margin: 0 0 25px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
  grid-auto-rows: 1fr;
  gap: 15px;
  text-align: left;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card {
  display: flex;
  flex-direction: column;
  min-height: 150px;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  padding: 15px;
  background: white;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-head-label {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-head-label .sc-badge {
  height: 16px;
  padding: 0 5px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 4px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-icon [class*="icon-["] {
  font-size: 16px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-icon > svg {
  width: 16px;
  height: 16px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-bullets {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: #787C82;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-bullets li {
  display: flex;
  align-items: flex-start;
  margin: 0;
  gap: 5px;
  line-height: 1.4;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-bullet-text {
  flex: 1 0 0;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-bullet-check {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 11px;
  padding-top: 3px;
  color: #008a20;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-bullet-check svg {
  width: 11px;
  height: 8px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-yellow .sugar-calendar-tools-ai-card-icon {
  background: #FCF9E8;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-yellow .sugar-calendar-tools-ai-card-icon [class*="icon-["],
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-yellow .sugar-calendar-tools-ai-card-icon > svg {
  color: #dba617;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-blue .sugar-calendar-tools-ai-card-icon {
  background: #e5f5fa;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-blue .sugar-calendar-tools-ai-card-icon [class*="icon-["],
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-blue .sugar-calendar-tools-ai-card-icon > svg {
  color: #00a0d2;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-red .sugar-calendar-tools-ai-card-icon {
  background: #fceeef;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-red .sugar-calendar-tools-ai-card-icon [class*="icon-["],
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-red .sugar-calendar-tools-ai-card-icon > svg {
  color: #d63638;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-green .sugar-calendar-tools-ai-card-icon {
  background: #edfaef;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-green .sugar-calendar-tools-ai-card-icon [class*="icon-["],
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-green .sugar-calendar-tools-ai-card-icon > svg {
  color: #008a20;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-indigo .sugar-calendar-tools-ai-card-icon {
  background: #f0f6fc;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-indigo .sugar-calendar-tools-ai-card-icon [class*="icon-["],
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-indigo .sugar-calendar-tools-ai-card-icon > svg {
  color: #2271b1;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-title {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 17.09px;
  color: #2c3338;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-card-lock {
  margin-top: auto;
  padding-top: 10px;
  margin-left: -4px;
}
.sugar-calendar-tools-ai .sugar-calendar-tools-ai-more-note {
  font-size: 14px !important;
  color: #787C82 !important;
  margin: 25px 0 0 !important;
}
@media screen and (max-width: 780px) {
  .sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-client,
  .sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-heart,
  .sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-ring,
  .sugar-calendar-tools-ai .sugar-calendar-tools-ai-banner-shadow-ground {
    display: none;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2FkbWluL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL2NvbXBvbmVudHMvYWRtaW4vX2JhZGdlLnNjc3MiLCJhc3NldHMvc2Nzcy9jb21wb25lbnRzL2FkbWluL19idXR0b24uc2NzcyIsImFzc2V0cy9zY3NzL2FkbWluLXRvb2xzLWFpLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBO0FBbUVBO0FDckVBO0FBQ0E7QUFPQTtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUVBO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQVVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDMUdGO0FBQ0E7QUFPQTtBQUNFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBbUI7OztBQUNuQjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQW1COzs7QUFFbkI7QUFBQTtBQUVBO0VBQTZCO0VBQTZCO0VBQWM7RUFBaUM7RUFBMkI7OztBQUNwSTtFQUE2QjtFQUE2QjtFQUFjO0VBQWlDOzs7QUFDekc7RUFBNkI7RUFBNkI7RUFBYztFQUFpQzs7O0FBRXpHO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTs7O0FBRUY7RUFBNEI7OztBQUM1QjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7OztBQUVGO0VBQThCOzs7QUFDOUI7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFBOEI7RUFBYzs7O0FBQzVDO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUMzR0Y7RUFDQztFQUNBOztBQWtCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBU0Q7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBOztBQU9EO0VBQ0M7RUFDQTtFQUNBOztBQVVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQyxZSHBGb0I7RUdxRnBCO0VBQ0EsZUgxRlU7RUcyRlY7RUFDQTs7QUFNRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUE7O0FBR0Q7RUFDQyxXSHRCa0I7RUd1QmxCO0VBQ0E7RUFDQSxPSDdJaUI7RUc4SWpCOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOztBQUVBO0VBQ0MsT0hqSW9CO0VHa0lwQjs7QUFFQTtFQUVDLE9IektvQjs7QUdrTHZCO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBLGVIcktTO0VHc0tUOztBQU1GO0VBQ0M7RUFDQTtFQUNBO0VBR0E7O0FBRUE7RUFDQyxPSDVMZ0I7RUc2TGhCOztBQUVBO0VBRUMsT0gvTW9COztBR29OdkI7QUFBQTtFQUlDO0VBQ0EsV0huR2tCOztBR3NHbkI7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBS0M7RUFDQTtFQUNBOztBQUdEO0VBQ0MsV0h2SGlCO0VHd0hqQjtFQUNBO0VBQ0EsT0gxT2lCO0VHMk9qQjs7QUFZRDtFQUNDO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBTUE7RUFDQTtFQUNBLGVIOVBVO0VHK1BWO0VBQ0EsWUg1UG9COztBRytQckI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1EO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDQztFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUhyU1U7O0FHMFNWO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQVNGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0hoT2tCO0VHaU9sQixPSHpSbUI7O0FHMlJuQjtFQUNDO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBSUY7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9INVZ1Qjs7QUc4VnZCO0VBQ0M7RUFDQTs7QUFJRjtFQUNDLFlIeld1Qjs7QUcyV3ZCO0FBQUE7RUFFQyxPSDNXdUI7O0FHK1d6QjtFQUNDLFlIdFcwQjs7QUd3VzFCO0FBQUE7RUFFQyxPSGxZMEI7O0FHc1k1QjtFQUtDOztBQUVBO0FBQUE7RUFFQyxPSGhZb0I7O0FHb1l0QjtFQUNDLFlIM1hzQjs7QUc2WHRCO0FBQUE7RUFFQyxPSHhZc0I7O0FHZ1p4QjtFQUNDLFlIbmFtQjs7QUdxYW5CO0FBQUE7RUFFQyxPSHRhbUI7O0FHMGFyQjtFQUNDO0VBQ0EsV0h4VGlCO0VHeVRqQjtFQUNBO0VBQ0EsT0gxYWlCOztBR2libEI7RUFDQztFQUNBO0VBQ0E7O0FBT0Q7RUFDQztFQUNBO0VBQ0E7O0FBY0Q7RUFFQztBQUFBO0FBQUE7QUFBQTtJQUlDIiwiZmlsZSI6ImFzc2V0cy9jc3MvYWRtaW4tdG9vbHMtYWkuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRtaW4gdmFyaWFibGVzLlxuXG4vKiBWYXJpYWJsZXMgICovXG4kcmFkaXVzLW1kOiA0cHg7XG4kcmFkaXVzLWxnOiA2cHg7XG4kcmFkaXVzLXNtOiAzcHg7XG4kc3BhY2luZy14czogNXB4O1xuJHNwYWNpbmctc206IDEwcHg7XG4kc3BhY2luZy1tZDogMjBweDtcbiRzcGFjaW5nLWxnOiAzMHB4O1xuJHNwYWNpbmcteGw6IDUwcHg7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTUwOiAjRkY4ODQ1RkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTcwOiAjQ0I2RDM3RkY7XG4kY29sb3ItYnJhbmQtYmx1ZS0wOiAjZjBmNmZjZmY7XG4kY29sb3ItYnJhbmQtYmx1ZS01MDogIzIyNzFCMUZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTUwOiAjMDBBMEQyRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS03MDogIzBBNEI3OEZGO1xuJGNvbG9yLW5ldXRyYWwtMTAwOiAjMTAxNTE3O1xuJGNvbG9yLW5ldXRyYWwtOTA6ICMxRDIzMjdGRjtcbiRjb2xvci1uZXV0cmFsLTgwOiAjMkMzMzM4RkY7XG4kY29sb3ItbmV1dHJhbC03MDogIzNDNDM0QUZGO1xuJGNvbG9yLW5ldXRyYWwtNjA6ICM1MDU3NUVGRjtcbiRjb2xvci1uZXV0cmFsLTUwOiAjNjQ2OTcwRkY7XG4kY29sb3ItbmV1dHJhbC0zMDogIzhDOEY5NEZGO1xuJGNvbG9yLW5ldXRyYWwtMTA6ICNDM0M0QzdGRjtcbiRjb2xvci1uZXV0cmFsLTIwOiAjQTdBQUFERkY7XG4kY29sb3ItbmV1dHJhbC01OiAjRENEQ0RFRkY7XG4kY29sb3ItdXRpbGl0eS15ZWxsb3ctMDogI0ZDRjlFODtcbiRjb2xvci11dGlsaXR5LXllbGxvdy0zMDogI0YyRDY3NTtcbiRjb2xvci11dGlsaXR5LXllbGxvdy01MDogI0RCQTYxN0ZGO1xuJGNvbG9yLXV0aWxpdHktcmVkLTUwOiAjRDYzNjM4RkY7XG4kY29sb3ItdXRpbGl0eS1ncmVlbi01MDogIzAwOEEyMEZGO1xuJHJhZGl1cy1tZDogNHB4O1xuJHJhZGl1cy1sZzogNnB4O1xuJHJhZGl1cy14bDogOXB4O1xuJGNvbG9yLW5ldXRyYWwtMzogI0YwRjBGMUZGO1xuJGNvbG9yLW5ldXRyYWwtMDogI0Y2RjdGN0ZGO1xuJGNvbG9yLXV0aWxpdHktd2hpdGU6ICNGRkZGRkZGRjtcbiRjb2xvci1icmFuZC1vcmFuZ2UtMDogI0ZGRjNFQ0ZGO1xuJGNvbG9yLWJyYW5kLWJsdWUtYnJpZ2h0LTA6ICNFNUY1RkFGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTA6ICNFREZBRUZGRjtcbiRjb2xvci11dGlsaXR5LXJlZC0wOiAjRkNGMEYxRkY7XG4kY29sb3ItYnJhbmQtb3JhbmdlLTMwOiAjRkZBMDZBRkY7XG4kY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMzA6ICM2NkM2RTRGRjtcbiRjb2xvci11dGlsaXR5LWdyZWVuLTMwOiAjMDBCQTM3RkY7XG4kY29sb3ItdXRpbGl0eS1yZWQtMzA6ICNGODYzNjhGRjtcbiRjb2xvci13b3JkcHJlc3MtYmx1ZTogIzIyNzFCMUZGO1xuJGNvbG9yLXV0aWxpdHktZ3JheS0wOiAjRjZGNkY2RkY7XG4kY29sb3ItYWNjZW50LW9yYW5nZS01MDogI0ZFOUU2OEZGO1xuJGNvbG9yLWFjY2VudC1vcmFuZ2UtMDogI0ZGRjBFOEZGO1xuJGNvbG9yLWFjY2VudC1yZWQtNTA6ICNGRjczNjhGRjtcbiRjb2xvci1hY2NlbnQtcmVkLTA6ICNGRkVBRThGRjtcbiRjb2xvci1hY2NlbnQtcGluay01MDogI0RGNUI5QUZGO1xuJGNvbG9yLWFjY2VudC1waW5rLTA6ICNGQUU2RjBGRjtcbiRjb2xvci1hY2NlbnQtcHVycGxlLTUwOiAjODY1OUMyRkY7XG4kY29sb3ItYWNjZW50LXB1cnBsZS0wOiAjRURFNkY2RkY7XG4kY29sb3ItYWNjZW50LWJsdWUtNTA6ICM1Njg1QkRGRjtcbiRjb2xvci1hY2NlbnQtYmx1ZS0wOiAjRTZFREY1RkY7XG4kY29sb3ItYWNjZW50LXRlYWwtNTA6ICM0QkI5QTdGRjtcbiRjb2xvci1hY2NlbnQtdGVhbC0wOiAjRTRGNUYyRkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTUwOiAjNTdENDY2RkY7XG4kY29sb3ItYWNjZW50LWdyZWVuLTA6ICNFNkY5RThGRjtcbiRjb2xvci1hY2NlbnQteWVsbG93LTUwOiAjRkZDNDY5RkY7XG4kY29sb3ItYWNjZW50LXllbGxvdy0wOiAjRkZGNkU5RkY7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5OiAjMDAwMDAwRDk7XG4kY2FsZW5kYXItdGV4dC1zZWNvbmRhcnk6IHJnYmEoMCwgMCwgMCwgMC43MCk7XG4kY2FsZW5kYXItdGV4dC10ZXJ0aWFyeTogIzAwMDAwMDY2O1xuJGNhbGVuZGFyLWJhY2tncm91bmQ6ICMwMDAwMDAwODtcblxuLyogQWxpYXNlcyAgKi9cbiR0ZXh0LXRleHQtcHJpbWFyeTogJGNvbG9yLW5ldXRyYWwtODA7XG4kdGV4dC10ZXh0LXNlY29uZGFyeTogJGNvbG9yLW5ldXRyYWwtNjA7XG4kdGV4dC10ZXh0LXRlcnRpYXJ5OiAjNzg3QzgyO1xuJHRleHQtdGV4dC1oZWFkaW5nOiAkY29sb3ItbmV1dHJhbC05MDtcbiR0ZXh0LXRleHQtdGl0bGU6ICRjb2xvci1uZXV0cmFsLTEwMDtcbiRidXR0b25zLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG4kYnV0dG9ucy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMTA7XG4kZmllbGQtYm9yZGVyLWVycm9yOiAkY29sb3ItdXRpbGl0eS1yZWQtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMTA7XG4kc3VyZmFjZS1zdXJmYWNlLWRpdmlkZXI6ICRjb2xvci1uZXV0cmFsLTU7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLS1ob3ZlcjogJGNvbG9yLWJyYW5kLW9yYW5nZS03MDtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXI6ICRjb2xvci1icmFuZC1ibHVlLTcwO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlcjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kYnV0dG9ucy1idXR0b24tcHJpbWFyeS10ZXh0OiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiRidXR0b25zLWJ1dHRvbi1zZWNvbmRhcnktdGV4dDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktdGV4dDogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYm9yZGVyLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNjA7XG4kYnV0dG9ucy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZC0tLWhvdmVyOiAkY29sb3ItbmV1dHJhbC0zO1xuJGJ1dHRvbnMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC04MDtcbiRidXR0b25zLWJ1dHRvbi13cC1wcmltYXJ5LWJhY2tncm91bmQ6ICMyMjcxQjE7XG4kdGV4dC10ZXh0LXdoaXRlOiAkY29sb3ItdXRpbGl0eS13aGl0ZTtcbiR0ZXh0LXRleHQtbGluazogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kdGV4dC10ZXh0LXN1Y2Nlc3M6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuJHRleHQtdGV4dC1lcnJvcjogJGNvbG9yLXV0aWxpdHktcmVkLTUwO1xuJHRleHQtdGV4dC13YXJuaW5nOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG4kZmllbGRzLWZpZWxkLWJvcmRlci0tZm9jdXM6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuJGZpZWxkcy1maWVsZC1ib3JkZXItZXJyb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9mZjogJGNvbG9yLW5ldXRyYWwtMzA7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vbjogJGNvbG9yLWJyYW5kLWJsdWUtNTA7XG4kYmFkZ2VzLWJhZGdlLW9yYW5nZS10ZXh0OiAkY29sb3ItYnJhbmQtb3JhbmdlLTMwO1xuJGJhZGdlcy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLWJyYW5kLW9yYW5nZS0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLWJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0wO1xuJGJhZGdlcy1iYWRnZS1ibHVlLXRleHQ6ICRjb2xvci1icmFuZC1ibHVlLWJyaWdodC0zMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tYmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tMDtcbiRiYWRnZXMtYmFkZ2UtZ3JlZW4tdGV4dDogJGNvbG9yLXV0aWxpdHktZ3JlZW4tNTA7XG4kYmFkZ2VzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1yZWQtMDtcbiRiYWRnZXMtYmFkZ2UtcmVkLXRleHQ6ICRjb2xvci11dGlsaXR5LXJlZC0zMDtcbiRiYWRnZXMtYmFkZ2UtbmV1dHJhbC1iYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC01O1xuJGJhZGdlcy1iYWRnZS1uZXV0cmFsLXRleHQ6ICRjb2xvci1uZXV0cmFsLTMwO1xuJHJhZGl1cy1yYWRpdXMtdGFibGU6ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1idXR0b246ICRyYWRpdXMtbWQ7XG4kcmFkaXVzLXJhZGl1cy1maWVsZDogJHJhZGl1cy1tZDtcbiRyYWRpdXMtcmFkaXVzLWJhZGdlOiAkcmFkaXVzLXNtO1xuJHN1cmZhY2Utc3VyZmFjZS1ib3JkZXItcHJpbWFyeTogJGNvbG9yLWJyYW5kLW9yYW5nZS01MDtcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtMztcbiRzdXJmYWNlLXN1cmZhY2UtYmFja2dyb3VuZC13aGl0ZTogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG4kdGV4dC10ZXh0LWljb246ICRjb2xvci1uZXV0cmFsLTIwO1xuJHRleHQtdGV4dC1pY29uLS1ob3ZlcjogJGNvbG9yLW5ldXRyYWwtNTA7XG4kc3VyZmFjZS1zdXJmYWNlLWJhY2tncm91bmQtbGlnaHQ6ICNGN0Y3Rjc7XG4kZmllbGRzLWZpZWxkLWNob2ljZS1vZmYtLWhvdmVyOiAkY29sb3ItbmV1dHJhbC01MDtcbiRmaWVsZHMtZmllbGQtY2hvaWNlLW9uLS1ob3ZlcjogJGNvbG9yLWJyYW5kLWJsdWUtNzA7XG4kV29yZFByZXNzLUZpZWxkLUJvcmRlcjogIzhDOEY5NDtcbiRXb3JkUHJlc3MtTGluazogIzA1NkFBQjtcblxuLy8gRm9udCBzaXplcy5cbiR0ZXh0LWZvbnQtc2l6ZS0yeHM6IDExcHg7XG4kdGV4dC1mb250LXNpemUteHM6IDEycHg7XG4kdGV4dC1mb250LXNpemUtc3M6IDEzcHg7XG4kdGV4dC1mb250LXNpemUtczogMTRweDtcbiR0ZXh0LWZvbnQtc2l6ZS1tOiAxNnB4O1xuJHRleHQtZm9udC1zaXplLWw6IDE4cHg7XG4kdGV4dC1mb250LXNpemUtbGw6IDIwcHg7XG4kdGV4dC1mb250LXNpemUtbGxsOiAyMnB4O1xuJHRleHQtZm9udC1zaXplLXhsOiAyNHB4O1xuJHRleHQtZm9udC1zaXplLXh4bDogMjhweDtcblxuLy8gVHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbnMtdHJhbnNpdGlvbi1zbG93ZXN0OiAuNTBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvd2VyOiAuNDBzO1xuJHRyYW5zaXRpb25zLXRyYW5zaXRpb24tc2xvdzogLjI1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLW5vcm1hbDogLjE1cztcbiR0cmFuc2l0aW9ucy10cmFuc2l0aW9uLWZhc3Q6IC4wNXM7XG4iLCIvKiBQb3J0ZWQgZnJvbSBEUzogYmFkZ2UgKi9cbi8qIFNvdXJjZSBtdGltZTogMjAyNi0wNy0yMVQxNToyMTo0NC43MTAyODJaICovXG4vLyBOYW1lZCBhcyBhIHBhcnRpYWwgKGxlYWRpbmcgdW5kZXJzY29yZSkgYmVjYXVzZSB0aGlzIHBsdWdpbidzIGd1bHAgcGlwZWxpbmVcbi8vIGNvbXBpbGVzIGV2ZXJ5IG5vbi1wYXJ0aWFsIC5zY3NzIHVuZGVyIGFzc2V0cy9zY3NzLyBpbnRvIGl0cyBvd24gc3R5bGVzaGVldC5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBvcnRlZCBmcm9tIERTIChkbyBub3QgZWRpdCDigJQgcmUtcG9ydCBpZiBEUyBzb3VyY2UgY2hhbmdlcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vKiBUeXBvZ3JhcGh5IChib2xkLCB1cHBlcmNhc2UsIHNpemUsIHRyYWNraW5nLCBsaW5lLWhlaWdodCkgY29tZXMgZnJvbSB0aGVcbiAgIC5zYy1iYWRnZS1sZyAvIC1zbSB0ZXh0LXN0eWxlcyAodGV4dC1zdHlsZXMuY3NzKSwgYXBwbGllZCBpblxuICAgbWFya3VwIGFuZCBrZXllZCBieSBzaXplLiBUaGlzIHJ1bGUgb3ducyBib3ggKyBjb2xvciBvbmx5LiAqL1xuLnNjLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwIHZhcigtLXNjLXBhZGRpbmctMTIpO1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNjLXJhZGl1cy1iYWRnZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIHNpemVzIOKAlCBib3ggb25seTsgdGhlIGZvbnQgc2l6ZS90cmFja2luZyByaWRlIGFsb25nIG9uIC5zYy1iYWRnZS1zbSAqL1xuLnNjLWJhZGdlW2RhdGEtc2l6ZT1cInNtXCJdIHtcbiAgcGFkZGluZzogMCB2YXIoLS1zYy1wYWRkaW5nLTgpO1xuICBoZWlnaHQ6IDE4cHg7XG59XG5cbi8qIHBvc2l0aW9uIOKAlCBjb3JuZXIgcGlucyB0byBwYXJlbnQncyB0b3AtcmlnaHQ7IG9ubHkgaW53YXJkIGNvcm5lciBpcyByb3VuZGVkLlxuICAgQ29uc3VtZXIgY29udHJhY3Q6IHBhcmVudCBtdXN0IGJlIHBvc2l0aW9uOiByZWxhdGl2ZS4gKi9cbi5zYy1iYWRnZVtkYXRhLXBvc2l0aW9uPVwiY29ybmVyXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCB2YXIoLS1zYy1yYWRpdXMtYmFkZ2UpO1xufVxuXG4vKiBjb2xvcnMgKi9cbi5zYy1iYWRnZS0tdGl0YW5pdW0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zYy1jb21wb25lbnRzLWJhZGdlLXRpdGFuaXVtLWJhY2tncm91bmQpO1xuICBjb2xvcjogdmFyKC0tc2MtY29tcG9uZW50cy1iYWRnZS10aXRhbml1bS10ZXh0KTtcbn1cblxuLnNjLWJhZGdlLS1wbGF0aW51bSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjLWNvbXBvbmVudHMtYmFkZ2UtcGxhdGludW0tYmFja2dyb3VuZCk7XG4gIGNvbG9yOiB2YXIoLS1zYy1jb21wb25lbnRzLWJhZGdlLXBsYXRpbnVtLXRleHQpO1xufVxuXG4uc2MtYmFkZ2UtLXN0ZWVsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2MtY29tcG9uZW50cy1iYWRnZS1zdGVlbC1iYWNrZ3JvdW5kKTtcbiAgY29sb3I6IHZhcigtLXNjLWNvbXBvbmVudHMtYmFkZ2Utc3RlZWwtdGV4dCk7XG59XG5cbi5zYy1iYWRnZS0tb3JhbmdlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2MtY29tcG9uZW50cy1iYWRnZS1vcmFuZ2UtYmFja2dyb3VuZCk7XG4gIGNvbG9yOiB2YXIoLS1zYy1jb21wb25lbnRzLWJhZGdlLW9yYW5nZS10ZXh0KTtcbn1cblxuLnNjLWJhZGdlLS1ibHVlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2MtY29tcG9uZW50cy1iYWRnZS1ibHVlLWJhY2tncm91bmQpO1xuICBjb2xvcjogdmFyKC0tc2MtY29tcG9uZW50cy1iYWRnZS1ibHVlLXRleHQpO1xufVxuXG4uc2MtYmFkZ2UtLWdyZWVuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2MtY29tcG9uZW50cy1iYWRnZS1ncmVlbi1iYWNrZ3JvdW5kKTtcbiAgY29sb3I6IHZhcigtLXNjLWNvbXBvbmVudHMtYmFkZ2UtZ3JlZW4tdGV4dCk7XG59XG5cbi8qIGRhcmstZ3JlZW4g4oCUIHNvbGlkIGZpbGwgKGdyZWVuIHRleHQgdG9rZW4gYXMgYmFja2dyb3VuZCksIHdoaXRlIHRleHQuXG4gICBIaWdoLWVtcGhhc2lzIFBSTy91cHNlbGwgbWFya2VyOyB1c2VkIGJ5IG5vdGljZS1iYW5uZXIncyBwcm8gdmFyaWFudC4gKi9cbi5zYy1iYWRnZS0tZGFyay1ncmVlbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjLWNvbXBvbmVudHMtYmFkZ2UtZ3JlZW4tdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYy10ZXh0LXdoaXRlKTtcbn1cblxuLnNjLWJhZGdlLS1yZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zYy1jb21wb25lbnRzLWJhZGdlLXJlZC1iYWNrZ3JvdW5kKTtcbiAgY29sb3I6IHZhcigtLXNjLWNvbXBvbmVudHMtYmFkZ2UtcmVkLXRleHQpO1xufVxuXG4uc2MtYmFkZ2UtLXllbGxvdyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjLWNvbXBvbmVudHMtYmFkZ2UteWVsbG93LWJhY2tncm91bmQpO1xuICBjb2xvcjogdmFyKC0tc2MtY29tcG9uZW50cy1iYWRnZS15ZWxsb3ctdGV4dCk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQbHVnaW4gb3ZlcnJpZGVzIOKAlCBjb25mbGljdHMgYW5kIGZpeGVzIGZvciBUSElTIHBsdWdpblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGhlIGJhZGdlJ3MgdHlwb2dyYXBoeSBsaXZlcyBpbiB0aGUgRFMgdG9rZW5zIGxheWVyICh0b2tlbnMvdGV4dC1zdHlsZXMuY3NzKSxcbi8vIHdoaWNoIHRoaXMgcGx1Z2luIGhhcyBub3QgdmVuZG9yZWQg4oCUIGNvcGllZCB2ZXJiYXRpbSBmb3IgdGhlIHR3byBiYWRnZSBzaXplc1xuLy8gb25seSwgc2luY2UgLnNjLWJhZGdlIGlzIHVudXNhYmxlIHdpdGhvdXQgdGhlbSAoRFMgYmFkZ2UgUkVBRE1FOiBcIlJlcXVpcmVkXCIpLlxuLnNjLWJhZGdlLWxnIHtcbiAgZm9udC1mYW1pbHk6ICAgIHZhcigtLXNjLXR5cG9ncmFwaHktZm9udC1mYW1pbHktc2Fucyk7XG4gIGZvbnQtd2VpZ2h0OiAgICB2YXIoLS1zYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBmb250LXNpemU6ICAgICAgdmFyKC0tc2MtdHlwb2dyYXBoeS1mb250LXNpemUtMTApO1xuICBsaW5lLWhlaWdodDogICAgdmFyKC0tc2MtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10aWdodCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYy10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLXBlcmNlbnQtNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zYy1iYWRnZS1zbSB7XG4gIGZvbnQtZmFtaWx5OiAgICB2YXIoLS1zYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LXNhbnMpO1xuICBmb250LXdlaWdodDogICAgdmFyKC0tc2MtdHlwb2dyYXBoeS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiAgICAgIHZhcigtLXNjLXR5cG9ncmFwaHktZm9udC1zaXplLTgpO1xuICBsaW5lLWhlaWdodDogICAgdmFyKC0tc2MtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10aWdodCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYy10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLXBlcmNlbnQtNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCIvKiBQb3J0ZWQgZnJvbSBEUzogYnV0dG9uICovXG4vKiBTb3VyY2UgbXRpbWU6IDIwMjYtMDctMjFUMTU6MjE6NDQuNzEwODA0WiAqL1xuLy8gTmFtZWQgYXMgYSBwYXJ0aWFsIChsZWFkaW5nIHVuZGVyc2NvcmUpIGJlY2F1c2UgdGhpcyBwbHVnaW4ncyBndWxwIHBpcGVsaW5lXG4vLyBjb21waWxlcyBldmVyeSBub24tcGFydGlhbCAuc2NzcyB1bmRlciBhc3NldHMvc2Nzcy8gaW50byBpdHMgb3duIHN0eWxlc2hlZXQuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQb3J0ZWQgZnJvbSBEUyAoZG8gbm90IGVkaXQg4oCUIHJlLXBvcnQgaWYgRFMgc291cmNlIGNoYW5nZXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnNjLWJ1dHRvbiB7XG4gIC8qIGNvbXBvbmVudC1zY29wZWQgdG9rZW5zIOKAlCBjYXNjYWRlIHRvIHN1Yi1lbGVtZW50cyAqL1xuICAtLXNjLWJ1dHRvbi1pY29uLXNpemU6IDEycHg7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNjLXNwYWNpbmctNSk7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMCB2YXIoLS1zYy1wYWRkaW5nLTE2KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYy1yYWRpdXMtYnV0dG9uKTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LXNhbnMpO1xuICBmb250LXdlaWdodDogdmFyKC0tc2MtdHlwb2dyYXBoeS1mb250LXdlaWdodC1tZWRpdW0pO1xuICBmb250LXNpemU6IHZhcigtLXNjLXR5cG9ncmFwaHktZm9udC1zaXplLTE0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tc2MtdHJhbnNpdGlvbi1ub3JtYWwpLCBib3JkZXItY29sb3IgdmFyKC0tc2MtdHJhbnNpdGlvbi1ub3JtYWwpLCBjb2xvciB2YXIoLS1zYy10cmFuc2l0aW9uLW5vcm1hbCksIGJveC1zaGFkb3cgdmFyKC0tc2MtdHJhbnNpdGlvbi1ub3JtYWwpO1xufVxuLnNjLWJ1dHRvbjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi5zYy1idXR0b246ZGlzYWJsZWQsXG4uc2MtYnV0dG9uW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBpY29uIHN1Yi1lbGVtZW50IOKAlCBzaXplIGRyaXZlbiBieSAtLXNjLWJ1dHRvbi1pY29uLXNpemUgb24gdGhlIGJ1dHRvbi4gKi9cbi5zYy1idXR0b25fX2ljb24geyBmb250LXNpemU6IHZhcigtLXNjLWJ1dHRvbi1pY29uLXNpemUpOyB9XG5cbi8qIHNpemVzIOKAlCBiYXNlID0gZGVmYXVsdCAoMzZweCkuIE92ZXJyaWRlIHZpYSBkYXRhLXNpemUuXG4gICBIZWlnaHRzIHN0YXkgcmF3IChjb21wb25lbnQgc3BlYywgbm90IG9uIGEgc3BhY2luZyBzY2FsZSkuICovXG4uc2MtYnV0dG9uW2RhdGEtc2l6ZT1cInhsXCJdIHsgLS1zYy1idXR0b24taWNvbi1zaXplOiAxNnB4OyBoZWlnaHQ6IDUycHg7IHBhZGRpbmc6IDAgdmFyKC0tc2MtcGFkZGluZy0yOCk7IGdhcDogdmFyKC0tc2Mtc3BhY2luZy0xMCk7IGZvbnQtc2l6ZTogdmFyKC0tc2MtdHlwb2dyYXBoeS1mb250LXNpemUtMTYpOyB9XG4uc2MtYnV0dG9uW2RhdGEtc2l6ZT1cImxnXCJdIHsgLS1zYy1idXR0b24taWNvbi1zaXplOiAxNHB4OyBoZWlnaHQ6IDQycHg7IHBhZGRpbmc6IDAgdmFyKC0tc2MtcGFkZGluZy0xNik7IGZvbnQtc2l6ZTogdmFyKC0tc2MtdHlwb2dyYXBoeS1mb250LXNpemUtMTYpOyB9XG4uc2MtYnV0dG9uW2RhdGEtc2l6ZT1cInNtXCJdIHsgLS1zYy1idXR0b24taWNvbi1zaXplOiAxMnB4OyBoZWlnaHQ6IDMwcHg7IHBhZGRpbmc6IDAgdmFyKC0tc2MtcGFkZGluZy0xMik7IGZvbnQtc2l6ZTogdmFyKC0tc2MtdHlwb2dyYXBoeS1mb250LXNpemUtMTIpOyB9XG5cbi8qIHByaW1hcnkg4oCUIGJhY2tncm91bmQgaG9va2VkIG9uIC0tc2MtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCBzbyBhIHBhdHRlcm5cbiAgIChlLmcuIGFsZXJ0LW1vZGFsLCB0aW50ZWQgcGVyIFR5cGUpIGNhbiByZWNvbG9yIGFuIGVtYmVkZGVkIHByaW1hcnkgYnV0dG9uXG4gICB2aWEgdGhlIGN1c3RvbS1wcm9wZXJ0eSBjYXNjYWRlLiBVbnNldCwgaXQgYmVoYXZlcyBleGFjdGx5IGFzIGJlZm9yZS4gKi9cbi5zYy1idXR0b24tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zYy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCB2YXIoLS1zYy1jb21wb25lbnRzLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQpKTtcbiAgY29sb3I6IHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXByaW1hcnktdGV4dCk7XG59XG4uc2MtYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tc2MtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXIsIHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXIpKTsgfVxuLnNjLWJ1dHRvbi0tcHJpbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2MtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXIsIHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC0taG92ZXIpKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zYy1jb2xvci1uZXV0cmFsLXdoaXRlKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXNjLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyLCB2YXIoLS1zYy1jb21wb25lbnRzLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtLWhvdmVyKSk7XG59XG5cbi8qIHNlY29uZGFyeSAqL1xuLnNjLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2MtY29tcG9uZW50cy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICBjb2xvcjogdmFyKC0tc2MtY29tcG9uZW50cy1idXR0b24tc2Vjb25kYXJ5LXRleHQpO1xufVxuLnNjLWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tc2MtY29tcG9uZW50cy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyKTsgfVxuLnNjLWJ1dHRvbi0tc2Vjb25kYXJ5OmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zYy1jb21wb25lbnRzLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC0taG92ZXIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXNjLWNvbG9yLW5ldXRyYWwtd2hpdGUpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tc2MtY29tcG9uZW50cy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtLWhvdmVyKTtcbn1cblxuLyogdGVydGlhcnkg4oCUIGZvY3VzIHVzZXMgYW4gb3V0ZXIgaGFsbyAoYm94LXNoYWRvdykgc28gcGFkZGluZyBzdGF5cyBvbiB0aGUgc2NhbGUgKi9cbi5zYy1idXR0b24tLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2MtY29tcG9uZW50cy1idXR0b24tdGVydGlhcnktYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc2MtY29tcG9uZW50cy1idXR0b24tdGVydGlhcnktYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXRlcnRpYXJ5LXRleHQpO1xufVxuLnNjLWJ1dHRvbi0tdGVydGlhcnk6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0tc2MtY29tcG9uZW50cy1idXR0b24tdGVydGlhcnktdGV4dC0taG92ZXIpO1xufVxuLnNjLWJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXRlcnRpYXJ5LWJhY2tncm91bmQtLWhvdmVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zYy1jb21wb25lbnRzLWJ1dHRvbi10ZXJ0aWFyeS1ib3JkZXItLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXRlcnRpYXJ5LXRleHQtLWhvdmVyKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXNjLWNvbXBvbmVudHMtYnV0dG9uLXRlcnRpYXJ5LWJvcmRlci0taG92ZXIpO1xufVxuXG4vKiB0ZXh0IOKAlCBjb2xvciBpcyBob29rZWQgb24gLS1zYy1idXR0b24tdGV4dC1jb2xvciBzbyBhIGNvbnRhaW5lclxuICAgKGUuZy4gbm90aWNlLWJhbm5lciAtLWVycm9yLy0td2FybmluZykgY2FuIHJlY29sb3IgYW4gZW1iZWRkZWQgdGV4dFxuICAgYnV0dG9uIHZpYSB0aGUgY3VzdG9tLXByb3BlcnR5IGNhc2NhZGUuIFVuc2V0LCBpdCBiZWhhdmVzIGFzIGJlZm9yZS4gKi9cbi5zYy1idXR0b24tLXRleHQge1xuICBjb2xvcjogdmFyKC0tc2MtYnV0dG9uLXRleHQtY29sb3IsIHZhcigtLXNjLXRleHQtbGluaykpO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgdmFyKC0tc2MtcGFkZGluZy00KTtcbn1cbi8qIEEgdGV4dCBidXR0b24gaXMgYW4gaW5saW5lIGxpbmssIG5ldmVyIGEgZml4ZWQtaGVpZ2h0IGNvbnRyb2wuIFRoZVxuICAgc2l6ZSBydWxlcyBhYm92ZSBzZXQgYSBoZWlnaHQgKyB3aWRlciBwYWRkaW5nIGF0IGhpZ2hlciBzcGVjaWZpY2l0eVxuICAgKGNsYXNzICsgYXR0cmlidXRlKSwgc28gcmUtYXNzZXJ0IGF1dG8gaGVpZ2h0IGFuZCB0ZXh0IHBhZGRpbmcgZm9yIGFueVxuICAgc2l6ZWQgdGV4dCBidXR0b24uIEZvbnQtc2l6ZSBmcm9tIHRoZSBzaXplIHJ1bGUgc3RpbGwgYXBwbGllcy4gKi9cbi5zYy1idXR0b24tLXRleHRbZGF0YS1zaXplXSB7IGhlaWdodDogYXV0bzsgcGFkZGluZzogMCB2YXIoLS1zYy1wYWRkaW5nLTQpOyB9XG4uc2MtYnV0dG9uLS10ZXh0OmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLXNjLWJ1dHRvbi10ZXh0LWNvbG9yLCB2YXIoLS1zYy10ZXh0LWxpbmstLWhvdmVyKSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnNjLWJ1dHRvbi0tdGV4dDpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLXNjLWJ1dHRvbi10ZXh0LWNvbG9yLCB2YXIoLS1zYy10ZXh0LWxpbmstLWhvdmVyKSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGx1Z2luIG92ZXJyaWRlcyDigJQgY29uZmxpY3RzIGFuZCBmaXhlcyBmb3IgVEhJUyBwbHVnaW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iLCJAaW1wb3J0ICdhZG1pbi92YXJpYWJsZXMnO1xuXG4vLyBEZXNpZ24tc3lzdGVtIHJlY2lwZXMsIHBvcnRlZCB2ZXJiYXRpbSAoc2VlIHRoZWlyIGhlYWRlcnMpLiBUaGUgZ2F0ZWQgY2FyZHMnXG4vLyBQUk8gYmFkZ2UgYW5kIHVwZ3JhZGUgQ1RBIGFyZSBEUyBjb21wb25lbnRzLCBub3QgbG9jYWwgb25lLW9mZnMuXG5AaW1wb3J0ICdjb21wb25lbnRzL2FkbWluL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWRtaW4vYnV0dG9uJztcblxuLnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpIHtcblx0bWF4LXdpZHRoOiA3MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cblx0Ly8gRGVjb3JhdGl2ZSBiYW5uZXI6IG1hc2NvdCArIEFJIGNsaWVudCBsb2dvcyBvbiBhIHNvZnQgcmFkaWFsIGJsb2IsXG5cdC8vIHNpdHRpbmcgYWJvdmUgdGhlIGNhcmQuIFZhbHVlcyBtYXRjaCB0aGUgRmlnbWEgZGVzaWduIChpc3N1ZSAjNjE4LFxuXHQvLyBub2RlIDE0MDA3OjYwNjE2KS5cblx0Ly8gWmVybyBnYXAgdG8gdGhlIHBhbmVsIGJlbG93IOKAlCBGaWdtYSdzIGJhbm5lciBmcmFtZSAoMC0xMjApIGFuZCB0aGUgY2FyZFxuXHQvLyBjb250ZW50IGZyYW1lIGFyZSBkaXJlY3RseSBhZGphY2VudCwgbm8gc3BhY2UgYmV0d2VlbiB0aGVtLiBJY29ucyBhcmVcblx0Ly8gY29tcHV0ZWQgbmVhci16ZXJvLWdhcCBhZ2FpbnN0IGVhY2ggb3RoZXIgYW5kIHRoZSBtYXNjb3QgdG9vIChjZW50ZXJcblx0Ly8gcG9zaXRpb25zIGZyb20gdGhlIHJhdyBleHBvcnQ6IEdlbWluaX4yMDUsIENsYXVkZX4yNTksIG1hc2NvdH4zNTAsXG5cdC8vIENoYXRHUFR+NDM5LCBDdXJzb3J+NDkyIOKAlCBlZGdlLXRvLWVkZ2UgZ2FwIHdvcmtzIG91dCB0byB+MCBmb3IgZXZlcnlcblx0Ly8gYWRqYWNlbnQgcGFpciwgbm90IHRoZSAyMHB4IHRoaXMgcHJldmlvdXNseSB1c2VkKS5cblx0Ly8gRmlnbWEncyBvd24gYmFubmVyIHJvb3Qgbm9kZSAoXCJ3cGZvcm1zLWR1cGxpY2F0b3JcIikgaGFzIGBvdmVyZmxvdy1jbGlwYFxuXHQvLyDigJQgdGhlIEdlbWluaSBhbmQgQ3Vyc29yIHRpbGVzIGFyZSBwb3NpdGlvbmVkIHRvIGV4dGVuZCBhIGZldyBweCBwYXN0XG5cdC8vIHRoZSAxMjBweCBib3ggKGJvdHRvbTotMTRweCBpbiBGaWdtYSdzIGNvb3JkaW5hdGVzKSBhbmQgZ2V0IGNsaXBwZWRcblx0Ly8gdGhlcmUsIHNvIHRoZSBwYW5lbCBiZWxvdyByZWFkcyBhcyBzaXR0aW5nIFwib24gdG9wXCIgb2YgdGhlbSByYXRoZXJcblx0Ly8gdGhhbiB0aGUgdGlsZXMgZmxvYXRpbmcgb3ZlciB0aGUgcGFuZWwncyBlZGdlLiBDb25maXJtZWQgYnkgbG9va2luZ1xuXHQvLyBjbG9zZWx5IGF0IHRoZSBGaWdtYSByZWZlcmVuY2Ugc2NyZWVuc2hvdDogdGhvc2UgdHdvIHRpbGVzJyBib3R0b21cblx0Ly8gY29ybmVycyBhcmUgdmlzaWJseSBmbGF0L2N1dCwgbm90IGZ1bGx5IHJvdW5kZWQgbGlrZSB0aGUgb3RoZXIgdHdvLlxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktYmFubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0aGVpZ2h0OiAxMjBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWJhbm5lci1ibG9iIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR3aWR0aDogMzIwcHg7XG5cdFx0aGVpZ2h0OiAxMjBweDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkY29sb3ItYnJhbmQtb3JhbmdlLTAgMCUsIHJnYmEoMjU1LCAyNDMsIDIzNiwgMCkgNzAlKTtcblx0XHR6LWluZGV4OiAwO1xuXHR9XG5cblx0Ly8gXCJFbGxpcHNlIDEyNTdcIiDigJQgaXRzIEZpZ21hIGZpbGwgaXMgdG9nZ2xlZCBpbnZpc2libGUsIGJ1dCBpdCBhbHNvIGhhc1xuXHQvLyBhIHNlcGFyYXRlIGBzdHJva2VzYCBlbnRyeSB3aXRoIG5vIHN1Y2ggb3ZlcnJpZGUsIHJlbmRlcmluZyBhcyBhXG5cdC8vIHZpc2libGUgZGFzaGVkIHJpbmcuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1iYW5uZXItcmluZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDkxcHg7XG5cdFx0dG9wOiAzN3B4O1xuXHRcdHdpZHRoOiA1MTdweDtcblx0XHRoZWlnaHQ6IDUxN3B4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRib3JkZXI6IDEuMzlweCBkYXNoZWQgcmdiKDIyNSwgMjMwLCAyMzQpO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXG5cdC8vIEJsdXIgaXMgNDhweCwgbm90IEZpZ21hJ3MgZGVjbGFyZWQgMzIgKENTUyBgYmx1cigpYCBkb2Vzbid0IHNjYWxlXG5cdC8vIDE6MSB3aXRoIEZpZ21hJ3MgYExBWUVSX0JMVVJgKS5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWJhbm5lci1zaGFkb3ctZ3JvdW5kIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMTQ4cHg7XG5cdFx0dG9wOiA5OHB4O1xuXHRcdHdpZHRoOiA0MDRweDtcblx0XHRoZWlnaHQ6IDE2NXB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDE1LCAxNiwgMzIsIDAuMTIpO1xuXHRcdGZpbHRlcjogYmx1cig0OHB4KTtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cblx0Ly8gRWFjaCBpbWFnZSBJUyBhIHNjcmVlbnNob3Qgb2YgdGhlIHRpbGUncyBvd24gRmlnbWEgbm9kZSAodGlsdCwgc2hhZG93LFxuXHQvLyBhbmQgZ2x5cGggYWxyZWFkeSBiYWtlZCBpbnRvIHRoZSBwaXhlbHMg4oCUIHNlZSBkaXNwbGF5X2Jhbm5lcigpJ3Ncblx0Ly8gZG9jYmxvY2sgZm9yIHRoZSBleGFjdCBub2RlIElEcyBhbmQgY2VudGVyLXBvaW50IG1hdGgpLiBQb3NpdGlvbiBpc1xuXHQvLyBhYnNvbHV0ZSwgY2VudGVyZWQgb24gdGhlIHBvaW50IGRpc3BsYXlfYmFubmVyKCkgY29tcHV0ZWQgaW5saW5lXG5cdC8vIChgbGVmdGAvYHRvcGAvYHdpZHRoYC9gaGVpZ2h0YCBhcmUgc2V0IHBlci1pY29uIHZpYSBgc3R5bGVgLCBub3Rcblx0Ly8gaGVyZSkg4oCUIG5vIENTUyByb3RhdGlvbiwgbm8gZmxleCBsYXlvdXQsIG5vIGd1ZXNzZWQgbWFyZ2lucy5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWJhbm5lci1jbGllbnQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWJhbm5lci1tYXNjb3Qtd3JhcCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDI7XG5cdH1cblxuXHQvLyBGaWdtYSdzIFwiR2lhXCIgaW5zdGFuY2UgaXMgbWFza2VkIHRvIGEgYnVzdC1vbmx5IGNyb3AgKG5vIGxlZ3MvdGFpbCksXG5cdC8vIHJlbmRlcmVkIG5hdGl2ZWx5IGF0IDEyN3gxMDIg4oCUIGNvbmZpcm1lZCBieSBleHBvcnRpbmcgdGhhdCBleGFjdCBub2RlXG5cdC8vIHJhdGhlciB0aGFuIGd1ZXNzaW5nIGEgY3JvcCBvZiB0aGUgZnVsbC1ib2R5IEdpYS5wbmcgYXNzZXQgdXNlZFxuXHQvLyBlbHNld2hlcmUgaW4gdGhlIHBsdWdpbi4gdG9vbHMtYWktYmFubmVyLW1hc2NvdC5zdmcgaXMgdGhhdCBleHBvcnQuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1iYW5uZXItbWFzY290IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTIzcHg7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0Ly8gUmVhbCBGaWdtYSBoZWFydCBhc3NldCAobm9kZSAxNDAwNzo2MzY1OSdzIFwiaGVhcnRcIiBleHBvcnQsIGV4YWN0IGZpbGxcblx0Ly8gI0Q2MzYzOCksIG5vdCBhIFdvcmRQcmVzcyBkYXNoaWNvbiBnbHlwaCDigJQgdGhlIGRhc2hpY29uJ3Mgc2hhcGUvY29sb3Jcblx0Ly8gbmV2ZXIgbWF0Y2hlZCBGaWdtYSdzIGN1c3RvbSBpbGx1c3RyYXRpb24gbm8gbWF0dGVyIGhvdyBpdCB3YXNcblx0Ly8gcG9zaXRpb25lZC4gUG9zaXRpb24gaXMgRmlnbWEncyBsaXRlcmFsIGBsZWZ0YC9gdG9wYCAoMzYzLjE0cHgvMi43cHgpXG5cdC8vIHdpdGhpbiB0aGUgYmFubmVyIGJveCwgdXNlZCBkaXJlY3RseSByYXRoZXIgdGhhbiBjb252ZXJ0ZWQsIGJlY2F1c2Vcblx0Ly8gdGhpcyBiYW5uZXIncyBvd24gYm94IGlzIGluZGVwZW5kZW50bHkgY29uZmlybWVkIHRvIGJlIDcwMHgxMjBweCxcblx0Ly8gaWRlbnRpY2FsIHRvIEZpZ21hJ3MgZnJhbWUg4oCUIG5vIHNjYWxpbmcvY29udmVyc2lvbiBuZWVkZWQuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1iYW5uZXItaGVhcnQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAzNjMuMTRweDtcblx0XHR0b3A6IDIuN3B4O1xuXHRcdHotaW5kZXg6IDM7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAxN3B4O1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1wYW5lbCB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHN1cmZhY2Utc3VyZmFjZS1kaXZpZGVyO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbGc7XG5cdFx0Ym94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0Ly8gRmlnbWEgbGF5ZXJzIGEgc2Vjb25kLCBzdWJ0bGVyIHNoYWRvdyBvbiB0aGUgaGVybyBzZWN0aW9uIHNwZWNpZmljYWxseVxuXHQvLyAoZHJvcC1zaGFkb3cgMHB4IDJweCAycHggcmdiYSgwLDAsMCwwLjA3KSksIG9uIHRvcCBvZiB0aGUgb3V0ZXIgcGFuZWwnc1xuXHQvLyBvd24gYm94LXNoYWRvdyDigJQgY29uZmlybWVkIG9uIG5vZGUgMTQwMDc6NjM2NjEsIG5vdCBhc3N1bWVkLlxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktaGVybyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxNXB4O1xuXHRcdHBhZGRpbmc6IDMwcHggMjBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1leWVicm93IHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLXhzICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuXHRcdGxpbmUtaGVpZ2h0OiAxN3B4ICFpbXBvcnRhbnQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnkgIWltcG9ydGFudDtcblx0XHQvLyAhaW1wb3J0YW50OiBiZWF0cyB0aGUgSUQtc3BlY2lmaWNcblx0XHQvLyBgLndwLWFkbWluICN3cGJvZHktY29udGVudCAjc3VnYXItY2FsZW5kYXItdG9vbHNcblx0XHQvLyAuc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCBwIHsgbWFyZ2luOiAxMHB4IDBweDsgfWAgcnVsZSBmcm9tXG5cdFx0Ly8gYWRtaW4tdG9vbHMuY3NzLCB3aGljaCBvdGhlcndpc2Ugd2lucyBvdmVyIHRoaXMgY2xhc3Mgc2VsZWN0b3Jcblx0XHQvLyBvbiB0aGUgc2hhcmVkIGA8cD5gIHRhZyByZWdhcmRsZXNzIG9mIHN0eWxlc2hlZXQgb3JkZXIuXG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLXhsO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDI5LjNweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1sZWRlIHtcblx0XHRtYXgtd2lkdGg6IDUzMHB4O1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLW0gIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG5cdFx0bGluZS1oZWlnaHQ6IDIycHggIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1zZWNvbmRhcnkgIWltcG9ydGFudDtcblx0XHQvLyAhaW1wb3J0YW50OiBzZWUgdGhlIHNhbWUgbm90ZSBvbiAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktZXllYnJvdyDigJRcblx0XHQvLyBiZWF0cyBhZG1pbi10b29scy5jc3MncyBJRC1zcGVjaWZpYyBgLi4uIHAgeyBtYXJnaW46IDEwcHggMHB4OyB9YC5cblx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRjb2xvci13b3JkcHJlc3MtYmx1ZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYnJhbmQtb3JhbmdlLTUwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIE5vIG1hcmdpbi10b3AgaGVyZSDigJQgdGhlIHBhcmVudCAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktaGVybydzIG93blxuXHQvLyBgZ2FwOiAxNXB4YCBhbHJlYWR5IHByb3ZpZGVzIHVuaWZvcm0gc3BhY2luZyBiZXR3ZWVuIGV2ZXJ5IGNoaWxkXG5cdC8vIChtYXRjaGVzIEZpZ21hJ3Mgc2luZ2xlIGdhcC1bMTVweF0gZmxleCBjb2x1bW47IGEgc2VwYXJhdGUgbWFyZ2luIGhlcmVcblx0Ly8gd291bGQgZG91YmxlIHRoZSBzcGFjZSBiZWZvcmUgdGhpcyBlbGVtZW50IHNwZWNpZmljYWxseSkuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1jdGEtcm93IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxMnB4O1xuXG5cdFx0LnN1Z2FyLWNhbGVuZGFyLWJ0biB7XG5cdFx0XHRoZWlnaHQ6IDUycHg7XG5cdFx0XHRwYWRkaW5nOiAxNnB4IDI4cHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHR9XG5cdH1cblxuXHQvLyBTYW1lIFwibm8gZXh0cmEgbWFyZ2luXCIgcmVhc29uaW5nIGFzIC5zdWdhci1jYWxlbmRhci10b29scy1haS1jdGEtcm93IOKAlFxuXHQvLyB0aGUgaGVybydzIG93biBnYXA6MTVweCBhbHJlYWR5IHNwYWNlcyB0aGlzIGZyb20gdGhlIENUQSByb3cgYWJvdmUgaXQuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS13cHZpYmUtY2FwdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1mb250LXNpemUteHMgIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICRjb2xvci1uZXV0cmFsLTIwICFpbXBvcnRhbnQ7XG5cdFx0Ly8gIWltcG9ydGFudDogc2VlIHRoZSBzYW1lIG5vdGUgb24gLnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWV5ZWJyb3cg4oCUXG5cdFx0Ly8gYmVhdHMgYWRtaW4tdG9vbHMuY3NzJ3MgSUQtc3BlY2lmaWMgYC4uLiBwIHsgbWFyZ2luOiAxMHB4IDBweDsgfWAuXG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cblx0XHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktd3B2aWJlLWxpbmsge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1uZXV0cmFsLTIwO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1icmFuZC1vcmFuZ2UtNTA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLW5vdGUsXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1pbnN0YWxsLWVycm9yIHtcblx0XHQvLyAhaW1wb3J0YW50OiBzZWUgdGhlIHNhbWUgbm90ZSBvbiAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktZXllYnJvdyDigJRcblx0XHQvLyBiZWF0cyBhZG1pbi10b29scy5jc3MncyBJRC1zcGVjaWZpYyBgLi4uIHAgeyBtYXJnaW46IDEwcHggMHB4OyB9YC5cblx0XHRtYXJnaW46IDEycHggMCAwICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1mb250LXNpemUtc3M7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktbm90ZSB7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnkgIWltcG9ydGFudDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1pbnN0YWxsLWVycm9yIHtcblx0XHRjb2xvcjogJGNvbG9yLWFjY2VudC1yZWQtNTAgIWltcG9ydGFudDtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1jYXBhYmlsaXRpZXMge1xuXHRcdC8vIEV4YWN0IEZpZ21hIHRva2VuIChzdXJmYWNlL3N1cmZhY2UtYmFja2dyb3VuZC1saWdodCkgaXMgI2Y3ZjdmNyxcblx0XHQvLyBvbmUgdmFsdWUgb2ZmIGZyb20gdGhlIHNoYXJlZCAkY29sb3ItbmV1dHJhbC0wICgjZjZmN2Y3KSDigJQgYVxuXHRcdC8vIGRlbGliZXJhdGUsIHNjb3BlZCBsaXRlcmFsIHJhdGhlciB0aGFuIGVkaXRpbmcgdGhlIHNoYXJlZCB2YXJpYWJsZSxcblx0XHQvLyB3aGljaCBpcyB1c2VkIGVsc2V3aGVyZSBpbiB0aGUgcGx1Z2luLlxuXHRcdGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG5cdFx0cGFkZGluZzogMzBweCAyMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1jYXBhYmlsaXRpZXMtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLW07XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMTkuNTRweDtcblx0XHRjb2xvcjogJHRleHQtdGV4dC1wcmltYXJ5O1xuXHRcdG1hcmdpbjogMCAwIDI1cHg7XG5cdH1cblxuXHQvLyBHcm93cyBmcm9tIDMgY2FyZHMgKEZpZ21hIGJhc2VsaW5lKSB0byB1cCB0byA3IChFdmVudHMsIENhbGVuZGFycyxcblx0Ly8gRXZlbnQgU3RhdHMsIFRpY2tldHMsIFZlbnVlcywgU3BlYWtlcnMsIFJTVlAg4oCUIGlzc3VlICM2MTggZm9sbG93LXVwKS5cblx0Ly8gYXV0by1maWxsICsgYSBmaXhlZCBtaW5pbXVtIGNvbHVtbiB3aWR0aCB3cmFwcyBhdXRvbWF0aWNhbGx5IGF0IGFueVxuXHQvLyBjb3VudCDigJQgbm8gcGVyLWNvdW50IGJyZWFrcG9pbnRzLiAxOTVweCAobm90IHRoZSBGaWdtYSBjYXJkJ3MgbGl0ZXJhbFxuXHQvLyB+MjEwcHgpIGlzIGRlbGliZXJhdGU6IHRoZSBwYW5lbCdzIGFjdHVhbCBpbm5lciBjb250ZW50IHdpZHRoIGlzXG5cdC8vIDY2MHB4ICg3MDBweCBtYXgtd2lkdGggbWludXMgdGhpcyBzZWN0aW9uJ3MgMjBweMOXMiBwYWRkaW5nKSwgYW5kXG5cdC8vIDMgY29sdW1ucyBhdCBleGFjdGx5IDIxMHB4ICsgMsOXMTVweCBnYXBzIHN1bXMgdG8gZXhhY3RseSA2NjBweCDigJQgYVxuXHQvLyBrbmlmZS1lZGdlIGZpdCB0aGF0IHJvdW5kcyBkb3duIHRvIDIgY29sdW1ucyBpbiByZWFsIGJyb3dzZXJzXG5cdC8vIChjb25maXJtZWQgbGl2ZSkuIDE5NXB4IGxlYXZlcyBoZWFkcm9vbSBzbyAzLXBlci1yb3cgaXMgcmVsaWFibGUuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1jYXJkcyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxOTVweCwgMWZyKSk7XG5cdFx0Ly8gRXZlcnkgcm93IHRoZSBzYW1lIGhlaWdodCwgYXMgRmlnbWEncyBzaW5nbGUgZml4ZWQtaGVpZ2h0IHJvdyBpbXBsaWVzIOKAlFxuXHRcdC8vIG1pbi1oZWlnaHQgYWxvbmUgaXMgb25seSBhIGZsb29yLCBzbyBhIHJvdyBjYXJyeWluZyBhIGxvY2sgQ1RBIHdvdWxkXG5cdFx0Ly8gc3RpbGwgb3V0Z3JvdyB0aGUgcm93IGFib3ZlIGl0LlxuXHRcdGdyaWQtYXV0by1yb3dzOiAxZnI7XG5cdFx0Z2FwOiAxNXB4O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdC8vIEZpZ21hJ3MgY2FyZCBpcyBhIGZpeGVkIDIxMHgxNTAgaW4gYSBzaW5nbGUgMTUwcHgtdGFsbCByb3dcblx0XHQvLyAobm9kZSAxNDAwNzo2MzY3MSkg4oCUIGV2ZXJ5IGNhcmQgaXMgdGhlIHNhbWUgaGVpZ2h0IHJlZ2FyZGxlc3Mgb2YgaG93XG5cdFx0Ly8gbWFueSBidWxsZXRzIG9yIHdoZXRoZXIgaXQgY2FycmllcyBhIGxvY2sgQ1RBLiBHcmlkJ3MgYWxpZ24taXRlbXM6XG5cdFx0Ly8gc3RyZXRjaCBlcXVhbGl6ZXMgY2FyZHMgd2l0aGluIGEgcm93OyB0aGlzIG1pbi1oZWlnaHQgZXF1YWxpemVzIHRoZVxuXHRcdC8vIHJvd3MgdG9vLCBzbyBhIHNlY29uZCByb3cgb2YgbG9ja2VkIGNhcmRzIG1hdGNoZXMgdGhlIGZpcnN0LlxuXHRcdG1pbi1oZWlnaHQ6IDE1MHB4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRzdXJmYWNlLXN1cmZhY2UtZGl2aWRlcjtcblx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xuXHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLXV0aWxpdHktd2hpdGU7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1oZWFkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGdhcDogMTBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cblx0Ly8gVGl0bGUgKyBQUk8gYmFkZ2Ugc2hhcmUgdGhlIGxlZnQgaGFsZiBvZiB0aGUgaGVhZDsgdGhlIGljb24gY2hpcCBrZWVwc1xuXHQvLyB0aGUgcmlnaHQuIFdpdGhvdXQgdGhpcyB3cmFwcGVyIHRoZSBoZWFkJ3Mgc3BhY2UtYmV0d2VlbiB3b3VsZCBzdHJhbmRcblx0Ly8gdGhlIGJhZGdlIGluIHRoZSBtaWRkbGUgb2YgdGhlIHJvdy5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWNhcmQtaGVhZC1sYWJlbCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogNnB4O1xuXHRcdG1pbi13aWR0aDogMDtcblxuXHRcdC8vIERTIHNoaXBzIG9ubHkgbGcvc20gc2l6ZXMsIGFuZCBldmVuIHNtIHJlYWRzIGxvdWQgYmVzaWRlIHRoZSBjYXJkXG5cdFx0Ly8gdGl0bGUuIFRyaW1tZWQgaGVyZSByYXRoZXIgdGhhbiBpbiB0aGUgcG9ydGVkIHBhcnRpYWwgc28gdGhlIGJhZGdlXG5cdFx0Ly8ga2VlcHMgaXRzIERTIGJveCBldmVyeXdoZXJlIGVsc2UuIFR5cGUgc3RheXMgYXQgdGhlIERTIDhweCBmbG9vci5cblx0XHQuc2MtYmFkZ2Uge1xuXHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0cGFkZGluZzogMCA1cHg7XG5cdFx0fVxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWNhcmQtaWNvbiB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHdpZHRoOiAzMnB4O1xuXHRcdGhlaWdodDogMzJweDtcblx0XHRmbGV4LXNocmluazogMDtcblx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xuXG5cdFx0Ly8gRmlnbWEncyBnbHlwaHMgYXJlIEZvbnQgQXdlc29tZSA2IFNvbGlkIGF0IDE2cHggKG5vZGUgMTQwMDc6NjM2NzQpLlxuXHRcdC8vIFRoZSBpY29uaWZ5IHV0aWxpdHkgcGFpbnRzIGEgY3VycmVudENvbG9yIG1hc2sgc2l6ZWQgaW4gZW0sIHNvIHRoZVxuXHRcdC8vIGZvbnQtc2l6ZSBpcyB0aGUgc2l6ZSBhbmQgdGhlIHBlci1odWUgYGNvbG9yYCBiZWxvdyB0aW50cyBpdC5cblx0XHRbY2xhc3MqPSdpY29uLVsnXSB7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0fVxuXG5cdFx0PiBzdmcge1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0fVxuXHR9XG5cblx0Ly8gUm93cyBhcmUgY2hlY2ttYXJrLWxlZnQsIHRleHQtcmlnaHQuIEZpZ21hJ3Mgb3duIEpTWCBleHBvcnQgbGlzdHMgdGhlXG5cdC8vIHRleHQgc3BhbiBiZWZvcmUgdGhlIGNoZWNrIGNvbHVtbiwgYnV0IHRoYXQncyBhbiBhcnRpZmFjdCBvZiB0aGVcblx0Ly8gbm9kZSdzIGAtc2NhbGUteS0xMDAgcm90YXRlLTE4MGAgdHJhbnNmb3JtIChhIG5ldCBob3Jpem9udGFsIGZsaXApIOKAlFxuXHQvLyB0aGUgYWN0dWFsIHJlbmRlcmVkIEZpZ21hIHNjcmVlbnNob3Qgc2hvd3MgdGhlIGNoZWNrbWFyayBmaXJzdFxuXHQvLyAoXCLinJMgQnJvd3NlIGFuZCBmaWx0ZXIuLi5cIiksIHdoaWNoIGlzIHdoYXQgdGhpcyBtYXJrdXAgb3JkZXIgbWF0Y2hlcy5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWNhcmQtYnVsbGV0cyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTBweDtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGZvbnQtc2l6ZTogJHRleHQtZm9udC1zaXplLXhzO1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXRlcnRpYXJ5O1xuXG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0Ly8gVGhlIHVsJ3MgbWFyZ2luOiAwIGFib3ZlIGRvZXNuJ3QgY2FzY2FkZSB0byBpdHMgbGkgY2hpbGRyZW4g4oCUXG5cdFx0XHQvLyB3aXRob3V0IHRoaXMsIGEgV1AtYWRtaW4gZGVmYXVsdCBsaSBtYXJnaW4gKDZweCBib3R0b20pIHN0YWNrc1xuXHRcdFx0Ly8gb24gdG9wIG9mIHRoaXMgY29udGFpbmVyJ3Mgb3duIGBnYXBgLCBpbmZsYXRpbmcgdGhlIHNwYWNlXG5cdFx0XHQvLyBiZXR3ZWVuIGJ1bGxldHMgYmV5b25kIEZpZ21hJ3Mgc3BlYy5cblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGdhcDogNXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHR9XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1idWxsZXQtdGV4dCB7XG5cdFx0ZmxleDogMSAwIDA7XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1idWxsZXQtY2hlY2sge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogMTFweDtcblx0XHRwYWRkaW5nLXRvcDogM3B4O1xuXHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS1ncmVlbi01MDtcblxuXHRcdHN2ZyB7XG5cdFx0XHR3aWR0aDogMTFweDtcblx0XHRcdGhlaWdodDogOHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1jYXJkLXllbGxvdyAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctMDtcblxuXHRcdFtjbGFzcyo9J2ljb24tWyddLFxuXHRcdD4gc3ZnIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItdXRpbGl0eS15ZWxsb3ctNTA7XG5cdFx0fVxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWNhcmQtYmx1ZSAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtMDtcblxuXHRcdFtjbGFzcyo9J2ljb24tWyddLFxuXHRcdD4gc3ZnIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItYnJhbmQtYmx1ZS1icmlnaHQtNTA7XG5cdFx0fVxuXHR9XG5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWNhcmQtcmVkIC5zdWdhci1jYWxlbmRhci10b29scy1haS1jYXJkLWljb24ge1xuXHRcdC8vIEV4YWN0IEZpZ21hIHRva2VuIChjb21wb25lbnRzL2JhZGdlL3JlZC9iYWNrZ3JvdW5kKSBpcyAjZmNlZWVmLFxuXHRcdC8vIHZpc2libHkgZGlmZmVyZW50IGZyb20gdGhlIHNoYXJlZCAkY29sb3ItdXRpbGl0eS1yZWQtMCAoI2ZjZjBmMSlcblx0XHQvLyDigJQgYSBkZWxpYmVyYXRlLCBzY29wZWQgbGl0ZXJhbCByYXRoZXIgdGhhbiBlZGl0aW5nIHRoZSBzaGFyZWRcblx0XHQvLyB2YXJpYWJsZSwgd2hpY2ggaXMgdXNlZCBlbHNld2hlcmUgaW4gdGhlIHBsdWdpbi5cblx0XHRiYWNrZ3JvdW5kOiAjZmNlZWVmO1xuXG5cdFx0W2NsYXNzKj0naWNvbi1bJ10sXG5cdFx0PiBzdmcge1xuXHRcdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LXJlZC01MDtcblx0XHR9XG5cdH1cblxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1ncmVlbiAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItdXRpbGl0eS1ncmVlbi0wO1xuXG5cdFx0W2NsYXNzKj0naWNvbi1bJ10sXG5cdFx0PiBzdmcge1xuXHRcdFx0Y29sb3I6ICRjb2xvci11dGlsaXR5LWdyZWVuLTUwO1xuXHRcdH1cblx0fVxuXG5cdC8vIE5vdCBhIEZpZ21hIGNvbG9yIOKAlCBGaWdtYSBvbmx5IGRlc2lnbmVkIHRoZSAzIGFsd2F5cy1hdmFpbGFibGUgY2FyZHNcblx0Ly8gYWJvdmUgKHllbGxvdy9ibHVlL3JlZCkuIFRoZSBmb3VyIGdhdGVkIGNhcmRzIHJldXNlIHRoaXMgaHVlIGFuZCB0aGVcblx0Ly8gZ3JlZW4gYWJvdmUgcHVyZWx5IHNvIHNldmVuIGNhcmRzIGRvbid0IHNoYXJlIHRocmVlIHRpbGVzOyB0aGUgZ2F0ZVxuXHQvLyBpdHNlbGYgaXMgc3RhdGVkIGJ5IHRoZSBQUk8gYmFkZ2UsIG5vdCBieSB0aGUgdGlsZSBjb2xvdXIuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1jYXJkLWluZGlnbyAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktY2FyZC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYnJhbmQtYmx1ZS0wO1xuXG5cdFx0W2NsYXNzKj0naWNvbi1bJ10sXG5cdFx0PiBzdmcge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1icmFuZC1ibHVlLTUwO1xuXHRcdH1cblx0fVxuXG5cdC5zdWdhci1jYWxlbmRhci10b29scy1haS1jYXJkLXRpdGxlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1mb250LXNpemUtcztcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxNy4wOXB4O1xuXHRcdGNvbG9yOiAkdGV4dC10ZXh0LXByaW1hcnk7XG5cdH1cblxuXHQvLyBUaGUgbG9jayByb3cgaXMgbm93IHRoZSBDVEEgYWxvbmUg4oCUIHRoZSBiYWRnZSBtb3ZlZCB1cCBpbnRvIHRoZSBjYXJkXG5cdC8vIGhlYWQg4oCUIHNvIGl0IHN0YXlzIGEgc2luZ2xlIGxpbmUgcGlubmVkIHRvIHRoZSBjYXJkJ3MgYm90dG9tIGVkZ2UuIFRoZVxuXHQvLyBuZWdhdGl2ZSBsZWZ0IGluc2V0IGNhbmNlbHMgdGhlIHBvcnRlZCBidXR0b24ncyBvd24gNHB4IHRleHQgcGFkZGluZyBzb1xuXHQvLyB0aGUgQ1RBJ3MgZ2x5cGhzIGxpbmUgdXAgd2l0aCB0aGUgYnVsbGV0cyBhYm92ZSBpdC5cblx0LnN1Z2FyLWNhbGVuZGFyLXRvb2xzLWFpLWNhcmQtbG9jayB7XG5cdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHRtYXJnaW4tbGVmdDogLTRweDtcblx0fVxuXG5cdC8vICFpbXBvcnRhbnQ6IHRoZSBUb29scyBwYWdlJ3Mgc2hhcmVkIGFkbWluLXRvb2xzLnNjc3MgZm9yY2VzXG5cdC8vIGAuc3VnYXItY2FsZW5kYXItYWRtaW4tY29udGVudCBwIHsgY29sb3I6IOKApjsgbWFyZ2luOiAxMHB4IDBweDsgfWAgdmlhXG5cdC8vIGEgZG91YmxlLUlEIHNlbGVjdG9yIHRoYXQgbm8gY2xhc3Mtb25seSBzZWxlY3RvciBjYW4gb3V0LXNwZWNpZnlcblx0Ly8gKHNhbWUgcmVhc29uIHRoZSBleWVicm93LCBsZWRlLCBhbmQgY2FwdGlvbiBwYXJhZ3JhcGhzIGFib3ZlIG5lZWQgaXQpLlxuXHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktbW9yZS1ub3RlIHtcblx0XHRmb250LXNpemU6ICR0ZXh0LWZvbnQtc2l6ZS1zICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR0ZXh0LXRleHQtdGVydGlhcnkgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDI1cHggMCAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvLyBUaGUgYmFubmVyJ3MgQUktY2xpZW50IGljb24gdGlsZXMgYW5kIGhlYXJ0IGFyZSBwb3NpdGlvbmVkIHdpdGggZml4ZWRcblx0Ly8gcGl4ZWwgb2Zmc2V0cyBjb21wdXRlZCBmb3IgdGhlIDcwMHB4IEZpZ21hIGRlc2lnbiB3aWR0aCAoc2VlXG5cdC8vIGRpc3BsYXlfYmFubmVyKCkpIOKAlCB0aGV5IGRvbid0IHNjYWxlIGRvd24gd2l0aCB0aGUgY29udGFpbmVyLiBGaWdtYVxuXHQvLyBuZXZlciBkZXNpZ25lZCBhIG5hcnJvd2VyIHZhcmlhbnQgb2YgdGhpcyBkZWNvcmF0aXZlIGJhbm5lciwgYW5kXG5cdC8vIGAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWlgJ3Mgb3duIGBtYXgtd2lkdGg6IDcwMHB4YCBzdGFydHMgYWN0dWFsbHlcblx0Ly8gc2hyaW5raW5nIChub3QganVzdCBjYXBwaW5nKSB3ZWxsIGJlZm9yZSB0eXBpY2FsIFwibW9iaWxlXCIgd2lkdGgg4oCUXG5cdC8vIGNvbmZpcm1lZCBsaXZlOiBhdCBhIDcwMHB4IHZpZXdwb3J0IHRoZSBjb250YWluZXIgaXMgYWxyZWFkeSBvbmx5XG5cdC8vIDY0MHB4LCBhbmQgaXQga2VlcHMgc2hyaW5raW5nIGJlbG93IHRoYXQsIGNsaXBwaW5nIHRoZSBpY29ucyBhZ2FpbnN0XG5cdC8vIGAuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktYmFubmVyYCdzIGBvdmVyZmxvdzogaGlkZGVuYC4gSGlkaW5nIHRoZVxuXHQvLyBkZWNvcmF0aW9uIGFuZCBrZWVwaW5nIGp1c3QgdGhlIGNlbnRlcmVkIG1hc2NvdCBpcyBzaW1wbGVyIGFuZCBzYWZlclxuXHQvLyB0aGFuIGludmVudGluZyBhbiB1bnNwZWNpZmllZCByZXNwb25zaXZlIHRyZWF0bWVudCBmb3IgaXQuXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4MHB4KSB7XG5cblx0XHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktYmFubmVyLWNsaWVudCxcblx0XHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktYmFubmVyLWhlYXJ0LFxuXHRcdC5zdWdhci1jYWxlbmRhci10b29scy1haS1iYW5uZXItcmluZyxcblx0XHQuc3VnYXItY2FsZW5kYXItdG9vbHMtYWktYmFubmVyLXNoYWRvdy1ncm91bmQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiJdfQ== */
