html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i,
center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

:root {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

*:focus, *:after:focus, *:before:focus {
  outline: 0;
}
*, *:after, *:before {
  box-sizing: inherit;
}

html {
  height: 100%;
  font-size: 62.5%;
  block-size: 100%;
  inline-size: 100%;
}

body {
  min-block-size: 100%;
  min-inline-size: 100%;
}

html, body {
  min-height: 100%;
}

p:empty, pre:empty, blockquote:empty, ol:empty, ul:empty, li:empty, legend:empty, figcaption:empty, body:empty, article:empty, nav:empty, aside:empty, section:empty, header:empty, footer:empty, address:empty {
  display: none;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}

svg, symbol {
  overflow: visible;
}

details {
  display: block;
}

summary {
  display: list-item;
  -webkit-appearance: none;
}
summary::-webkit-details-marker, summary::marker {
  display: none;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  width: 100%;
}

address {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  font-weight: normal;
}

hr {
  border: none;
  height: 1px;
  box-sizing: content-box;
  overflow: visible;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
  background-color: white;
  color: black;
  padding: 16px;
  position: relative;
  z-index: 9999;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  touch-action: manipulation;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
button:focus,
[type=button]:focus,
[type=reset]:focus,
[type=submit]:focus {
  outline: 0;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

em {
  font-style: italic;
}

a {
  background-color: transparent;
  text-decoration: none;
  touch-action: manipulation;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bold;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

textarea {
  resize: none;
  overflow: auto;
}

pre {
  background-color: white;
  color: black;
  text-transform: none;
  text-decoration: none;
  text-align: left;
  display: block;
  font-size: 16px;
  padding: 16px;
  position: relative;
  z-index: 999;
}

body.devmode img:not([alt]) {
  border: 2px red dashed;
}

/* z-indexes are large due to the fact that things might change
 * in the future. In order to account for scalability, this gives
 * room to make changes and not break the entire site, meaning 
 * we won't have to go in and refactor a lot of our code.
 */
/*  ----------------------------------------------------
    INPUTS
  ----------------------------------------------------- */
/*  ----------------------------------------------------
    CONTAINERS
  ----------------------------------------------------- */
/* -------------------
	Base result styles
-------------------- */
/* -------------------
	Variations
-------------------- */
/* -----------------------------------------------------
  Base styling
----------------------------------------------------- */
/* -----------------------------------------------------
  With secondary section
----------------------------------------------------- */
/* -----------------------------------------------------
  Checkbox tags
----------------------------------------------------- */
/* -----------------------------------------------------
  States
----------------------------------------------------- */
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-bold.woff2") format("woff2"), url("../../../assets/fonts/lato-bold.woff") format("woff"), url("../../../assets/fonts/lato-bold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-semibold.woff2") format("woff2"), url("../../../assets/fonts/lato-semibold.woff") format("woff"), url("../../../assets/fonts/lato-semibold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-regular.woff2") format("woff2"), url("../../../assets/fonts/lato-regular.woff") format("woff"), url("../../../assets/fonts/lato-regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-medium.woff2") format("woff2"), url("../../../assets/fonts/montserrat-medium.woff") format("woff"), url("../../../assets/fonts/montserrat-medium.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-medium-italic.woff2") format("woff2"), url("../../../assets/fonts/montserrat-medium-italic.woff") format("woff"), url("../../../assets/fonts/montserrat-medium-italic.otf") format("opentype");
  font-display: swap;
  font-style: italic;
  font-weight: 500;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-semibold.woff2") format("woff2"), url("../../../assets/fonts/montserrat-semibold.woff") format("woff"), url("../../../assets/fonts/montserrat-semibold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-regular.woff2") format("woff2"), url("../../../assets/fonts/montserrat-regular.woff") format("woff"), url("../../../assets/fonts/montserrat-regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-extrabold.woff2") format("woff2"), url("../../../assets/fonts/montserrat-extrabold.woff") format("woff"), url("../../../assets/fonts/montserrat-extrabold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 800;
}
:root {
  --primary: #FFFFFF;
  --secondary: #131f6b;
}
:root body[data-theme=default] {
  --theme-page-background: linear-gradient(to bottom right, #131f6b 5%, #1E1A1A 66%);
  --theme-content-background: rgba(255, 255, 255, 0);
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: rgba(255, 255, 255, 0);
  --theme-nav-background-mob: #FFFFFF;
  --theme-nav-font: #FFFFFF;
  --theme-nav-font-mob: #131f6b;
  --theme-nav-spacing-colour: rgba(19, 31, 107, 0.3);
  --theme-accent: #DF3035;
  --theme-logo: #FFFFFF;
  --font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
:root body[data-theme=white] {
  --theme-page-background: radial-gradient(circle at bottom, #10124d 55%, #172582 100%);
  --theme-content-background: #f8f8f8;
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: rgba(255, 255, 255, 0);
  --theme-nav-background-mob: #131f6b;
  --theme-nav-font: #FFFFFF;
  --theme-nav-font-mob: #FFFFFF;
  --theme-nav-spacing-colour: rgba(255, 255, 255, 0.3);
  --theme-accent: #DF3035;
  --theme-logo: #FFFFFF;
  --font-colour: #1E1A1A;
  --heading-colour: #131f6b;
}
:root body[data-theme=black] {
  --theme-page-background: linear-gradient(to bottom right, #131f6b 5%, #1E1A1A 66%);
  --theme-content-background: #1E1A1A;
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: #FFFFFF;
  --theme-nav-background-mob: #FFFFFF;
  --theme-nav-font: #131f6b;
  --theme-nav-font-mob: #131f6b;
  --theme-nav-spacing-colour: rgba(19, 31, 107, 0.3);
  --theme-font: #FFFFFF;
  --theme-accent: #DF3035;
  --theme-logo: #131f6b;
  --font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
:root {
  --breakpoint-min: 320px;
  --breakpoint-small: 480px;
  --breakpoint-small-medium: 980px;
  --breakpoint-medium: 1120px;
  --breakpoint-large: 1400px;
  --breakpoint-max: 1680px;
  --font-colour: var(--theme-font, #6A6A6A);
  --heading-colour: var(--theme-heading, #FFFFFF);
  --sub-heading-colour: var(--secondary, #131f6b);
  --transition-duration: 0.2s;
  --transition-ease: cubic-bezier(0.42, 0, 0.58, 1);
  --transition-delay: ;
  --gap: 16px;
  --gutter: 3vw;
  --spacer: 4vh;
  --gutter0: clamp(8px, var(--gutter) * 0.5, 12px);
  --gutter0-: calc(-1 * clamp(8px, var(--gutter) * 0.5, 12px));
  --spacer0: clamp(16px, var(--spacer), 32px);
  --spacer0-: calc(-1 * clamp(16px, var(--spacer), 32px));
  --gutter1: clamp(16px, var(--gutter), 32px);
  --gutter1-: calc(-1 * clamp(16px, var(--gutter), 32px));
  --spacer1: clamp(16px, var(--spacer) * 3, 64px);
  --spacer1-: calc(-1 * clamp(16px, var(--spacer) * 3, 64px));
  --gutter2: clamp(16px, var(--gutter) * 2, 48px);
  --gutter2-: calc(-1 * clamp(16px, var(--gutter) * 2, 48px));
  --spacer2: clamp(16px, var(--spacer) * 6, 112px);
  --spacer2-: calc(-1 * clamp(16px, var(--spacer) * 6, 112px));
  --gutter3: clamp(16px, var(--gutter) * 3, 64px);
  --gutter3-: calc(-1 * clamp(16px, var(--gutter) * 3, 64px));
  --spacer3: clamp(16px, var(--spacer) * 9, 160px);
  --spacer3-: calc(-1 * clamp(16px, var(--spacer) * 9, 160px));
  --gutter4: clamp(16px, var(--gutter) * 4, 80px);
  --gutter4-: calc(-1 * clamp(16px, var(--gutter) * 4, 80px));
  --spacer4: clamp(16px, var(--spacer) * 12, 208px);
  --spacer4-: calc(-1 * clamp(16px, var(--spacer) * 12, 208px));
  --gutter5: clamp(16px, var(--gutter) * 5, 96px);
  --gutter5-: calc(-1 * clamp(16px, var(--gutter) * 5, 96px));
  --spacer5: clamp(16px, var(--spacer) * 15, 256px);
  --spacer5-: calc(-1 * clamp(16px, var(--spacer) * 15, 256px));
  --gutter6: clamp(16px, var(--gutter) * 6, 112px);
  --gutter6-: calc(-1 * clamp(16px, var(--gutter) * 6, 112px));
  --spacer6: clamp(16px, var(--spacer) * 18, 304px);
  --spacer6-: calc(-1 * clamp(16px, var(--spacer) * 18, 304px));
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  :root {
    --gutter0: calc(var(--gutter) * 0.5 + 8px);
    --gutter0-: calc(-1 * calc(var(--gutter) * 0.5 + 8px));
    --spacer0: calc(var(--spacer) * 2 + 16px);
    --spacer0-: calc(-1 * calc(var(--spacer) * 2 + 16px));
    --gutter1: calc(var(--gutter) * 1 + 16px);
    --gutter1-: calc(-1 * calc(var(--gutter) * 1 + 16px));
    --spacer1: calc(var(--spacer) * 4 + 16px);
    --spacer1-: calc(-1 * calc(var(--spacer) * 4 + 16px));
    --gutter2: calc(var(--gutter) * 2 + 16px);
    --gutter2-: calc(-1 * calc(var(--gutter) * 2 + 16px));
    --spacer2: calc(var(--spacer) * 8 + 16px);
    --spacer2-: calc(-1 * calc(var(--spacer) * 8 + 16px));
    --gutter3: calc(var(--gutter) * 3 + 16px);
    --gutter3-: calc(-1 * calc(var(--gutter) * 3 + 16px));
    --spacer3: calc(var(--spacer) * 12 + 16px);
    --spacer3-: calc(-1 * calc(var(--spacer) * 12 + 16px));
    --gutter4: calc(var(--gutter) * 4 + 16px);
    --gutter4-: calc(-1 * calc(var(--gutter) * 4 + 16px));
    --spacer4: calc(var(--spacer) * 16 + 16px);
    --spacer4-: calc(-1 * calc(var(--spacer) * 16 + 16px));
    --gutter5: calc(var(--gutter) * 5 + 16px);
    --gutter5-: calc(-1 * calc(var(--gutter) * 5 + 16px));
    --spacer5: calc(var(--spacer) * 20 + 16px);
    --spacer5-: calc(-1 * calc(var(--spacer) * 20 + 16px));
    --gutter6: calc(var(--gutter) * 6 + 16px);
    --gutter6-: calc(-1 * calc(var(--gutter) * 6 + 16px));
    --spacer6: calc(var(--spacer) * 24 + 16px);
    --spacer6-: calc(-1 * calc(var(--spacer) * 24 + 16px));
  }
}

body {
  font-family: montserrat, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--font-colour, #6A6A6A);
  line-height: 1.6;
  font-size: 1.5rem;
}
@supports (width: clamp(1px, 5vw, 10px)) {
  body {
    font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  }
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  @media (max-width: 950px) {
    body {
      font-size: 1.4rem;
    }
  }
  @media (min-width: 1601px) {
    body {
      font-size: 1.6rem;
    }
  }
}

h1 {
  font-size: 3.125em;
  font-size: clamp(2.5em, 5vw, 3.125em);
  line-height: 1.2;
}

h2 {
  font-size: 1.25em;
  line-height: 1.3;
}

h3 {
  font-size: 0.9375em;
  line-height: 1.6;
}

h4 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h5 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h6 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: montserrat, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--heading-colour, var(--font-colour));
}
h1.sub-heading, h2.sub-heading, h3.sub-heading, h4.sub-heading, h5.sub-heading, h6.sub-heading {
  color: var(--sub-heading-colour);
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1 span, h1 strong, h1 p, h2 span, h2 strong, h2 p, h3 span, h3 strong, h3 p, h4 span, h4 strong, h4 p, h5 span, h5 strong, h5 p, h6 span, h6 strong, h6 p {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

a {
  cursor: pointer;
  transition: text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  text-decoration: underline;
  text-underline-position: under;
  text-decoration-color: rgba(255, 255, 255, 0);
}
a.external {
  display: inline-flex;
  align-items: center;
}
a.external svg.external-link {
  opacity: 0.6;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.5em;
}
a:hover {
  text-decoration-color: var(--font-colour);
}

@media (hover: hover) {
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h6 a:hover, h6 a:hover {
    text-decoration-color: var(--heading-colour);
  }
}

p, a {
  color: var(--font-colour);
}

ol, ul {
  list-style: none;
  list-style-position: inside;
}

li a {
  text-underline-offset: 2px;
}

small {
  font-size: 0.625em;
  line-height: 1.8;
}

hr {
  width: 100%;
  background-color: var(--hr-colour, #B1B1B1);
  margin-top: calc(var(--gap) * 2);
  margin-bottom: calc(var(--gap) * 2);
}

html {
  background-color: black;
}

body {
  --navigation-bar-width: clamp(250px, 25vw, 300px);
  --navigation-bar-height: 100vh;
  --sidebar-width: 30vw;
  --sidebar-max-width: var(--sidebar-width);
  --logo-height: 200px;
  --gap-x: clamp(2rem, 5vw, 8rem);
  --gap-y: 50px;
  --row-content: 1 / -1;
  --row-header: calc(1 + var(--content-offset, 0));
  --row-main: calc(2 + var(--content-offset, 0));
}
body[data-sidebar=top] {
  --row-sidebar: 1 / -1;
}
body[data-sidebar=header] {
  --row-sidebar: var(--row-header) / -2;
}
body[data-sidebar=content] {
  --row-sidebar: var(--row-main) / -2;
}
body {
  --column-navigation: 1;
  --column-content: 2;
  --column-header: 2;
  --column-main: 2;
  --column-sidebar: 3;
  --rows: var(--logo-height) auto 1fr;
  --columns: var(--navigation-bar-width) minmax(0, 1fr) auto;
  display: grid;
  grid-gap: var(--gap-y) var(--gap-x);
  grid-template-rows: var(--rows);
  grid-template-columns: var(--columns);
}
body navigation-bar {
  grid-row: var(--row-navigation);
  grid-column: var(--column-navigation);
}
body main {
  container-type: inline-size;
  container-name: main;
}
body .content-wrapper {
  grid-row: var(--row-content);
  grid-column: var(--column-content);
  z-index: 1000;
}
body side-bar {
  grid-row: var(--row-sidebar);
  grid-column: var(--column-sidebar);
}
body.heatsinks-home, body.components-home {
  --row-content: 2;
}
@media (max-width: 1400px) {
  body[data-sidebar=top], body[data-sidebar=header], body[data-sidebar=content] {
    --column-sidebar: 2;
    --row-content: 1 / -2;
  }
  body[data-sidebar=top] side-bar, body[data-sidebar=header] side-bar, body[data-sidebar=content] side-bar {
    --row-sidebar: calc(var(--row-content) + 3);
  }
}
@media (max-width: 980px) {
  body {
    place-content: start;
    --navigation-container-height: 60px;
    --navigation-mobile-search-height: 61px;
    --rows: auto auto 1fr auto;
    --columns: 0 minmax(0, 1fr) 0;
    --row-navigation: 1;
    --column-navigation: 1 / -1;
  }
  body:not(.heatsinks-home, .components-home) {
    --row-content: 2 / span 3 !important;
  }
  body > * {
    width: 100%;
  }
  body main {
    margin-top: -2rem;
  }
}
body.mobile-open, body.modal-open {
  overflow: hidden;
}

.content {
  line-height: 1.7;
}
.content ul > li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%23DA4B0F' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
.content ul > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
.content ul > li + li {
  margin-top: var(--line-style-spacing, calc(var(--gap) * 0.5));
}
.content ul > li::before {
  display: inline-block;
  top: 0.1em;
  left: 0;
  position: absolute;
  width: var(--list-style-size, 1em);
  height: var(--list-style-size, 1em);
}
.content ol {
  counter-reset: counter;
}
.content ol > li {
  position: relative;
  display: block;
  padding-left: 22px;
  margin-left: var(--list-style-offset, 0);
}
.content ol > li + li {
  margin-top: calc(var(--gap) * 0.5);
}
.content ol > li::before {
  content: counter(counter) ".";
  counter-increment: counter;
  color: var(--list-style-colour, var(--font-colour));
  position: relative;
  margin-right: 0.5em;
}
.content h3 {
  font-size: 1.25em;
  line-height: 1.3;
}
.content > * {
  margin-bottom: 3rem;
}
.content > *:last-child {
  margin-bottom: 0;
}
.content > ul, .content > ol {
  margin-bottom: 4rem;
}
.content h1, .content h2, .content h3, .content h4, .content h6, .content h6 {
  margin-bottom: 2.25rem;
}
.content h1 + h1, .content h1 + h2, .content h1 + h3, .content h1 + h4, .content h1 + h5, .content h1 + h6, .content h2 + h1, .content h2 + h2, .content h2 + h3, .content h2 + h4, .content h2 + h5, .content h2 + h6, .content h3 + h1, .content h3 + h2, .content h3 + h3, .content h3 + h4, .content h3 + h5, .content h3 + h6, .content h4 + h1, .content h4 + h2, .content h4 + h3, .content h4 + h4, .content h4 + h5, .content h4 + h6, .content h6 + h1, .content h6 + h2, .content h6 + h3, .content h6 + h4, .content h6 + h5, .content h6 + h6, .content h6 + h1, .content h6 + h2, .content h6 + h3, .content h6 + h4, .content h6 + h5, .content h6 + h6 {
  margin-top: 3rem;
}
.content a {
  --font-colour: var(--theme-accent) ;
}

input[type=text], input[type=email], input[type=number], input[type=search], select, textarea {
  --font-colour: #6A6A6A;
  --background-colour: #FFFFFF;
  --padding: calc(var(--gap) / 1.5) var(--gap);
  --border-colour: #e9e9e9;
  --border-radius: 0;
  outline: 0;
  border: 1px solid var(--border-colour);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: var(--border-radius, 6px); /* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
  -webkit-border-radius: 0; /* Safari 3-4, iOS 1-3.2, Android 1.6- */
  -moz-border-radius: 0; /* Firefox 1-3.6 */
  color: var(--font-colour);
  background-color: var(--background-colour);
  padding: var(--padding);
  transition: box-shadow var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  box-shadow: 0px 0px 0px 0px transparent;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=search]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  -moz-transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
input[type=text]::placeholder, input[type=email]::placeholder, input[type=number]::placeholder, input[type=search]::placeholder, select::placeholder, textarea::placeholder {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
input[type=text]:not(select), input[type=email]:not(select), input[type=number]:not(select), input[type=search]:not(select), select:not(select), textarea:not(select) {
  width: 100%;
}

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;
  -webkit-appearance: none;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
select:focus,
textarea:focus {
  box-shadow: 0px 0px 1px 1px rgba(223, 48, 53, 0.3);
}

input[type=submit], button[type=submit] {
  --background-colour: #DF3035;
  --font-colour: white;
  --icon-size: 0.8em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  grid-gap: calc(var(--gap) * 0.5);
  align-items: center;
  word-break: break-all;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  overflow: hidden;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.25rem 3rem 1.25rem 4rem;
  font-size: 16px;
  background: var(--background-colour);
  color: var(--font-colour);
  clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
}
input[type=submit] > svg, button[type=submit] > svg {
  width: var(--icon-size);
  height: var(--icon-size);
}
input[type=submit][disabled], button[type=submit][disabled] {
  opacity: 0.4;
  pointer-events: none;
}
input[type=submit]:not([disabled]):hover, button[type=submit]:not([disabled]):hover {
  text-decoration-line: none;
  text-decoration-color: transparent;
}
input[type=submit]:not([disabled]):hover::before, button[type=submit]:not([disabled]):hover::before {
  transform: translateX(calc(100% - 15px));
}
input[type=submit].small, button[type=submit].small {
  padding: 0.9rem 2rem 0.9rem 3rem;
  font-size: 12px;
}
input[type=submit].large, button[type=submit].large {
  padding: 1.4rem 3rem 1.4rem 4.25rem;
  font-size: 18px;
}
input[type=submit]::before, button[type=submit]::before {
  --transition-duration: 0.3s;
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: calc(100% + 15px);
  height: 100%;
  background: var(--background-colour);
  filter: brightness(120%);
  clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
  z-index: -1;
  transition: transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

select {
  text-transform: uppercase;
  padding-right: calc(var(--gap) * 3);
  color: var(--font-colour);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%236A6A6A' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: calc(100% - var(--gap)) center;
  width: -moz-min-content;
  width: min-content;
}
select option {
  text-transform: uppercase;
  font-weight: 400;
}

.input-container.horizontal {
  grid-auto-flow: column !important;
  align-items: center;
  justify-content: space-between;
}
.input-container:not(.radio, .checkbox) {
  --label-colour: var(--font-colour);
  --label-active-colour: var(--theme-accent);
  display: grid;
  grid-gap: 1rem;
}
.input-container:not(.radio, .checkbox) label {
  color: var(--label-colour);
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.input-container:not(.radio, .checkbox) {
  grid-auto-flow: row;
}
.input-container:not(.radio, .checkbox) input[maxlength], .input-container:not(.radio, .checkbox) input[size] {
  width: -moz-fit-content;
  width: fit-content;
}
.input-container.radio, .input-container.checkbox {
  --label-colour: var(--font-colour);
  --label-active-colour: var(--theme-accent);
  display: grid;
  grid-gap: 1rem;
}
.input-container.radio label, .input-container.checkbox label {
  color: var(--label-colour);
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.input-container.radio, .input-container.checkbox {
  grid-auto-flow: column;
  --input-width: 1.2em;
  --input-border-thickness: 1px;
  --input-active-colour: #DF3035;
}
.input-container.radio label, .input-container.checkbox label {
  display: grid;
  grid-auto-flow: column;
  grid-gap: var(--gap);
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}
.input-container.radio label::before, .input-container.radio label::after, .input-container.checkbox label::before, .input-container.checkbox label::after {
  grid-row: 1;
  grid-column: 1;
  content: "";
  position: relative;
  display: block;
}
.input-container.radio label::before, .input-container.checkbox label::before {
  width: var(--input-width);
  height: var(--input-width);
  background: #FFFFFF;
  border: var(--input-border-thickness, 1px) solid #969695;
  transition: border-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  cursor: pointer;
}
.input-container.radio label::after, .input-container.checkbox label::after {
  width: calc(var(--input-width) - var(--input-border-thickness) * 6);
  height: calc(var(--input-width) - var(--input-border-thickness) * 6);
  background: var(--input-active-colour);
  opacity: 0;
  left: -10px;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  pointer-events: none;
  justify-self: center;
}
.input-container.radio label:hover, .input-container.checkbox label:hover {
  --label-colour: var(--label-active-colour);
}
.input-container.radio label:hover::before, .input-container.checkbox label:hover::before {
  border-color: var(--input-active-colour);
}
.input-container.radio input, .input-container.checkbox input {
  display: none;
}
.input-container.radio input:checked + label, .input-container.checkbox input:checked + label {
  color: var(--label-active-colour);
}
.input-container.radio input:checked + label::after, .input-container.checkbox input:checked + label::after {
  opacity: 1;
  transform: translateX(10px);
}
.input-container.radio label::before, .input-container.radio label::after {
  border-radius: 50%;
}

.multi-input {
  --input-spacing: 0;
  display: flex;
  gap: var(--input-spacing);
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
}
.multi-input input[type=text]:not(select), .multi-input input[type=email]:not(select), .multi-input input[type=number]:not(select), .multi-input input[type=search]:not(select), .multi-input select:not(select), .multi-input textarea:not(select) {
  border: 1px solid var(--border-colour);
  border-right: 0;
}
.multi-input > *:not(select, button, a) {
  flex: 1;
}
.multi-input select, .multi-input button, .multi-input a {
  --font-colour: #FFFFFF;
  --background-colour: #DF3035;
  text-transform: uppercase;
  border-left: 1px solid var(--border-colour);
  background-color: var(--background-colour);
  color: var(--font-colour);
  font-weight: 600;
}
.multi-input select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
}

radio-tabs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
radio-tabs radio-tab {
  position: relative;
  display: block;
  font-weight: 400;
  text-transform: uppercase;
  padding-bottom: calc(var(--gap) * 0.5);
}
radio-tabs radio-tab input {
  display: none;
}
radio-tabs radio-tab input:checked + label {
  font-weight: 600;
}
radio-tabs radio-tab input:checked + label::after {
  background: var(--theme-accent);
}
radio-tabs radio-tab input:not(:checked) + label:hover::after {
  background: var(--theme-accent);
}
radio-tabs radio-tab label {
  color: var(--font-colour);
  cursor: pointer;
}
radio-tabs radio-tab label::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0);
  transition: background var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

form [type=submit] {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
form [data-freeform-controls] {
  justify-content: flex-end;
}
form:invalid [type=submit] {
  cursor: not-allowed;
  opacity: 0.5;
}

form[data-freeform] h3, form[data-freeform] h4, form[data-freeform] h5, form[data-freeform] h6 {
  font-size: 1.25em;
  line-height: 1.3;
}
form[data-freeform] .ff-form-success {
  --font-colour: #50BC08;
  margin-bottom: calc(var(--gap) * 2);
}
form[data-freeform] .ff-form-success p {
  display: flex;
  align-items: center;
}
form[data-freeform] .ff-form-success p::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2350BC08' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
  display: block;
  margin-right: var(--gap);
  width: 1.25em;
  height: 1.25em;
}
form[data-freeform] .ff-form-errors {
  --font-colour: #DF3035;
  margin-bottom: calc(var(--gap) * 2);
}
form[data-freeform] .ff-errors {
  --font-colour: #DF3035;
  margin-top: var(--gap);
  color: var(--font-colour);
}
form[data-freeform] .form-fields {
  display: grid;
  grid-template-columns: 100%;
  grid-gap: var(--gap);
}
form[data-freeform] .form-fields .freeform-row {
  display: grid;
  grid-gap: 2rem;
  grid-auto-flow: column;
  height: -moz-fit-content;
  height: fit-content;
}
form[data-freeform] .form-fields .freeform-row .freeform-column {
  position: relative;
}
form[data-freeform] .form-fields .freeform-row .freeform-column h3, form[data-freeform] .form-fields .freeform-row .freeform-column h4, form[data-freeform] .form-fields .freeform-row .freeform-column h5, form[data-freeform] .form-fields .freeform-row .freeform-column h6 {
  margin-top: calc(var(--gap) * 2);
}
form[data-freeform] .form-fields .freeform-row .freeform-column.freeform-column-content-align-right {
  text-align: right;
}
form[data-freeform] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label) {
  opacity: 0.7;
}
form[data-freeform] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label) + .freeform-input {
  margin-top: calc(var(--gap) / 2);
}
form[data-freeform] .form-fields required-notice {
  --notice-colour: #DF3035;
  display: block;
  position: absolute;
  top: 0;
  right: 10px;
  color: var(--notice-colour);
  font-size: 1.5em;
}
form[data-freeform] .form-fields required-notice span {
  position: absolute;
  right: -100%;
  pointer-events: none;
  white-space: nowrap;
  font-size: 1.5rem;
  opacity: 0;
}
form[data-handle=marketSectorForm] {
  display: flex;
  flex-direction: column;
}
form[data-handle=marketSectorForm] .ff-form-errors, form[data-handle=marketSectorForm] .ff-form-success {
  order: 10;
  background: white;
  padding: var(--gutter0) var(--gutter1);
  margin-top: var(--gutter1);
}
form[data-handle=marketSectorForm] .ff-form-errors p, form[data-handle=marketSectorForm] .ff-form-success p {
  color: white;
}
form[data-handle=marketSectorForm] .ff-form-errors ul li, form[data-handle=marketSectorForm] .ff-form-success ul li {
  color: white;
}
form[data-handle=marketSectorForm] .ff-form-errors {
  background: darkred;
}
form[data-handle=marketSectorForm] .ff-form-success {
  background: #218b00;
}
form[data-handle=marketSectorForm], form[data-handle=contact] {
  --submit-height: 41px;
}
form[data-handle=marketSectorForm] .form-fields label:not(.freeform-input-only-label), form[data-handle=contact] .form-fields label:not(.freeform-input-only-label) {
  text-transform: uppercase;
}
form[data-handle=marketSectorForm] .form-fields .message, form[data-handle=marketSectorForm] .form-fields .submit-row, form[data-handle=contact] .form-fields .message, form[data-handle=contact] .form-fields .submit-row {
  grid-row: 5;
  grid-column: 1;
}
form[data-handle=marketSectorForm] .form-fields .message .freeform-column, form[data-handle=contact] .form-fields .message .freeform-column {
  display: grid;
}
form[data-handle=marketSectorForm] .form-fields textarea[name=message], form[data-handle=contact] .form-fields textarea[name=message] {
  z-index: 1;
  padding-bottom: calc(41px + var(--gap));
}
form[data-handle=marketSectorForm] .form-fields .submit-row, form[data-handle=contact] .form-fields .submit-row {
  width: 100%;
  z-index: 1;
  margin: auto 0 0 auto;
}
form[data-handle=marketSectorForm] .form-fields .submit-row button, form[data-handle=contact] .form-fields .submit-row button {
  margin-left: auto;
  z-index: 2;
}
form[data-handle=creditApplication] .freeform-row:nth-last-of-type(-n+2), form[data-handle=creditApplication] .freeform-row:nth-last-of-type(-n+1) {
  margin-top: 2rem;
}
form[data-handle=creditApplication] .freeform-row:last-of-type {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: initial;
  background-color: var(--theme-content-background);
}
body#search .subheading {
  margin-right: 2rem;
}
body#search .subheading u {
  white-space: pre-line;
  word-break: break-word;
}

.d-none {
  display: none !important;
}

figure.image, picture.image {
  display: block;
  background-position: var(--position, center 33%);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
}
figure.image img, picture.image img {
  display: block;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--image-position, center 33.33%);
     object-position: var(--image-position, center 33.33%);
  width: var(--image-size, var(--image-width-size, 100%));
  height: var(--image-size, var(--image-height-size, 100%));
  max-width: var(--image-size, var(--image-width-size, 100%));
  max-height: var(--image-size, var(--image-height-size, 100%));
  top: 0;
  left: 0;
}

video-container {
  --aspect-ratio: 16/9;
  aspect-ratio: var(--aspect-ratio);
}
@supports not (aspect-ratio: 16/9) {
  video-container {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  video-container > * {
    position: absolute;
  }
}
video-container {
  display: block;
  position: relative;
  width: 100%;
  background-color: black;
}
video-container iframe, video-container canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important;
}

mark {
  background-color: #0095FF;
  color: white;
  border-radius: calc(var(--border-radius, 6px) / 2);
  padding: 0 5px;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

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

details {
  outline: none;
}
details[open] summary > svg {
  transform: rotate(90deg);
}

summary {
  -webkit-appearance: none;
  cursor: pointer;
}
summary::-webkit-details-marker, summary::marker {
  display: none;
}

.overflow-hidden {
  overflow: hidden !important;
}

.hide {
  opacity: 0 !important;
  pointer-events: none !important;
}

.button {
  --background-colour: #DF3035;
  --font-colour: white;
  --icon-size: 0.8em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  grid-gap: calc(var(--gap) * 0.5);
  align-items: center;
  word-break: break-all;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  overflow: hidden;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.25rem 3rem 1.25rem 4rem;
  font-size: 16px;
  background: var(--background-colour);
  color: var(--font-colour);
  clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
}
.button > svg {
  width: var(--icon-size);
  height: var(--icon-size);
}
.button[disabled] {
  opacity: 0.4;
  pointer-events: none;
}
.button:not([disabled]):hover {
  text-decoration-line: none;
  text-decoration-color: transparent;
}
.button:not([disabled]):hover::before {
  transform: translateX(calc(100% - 15px));
}
.button.small {
  padding: 0.9rem 2rem 0.9rem 3rem;
  font-size: 12px;
}
.button.large {
  padding: 1.4rem 3rem 1.4rem 4.25rem;
  font-size: 18px;
}
.button::before {
  --transition-duration: 0.3s;
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: calc(100% + 15px);
  height: 100%;
  background: var(--background-colour);
  filter: brightness(120%);
  clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
  z-index: -1;
  transition: transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

.button svg, button svg {
  pointer-events: none;
  vertical-align: middle;
}

picture {
  display: block;
}

.result-item {
  --heading-colour: #131f6b;
  --border-thickness: 1px;
  --border-radius: 0px;
  --background-colour: white;
  --padding: 2rem;
  --padding-left: var(--padding);
  --padding-right: var(--padding);
  --padding-top: var(--padding);
  --padding-bottom: var(--padding);
  --image-width: 100px;
  --image-height: 100px;
  --grid-gap: var(--gap);
  position: relative;
  padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
  border: var(--border-thickness) solid rgba(255, 255, 255, 0);
  border-radius: var(--border-radius, 6px);
  background-color: var(--background-colour);
  isolation: isolate;
  overflow: hidden;
  transition: border var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  display: grid;
  grid-gap: var(--grid-gap) var(--grid-gap);
}
.result-item .result-image {
  grid-area: image;
  display: block;
}
.result-item .result-image picture {
  height: var(--image-height);
}
.result-item .result-image picture img {
  width: var(--image-height);
  height: var(--image-width);
}
.result-item .result-title {
  grid-area: title;
  color: var(--heading-colour);
}
.result-item .result-title a {
  color: var(--heading-colour);
}
.result-item .result-subtitle {
  grid-area: subtitle;
}
.result-item .result-body {
  grid-area: body;
}
.result-item.blog {
  --padding: 4rem;
  --border-thickness: 0;
  --border-radius: 0;
  grid-template-areas: "subtitle" "title" "body";
}
.result-item.blog .result-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}
.result-item.blog .result-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.result-item.blog .result-image::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, white 45%, transparent 120%);
}
.result-item.blog time {
  color: #DF3035;
}
.result-item.blog .result-title, .result-item.blog .result-subtitle {
  text-transform: uppercase;
}
.result-item.blog .result-title {
  font-size: 1.25em;
  line-height: 1.3;
  line-height: 1.3;
}
.result-item.blog .result-subtitle {
  --heading-colour: #DF3035;
  display: flex;
  align-items: center;
}
.result-item.blog .result-subtitle h4, .result-item.blog .result-subtitle time {
  font-size: 1.5rem;
  height: 100%;
}
.result-item.blog .result-subtitle time {
  color: #969695;
}
.result-item.blog .result-body {
  --font-colour: #1E1A1A;
}
.result-item.blog.featured {
  --padding-right: 5rem;
  grid-column: 1/span 2;
}
.result-item.blog.featured .result-title {
  font-weight: 800;
  font-size: 2em;
}
.result-item.blog.featured::before {
  content: "FEATURED";
  position: absolute;
  top: 0;
  padding: 0.7rem 2rem 0.7rem 3rem;
  height: 39px;
  background: #ed6224;
  color: #FFFFFF;
  transform: translate(0, -0.5px) translateX(-100%) translateY(-100%) rotate(-90deg);
  transform-origin: bottom right;
  clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
  left: 100%;
  z-index: 1;
}
.result-item.blog .result-title, .result-item.blog .result-subtitle, .result-item.blog .result-body {
  z-index: 2;
}
.result-item.market-sector {
  --background-colour:transparent;
  --font-colour:white;
  --heading-colour: white;
  isolation: isolate;
  cursor: pointer;
  display: flex;
  overflow: visible;
  flex-direction: column;
  padding: 0 0 var(--gutter0) 0;
  border-bottom: 1px solid var(--result-item-border-bottom, rgba(255, 255, 255, 0.2));
}
.result-item.market-sector .result-image {
  width: 100%;
  height: clamp(140px, 40vw, 180px);
  outline: 1px solid var(--image-outline-colour, transparent);
  outline-offset: var(--image-outline-offset, 0.1em);
  cursor: pointer;
  transition: outline-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), outline-offset var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.result-item.market-sector .result-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.result-item.market-sector:hover {
  --image-outline-colour: rgba(255, 255, 255, 0.2);
  --image-outline-offset: 0.3em;
}
.result-item.market-sector:hover .result-title a {
  color: #DF3035;
}
.result-item.market-sector .result-title {
  text-transform: uppercase;
  align-self: flex-start;
}
.result-item.market-sector .result-title a {
  text-decoration: none !important;
}
.result-item.market-sector .result-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  cursor: pointer;
  z-index: 1;
}
body[data-theme=white] .result-item.market-sector {
  --result-item-border-bottom: rgba(19, 31, 107, 0.2);
  --font-colour:#131f6b;
  --heading-colour: #131f6b;
}
body[data-theme=white] .result-item.market-sector:hover {
  --image-outline-colour: rgba(19, 31, 107, 0.2);
}

body#market-sectors {
  position: relative;
  container-type: inline-size;
  container-name: market-sector;
}
body#market-sectors .result-item {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
body#market-sectors .result-item a.details:hover {
  text-decoration: none !important;
}
body#market-sectors:hover .result-image {
  --image-outline-colour: transparent !important;
  --image-outline-offset:0 !important;
}
body#market-sectors .details {
  background-color: rgb(5.9607843137%, 9.7254901961%, 33.568627451%);
  position: absolute;
  z-index: 1;
  padding: 0;
  display: none;
  grid-template-columns: 1fr 220px;
  width: var(--market-sector-article-width, calc(200% + var(--gutter1) + 2px));
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), display var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ) allow-discrete;
}
body#market-sectors .details .details-text {
  padding: var(--gutter1);
}
body#market-sectors .details .details-heading {
  color: #DF3035;
  text-transform: uppercase;
  font-size: 1.25em;
  line-height: 1.3;
  margin-bottom: 1em;
}
body#market-sectors .details .details-image {
  clip-path: polygon(0% 100%, 35% 0%, 100% 0%, 100% 100%);
}
body#market-sectors .details .details-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body#market-sectors .details .details-image .details-link {
  width: 100%;
  text-align: right;
  justify-content: flex-end;
}
body#market-sectors .details .details-link {
  position: absolute;
  bottom: 0;
  right: 0;
}
@container market-sector ( width < 420px) {
  body#market-sectors .details {
    display: flex !important;
    flex-direction: column;
  }
  body#market-sectors .details .details-image {
    clip-path: initial;
    height: 100px;
  }
  body#market-sectors .details .details-image .details-link {
    width: auto;
  }
}
@media (hover: hover) {
  body#market-sectors .result-item:is(:hover, :focus-visible) {
    z-index: 1;
  }
  body#market-sectors .result-item:is(:hover, :focus-visible) .details {
    display: grid;
    opacity: 1;
  }
  @starting-style {
    body#market-sectors .result-item:is(:hover, :focus-visible) .details {
      opacity: 0;
    }
  }
}
@media (hover: hover) and (width > 2050px) {
  body#market-sectors .result-item:is(:hover, :focus-visible) .details {
    width: 100%;
  }
}
body#market-sectors article-grid:has(.result-item:is(:hover, :focus-visible)) .result-item:not(:is(:hover, :focus-visible)) {
  opacity: 0.5 !important;
}
@container main ( width < 660px) {
  body#market-sectors article-grid {
    grid-template-columns: 1fr !important;
    --market-sector-article-width: 100%;
  }
}
@container main (660px < width < 964px) {
  body#market-sectors article-grid .result-item:nth-child(2n) .details {
    left: initial;
    right: 0;
  }
}
@container main ( width > 964px) {
  body#market-sectors article-grid .result-item:nth-child(3n) .details {
    left: initial;
    right: 0;
  }
}

.result-item.product {
  --badge-spacing: 3rem;
  grid-template-columns: var(--image-width) auto;
  grid-template-areas: "image title" "image title" "image data" "image data";
}
.result-item.product .result-title, .result-item.product .result-body {
  padding-right: calc(var(--badge-spacing) * 2);
}
.result-item.product .product-data {
  grid-area: data;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  grid-gap: calc(var(--gap) / 2) var(--gap);
}
.result-item.product .result-image img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 450px) {
  .result-item.product {
    grid-template-areas: "image " "title" "data";
    grid-template-columns: unset;
  }
  .result-item.product .product-data {
    flex-direction: row;
  }
  .result-item.product .result-title, .result-item.product .result-body {
    padding-right: 0;
  }
}
.result-item.product.in-stock::before {
  --padding-y: 0.2em;
  --padding-x: 10em;
  content: "in stock";
  position: absolute;
  top: calc(1em + var(--padding-y));
  right: calc(-1 * var(--padding-x));
  padding: 0.5em var(--padding-x);
  transform: rotate(45deg);
  text-transform: uppercase;
  background-color: #131f6b;
  color: #FFFFFF;
}
.result-item.page {
  grid-template-areas: "image title" "image body" "image body" "image body";
}
.result-item.page .result-image img {
  -o-object-fit: cover;
     object-fit: cover;
}

.tag[disabled] {
  opacity: 0.4;
  pointer-events: none;
}
.tag.category {
  --border-radius: 0px;
  --font-colour: #DF3035;
  --bg-colour: white;
  --secondary-width: 3ch;
  --secondary-padding-x: 3px;
  --border-colour: transparent;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--border-colour);
  border-radius: var(--border-radius);
  color: var(--font-colour);
  background-color: var(--bg-colour);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: content-box;
}
.tag.category .tag-label {
  padding: 3px var(--gap) 3px var(--gap);
}
.tag.category {
  --border-colour: #DF3035;
  --symbol-colour: #DF3035;
}
.tag.category .tag-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--secondary-padding-x);
  height: 100%;
  background-color: #dcdcdc;
  overflow: hidden;
  width: 3ch;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.category .tag-secondary svg {
  width: 50%;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.category .tag-secondary:hover {
  --symbol-colour: white;
  background-color: #DF3035;
}
.tag.checkbox input[type=checkbox] {
  display: none;
}
.tag.checkbox input[type=checkbox] ~ label {
  --border-radius: 0px;
  --font-colour: #DF3035;
  --bg-colour: white;
  --secondary-width: 3ch;
  --secondary-padding-x: 3px;
  --border-colour: transparent;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--border-colour);
  border-radius: var(--border-radius);
  color: var(--font-colour);
  background-color: var(--bg-colour);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: content-box;
}
.tag.checkbox input[type=checkbox] ~ label .tag-label {
  padding: 3px var(--gap) 3px var(--gap);
}
.tag.checkbox input[type=checkbox] ~ label {
  --symbol-colour: #DF3035;
}
.tag.checkbox input[type=checkbox] ~ label .tag-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--secondary-padding-x);
  height: 100%;
  background-color: #dcdcdc;
  overflow: hidden;
  width: 3ch;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.checkbox input[type=checkbox] ~ label .tag-secondary svg {
  width: 50%;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.checkbox input[type=checkbox] ~ label:hover {
  --border-colour: #DF3035;
  cursor: pointer;
}
.tag.checkbox input[type=checkbox]:checked ~ label {
  --font-colour: white;
  --bg-colour: #DF3035;
}
.tag.checkbox input[type=checkbox]:checked ~ label .tag-secondary {
  --symbol-colour: white;
  background-color: rgba(255, 255, 255, 0.3);
}

table-container .heading {
  font-size: 1.25em;
  line-height: 1.3;
  margin-bottom: calc(var(--gap) * 2);
}
table-container .table {
  --cell-padding-y: 1rem;
  --cell-padding-x: 1.5rem;
  --cell-padding: var(--cell-padding-y) var(--cell-padding-x);
  table-layout: fixed;
  text-align: left;
}
table-container .table tr:nth-child(odd) {
  background-color: var(--theme-content-opposite);
}
table-container .table tr td:first-child() {
  border-right: 1px solid #969695;
}
table-container .table td {
  padding: var(--cell-padding);
}
table-container .table th {
  padding: var(--cell-padding);
  font-weight: 600;
  border-bottom: 1px solid lightgrey;
}
table-container .table.vertical tr td:first-child {
  font-weight: 600;
}
table-container .table.product-specs tr td:first-child {
  white-space: nowrap;
}
table-container .table.product-specs tr td:last-child {
  width: 100%;
}
table-container .table.related-products a {
  --font-colour: #DF3035;
}

main > .snippet a {
  --font-colour: var(--theme-accent) ;
}

navigation-bar {
  position: fixed;
  top: 0;
  width: 100%;
  width: var(--navigation-bar-width);
  height: var(--navigation-bar-height);
  max-height: -webkit-fill-available;
  padding: 0 calc(var(--gap) * 2) var(--gap-y);
  background: var(--theme-nav-background);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  overflow-y: auto;
  z-index: 1500;
  transition: background 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
navigation-bar a, navigation-bar button {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}
navigation-bar global-search-mobile {
  display: none;
}
navigation-bar .navigation-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
navigation-bar .navigation-container a.logo {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 95%;
  min-height: var(--logo-height);
  height: var(--logo-height);
  margin-bottom: var(--gap-y);
}
navigation-bar .navigation-container a.logo > svg {
  width: 100%;
  color: var(--theme-logo);
}
navigation-bar .navigation-container a.logo.logo-mobile {
  display: none;
}
navigation-bar .navigation-container global-search-desktop {
  margin-bottom: calc(var(--gap) * 2);
}
navigation-bar nav navigation-links {
  --fallback-max-height: 600px;
  --base-spacing: calc(var(--gap) * 0.5);
  display: block;
}
navigation-bar nav navigation-links .top-level-link {
  padding: calc(var(--gap) * 0.5) 0;
}
navigation-bar nav navigation-links .top-level-link:first-child {
  padding-top: 0;
}
navigation-bar nav navigation-links .top-level-link.has-children > a:hover svg {
  opacity: 1;
}
navigation-bar nav navigation-links .sub-menu li {
  padding: calc(var(--gap) * 0.5 / 2) 0;
}
navigation-bar nav navigation-links .sub-menu li:first-child {
  padding-top: calc(var(--gap) * 0.5);
}
navigation-bar nav navigation-links .sub-menu li:last-child {
  padding-bottom: calc(var(--gap) * 0.5);
}
navigation-bar nav navigation-links ul li a {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar nav navigation-links ul li a:not(.active) {
  --font-colour: var(--theme-nav-font);
}
navigation-bar nav navigation-links ul li a.active {
  --font-colour: var(--theme-accent);
}
@media (hover: hover) {
  navigation-bar nav navigation-links ul li a.active:hover {
    text-decoration-color: rgba(255, 255, 255, 0) !important;
    text-decoration: none;
  }
}
navigation-bar nav navigation-links ul li a > svg {
  color: var(--theme-nav-font);
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  width: 1em;
  height: 1em;
  opacity: 0.2;
}
navigation-bar nav navigation-links ul li ul {
  --transition-duration: 0.325s;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  margin-left: var(--gap);
}
navigation-bar nav navigation-links ul li ul li a:not(.active) {
  opacity: 0.5;
}
@media (hover: hover) {
  navigation-bar nav navigation-links ul li ul li a:not(.active):hover {
    opacity: 1;
  }
}
navigation-bar nav navigation-links ul li.has-children > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
navigation-bar nav navigation-links ul li.has-children.open > a > svg {
  transform: rotate(90deg);
}
navigation-bar nav navigation-links ul li.has-children.open > ul {
  max-height: var(--link-max-height, var(--fallback-max-height));
  opacity: 1;
}
navigation-bar nav navigation-links .top-level-links > li > a {
  text-transform: uppercase;
}
navigation-bar nav navigation-links .mobile-link.hidden {
  display: none;
}
navigation-bar navigation-controls {
  display: none;
  align-items: center;
}
navigation-bar navigation-controls > *:not(:first-child) {
  margin-left: var(--gutter3);
}
navigation-bar navigation-controls a, navigation-bar navigation-controls button {
  display: block;
  height: -moz-fit-content;
  height: fit-content;
}
navigation-bar navigation-controls a svg, navigation-bar navigation-controls button svg {
  height: 25px;
  width: 25px;
  color: var(--theme-nav-font);
  vertical-align: middle;
}
navigation-bar navigation-controls button.menu {
  --symbol-colour: var(--theme-nav-font, white);
}
navigation-bar navigation-controls button.menu svg {
  --corner-offset: 10px;
  width: 30px;
  height: 30px;
}
navigation-bar navigation-controls button.menu svg polygon {
  clip-path: polygon(140px 20px, 0 20px, var(--corner-offset, 10px) 0, 140px 0);
  transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(1) {
  transform-origin: 15% 30%;
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(2) {
  opacity: 1;
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(3) {
  transform-origin: 15% 70%;
}
navigation-bar .extra-links {
  --font-colour: var(--theme-nav-font);
  --link-spacing: var(--gap);
  --opacity: 0.6;
  display: flex;
  font-size: 1.4rem;
  opacity: var(--opacity);
  margin-top: auto;
  flex-wrap: wrap;
  gap: 1rem;
}
navigation-bar .extra-links li:not(:last-of-type) {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1ch;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
navigation-bar .extra-links a {
  text-decoration: none;
  white-space: nowrap;
}
@media (hover: hover) {
  navigation-bar .extra-links a:hover {
    text-decoration: underline;
  }
}

@media (max-width: 980px) {
  navigation-bar {
    --navigation-bar-width: 100%;
    --navigation-bar-height: min-content;
    --logo-height: 100%;
    --row-padding: 1rem var(--gap-x);
    --theme-nav-font: var(--theme-nav-font-mob);
    --theme-logo: var(--theme-nav-font-mob);
    position: relative;
    padding: 0;
    overflow: visible;
    border-right: none;
  }
  navigation-bar .extra-links {
    display: none;
  }
  navigation-bar global-search-desktop {
    display: none;
  }
  navigation-bar .navigation-container, navigation-bar global-search-mobile {
    background-color: var(--theme-nav-background-mob);
  }
  navigation-bar global-search-mobile {
    position: relative;
    display: block;
    padding: var(--row-padding);
    height: var(--navigation-mobile-search-height);
    margin-top: calc(-1 * var(--navigation-mobile-search-height) - 0px);
    transition: margin-top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    border-bottom: 1px solid var(--theme-nav-spacing-colour);
    z-index: -1;
  }
  navigation-bar global-search-mobile form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  navigation-bar global-search-mobile form input[type=search] {
    border-right: none;
  }
  navigation-bar global-search-mobile form select {
    --font-colour: #FFFFFF;
    --background-colour: #DF3035;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
  }
  navigation-bar navigation-controls {
    display: flex;
    margin-bottom: 0;
  }
  navigation-bar .navigation-container {
    flex-direction: row;
    justify-content: space-between;
    height: var(--navigation-container-height);
    padding: var(--row-padding);
    border-bottom: 1px solid var(--theme-nav-spacing-colour);
    z-index: 1500;
  }
  navigation-bar .navigation-container a.logo {
    margin-bottom: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
  navigation-bar .navigation-container a.logo.logo-desktop {
    display: none;
  }
  navigation-bar .navigation-container a.logo.logo-mobile {
    display: block;
    margin-left: -3rem;
  }
  navigation-bar .navigation-container a.logo svg {
    width: unset;
    height: 100%;
  }
  navigation-bar nav {
    position: absolute;
    top: calc(100% + 0px);
    left: 0;
    width: 100%;
    height: 100vh;
    padding: var(--gap-y) var(--gap-x) var(--navigation-container-height);
    background: var(--theme-nav-background-mob);
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  navigation-bar nav .top-level-links {
    opacity: 0;
  }
  body.mobile-search-open navigation-bar global-search-mobile {
    margin-top: 0;
  }
  body.mobile-navigation-open navigation-bar nav {
    pointer-events: all;
    opacity: 1;
  }
  body.mobile-navigation-open navigation-bar nav .top-level-links {
    opacity: 1;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  }
  body.mobile-navigation-open navigation-bar button.menu svg {
    --corner-offset: 0;
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(1) {
    transform: rotate(45deg) scaleY(80%);
    -webkit-transform: rotate(45deg) scaleY(80%);
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(2) {
    opacity: 0;
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(3) {
    transform: rotate(-45deg) scaleY(80%);
    -webkit-transform: rotate(-45deg) scaleY(80%);
  }
}
.heatsinks-home header.header,
.components-home header.header {
  transition: all 0.8s 0.2s;
}

.header {
  align-self: end;
  display: flex;
  flex-direction: column;
  z-index: 1000;
}
.header .heading,
.header .subheading {
  text-transform: uppercase;
}
.header .heading {
  order: 2;
  font-weight: 800;
}
.header .subheading {
  color: var(--theme-accent);
  margin-bottom: var(--gap);
}
.header .subheading a {
  --heading-colour: var(--theme-accent);
  color: var(--theme-accent);
}
.header .snippet {
  order: 3;
  margin-top: 2rem;
}
@media (min-width: 981px) {
  .header .snippet {
    max-width: 1000px;
  }
}
.header.transition {
  opacity: 0;
  transform: translateY(-10%);
}

main {
  display: flex;
  flex-direction: column;
  grid-gap: var(--gap-y);
  z-index: 1000;
}
main content-blocks {
  display: grid;
  grid-gap: var(--gap-y);
}
main content-blocks section {
  display: grid;
  grid-gap: var(--gap-y);
}
body:not([data-components*=scroll-bar]) {
  position: relative;
}

@media (min-width: 1401px) {
  main {
    padding-bottom: var(--gap-y);
  }
}

side-bar {
  position: relative;
  width: var(--sidebar-width);
  max-width: var(--sidebar-max-width);
  height: 100%;
  z-index: 1000;
}
side-bar div.content-block.callToAction {
  margin-bottom: 0;
  padding-bottom: 0;
}
@media (width > 1400px) {
  side-bar div.content-block.callToAction {
    position: fixed;
    bottom: 0;
    top: unset;
  }
}
side-bar.free {
  --container-padding: 4rem;
}
side-bar.contain > div {
  padding-right: var(--gap-x);
}
side-bar[data-behaviour=sticky] {
  --sticky-spacing: 0;
}
side-bar[data-behaviour=sticky].contain {
  --sticky-spacing: var(--gap-y);
}
side-bar[data-behaviour=sticky] > div {
  position: sticky;
  top: var(--sticky-spacing);
}
@media (max-width: 1400px) {
  side-bar[data-behaviour=sticky] > div {
    position: relative;
    top: 0;
  }
}
@media (max-width: 1400px) {
  side-bar:not([data-behaviour=foldout]) {
    --sidebar-max-width: 100%;
    --sidebar-width: 100%;
  }
  side-bar:not([data-behaviour=foldout]) > div {
    margin-bottom: calc(var(--gap-y) * 2);
  }
  side-bar.contain > div {
    padding: 0;
  }
}
side-bar[data-behaviour=foldout] {
  z-index: 1750;
  transition: max-width 0.7s cubic-bezier(0.42, 0, 0.58, 1), transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
side-bar[data-behaviour=foldout] > div {
  position: sticky;
  top: 0;
}
@media (max-width: 1400px) {
  side-bar[data-behaviour=foldout] {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: min(100vw, 400px);
    max-width: min(100vw, 400px);
  }
  side-bar[data-behaviour=foldout].active {
    transform: translateX(0%);
  }
  side-bar[data-behaviour=foldout] > div {
    position: relative;
  }
}
@media (max-width: 980px) {
  side-bar[data-behaviour=foldout] .open-trigger {
    display: none !important;
  }
  side-bar[data-behaviour=foldout] .close-trigger {
    display: block;
  }
}

page-background {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transform: scale(1);
  background: var(--theme-page-background);
  z-index: 500;
}
page-background::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--theme-content-background);
  z-index: 501;
}
@media (min-width: 981px) {
  page-background::after {
    top: 0;
    left: calc(var(--navigation-bar-width));
    width: calc(100% - var(--navigation-bar-width));
    height: 100%;
  }
}
page-background video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scaleX(-1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 0.3;
}
page-background img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scaleX(-1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
page-background img.logo {
  opacity: 0.03;
}
page-background img::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent 40%, #12152B 100%);
  z-index: 500 -1;
}

body:not(#home) .content-wrapper header {
  padding-top: 200px;
  margin-bottom: var(--gap-y);
}
body:not(#home) .content-wrapper header:not(.has-subheading) {
  margin-top: calc(-1 * var(--gap-y));
}
body:not(#home) .content-wrapper header.has-subheading {
  margin-top: calc(-1.85 * var(--gap-y));
}
@media (max-width: 980px) {
  body:not(#home) .content-wrapper header {
    padding-top: var(--gap-y);
    margin-top: calc(-1 * var(--gap-y)) !important;
  }
}

body#home.components-home .content-wrapper header {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--gap);
  margin-bottom: var(--gap-y);
}
body#home.components-home .content-wrapper header > h1, body#home.components-home .content-wrapper header p {
  grid-column: 1/3;
}
body#home.components-home .content-wrapper header h1 {
  grid-row: 1;
}
@media (max-width: 400px) {
  body#home.components-home .content-wrapper header h1 {
    font-size: 24px;
  }
}
body#home.components-home .content-wrapper header p {
  grid-column: 1/-1;
  grid-row: 2;
}
body#home.components-home .content-wrapper header img {
  grid-column: 3;
  width: 100%;
  height: auto;
}
body#home.components-home .content-wrapper header + main {
  margin-top: 0;
}
@media (min-width: 768px) {
  body#home.components-home .content-wrapper header {
    grid-gap: 0;
    grid-template-columns: repeat(auto-fill, min-max(200px, 25%));
  }
  body#home.components-home .content-wrapper header p {
    margin-top: 0;
  }
  body#home.components-home .content-wrapper header img {
    max-width: 150px;
    margin-left: auto;
  }
}
body#home.components-home .content-wrapper .about-us-block {
  background: linear-gradient(120deg, #10124d 20%, #131f6b 80%);
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  position: relative;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
  padding-bottom: 75px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
}
body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
  display: flex;
  padding: calc(var(--gap) * 2);
  background-color: #DF3035;
  gap: 16px;
  justify-content: center;
  flex-direction: column;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
  flex-grow: 1;
  grid-gap: var(--gap);
  padding-top: var(--gap);
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: var(--gap);
  gap: var(--gap);
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div svg {
  width: 80%;
  color: white;
  max-width: 80px;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div svg.wire-earth {
  width: 60%;
  margin-bottom: 1em;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div p {
  text-align: center;
  text-transform: uppercase;
  color: #DF3035;
  justify-self: baseline;
  font-size: 1.4rem;
}
body#home.components-home .content-wrapper .about-us-block > a {
  position: absolute;
  right: 0;
  bottom: 0;
}
body#home.components-home .content-wrapper .content-block.callToAction {
  background: linear-gradient(120deg, #10124d 0%, #131f6b 80%);
  padding: calc(var(--gap) * 2) 0 0 calc(var(--gap) * 2);
  display: flex;
  flex-direction: column;
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-heading, body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-subheading {
  text-transform: uppercase;
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-heading {
  --heading-colour: #FFFFFF;
  font-size: 1.25em;
  line-height: 1.3;
  padding-right: calc(var(--gap) * 2);
  font-weight: 800;
  margin-bottom: calc(var(--gap) * 2);
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-subheading {
  --heading-colour: #DF3035;
  font-size: 0.9375em;
  line-height: 1.6;
  margin-bottom: var(--gap);
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-button {
  margin-top: var(--gap);
  margin-left: calc(var(--gap) * 3);
  align-self: flex-end;
  width: -moz-fit-content;
  width: fit-content;
}
body#home.components-home .content-wrapper scroll-bar {
  max-width: unset !important;
}
@media (min-width: 768px) {
  body#home.components-home .content-wrapper .about-us-block {
    padding-bottom: unset;
    flex-direction: row;
  }
  body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
    max-width: 35%;
    padding-right: var(--spacer2);
    clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 75% 100%);
  }
  body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
    padding: var(--spacer1);
    margin-left: -5%;
  }
}
@media (min-width: 981px) and (max-width: 1399px) {
  body#home.components-home .content-wrapper .about-us-block {
    flex-direction: column;
  }
  body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
    max-width: unset;
    clip-path: unset;
  }
  body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
    padding: var(--spacer1);
    margin-left: 0%;
  }
}
@media (min-width: 1201px) {
  body#home.components-home .content-wrapper header, body#home.components-home .content-wrapper scroll-bar, body#home.components-home .content-wrapper .about-us-block, body#home.components-home .content-wrapper .content-block.callToAction, body#home.components-home .content-wrapper .market-sectors\:list {
    max-width: 1200px !important;
  }
}

footer {
  position: sticky;
  top: 100dvh;
  order: 99;
  padding-bottom: var(--spacer1);
  grid-column: var(--column-content);
  z-index: 1000;
}
@media (min-width: 1201px) {
  footer {
    max-width: 1200px !important;
  }
}

#home footer {
  position: relative;
  top: initial;
  grid-row: -1;
}

content-blocks [data-columns] {
  grid-template-columns: repeat(var(--columns, 1), 1fr);
  grid-gap: calc(var(--gap) * 2);
}
@media (min-width: 769px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}
@media (min-width: 980px) {
  content-blocks [data-columns="2"] {
    --columns: 1;
  }
}
@media (min-width: 1201px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}
@media (min-width: 1401px) {
  content-blocks [data-columns="2"] {
    --columns: 1;
  }
}
@media (min-width: 1800px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}

search-element .search-input svg {
  height: 32px;
}

modal-wrapper {
  --wrapper-background-colour: rgba(255, 255, 255, 0.95);
  --modal-close-colour: $black;
  --container-background-colour: white;
  --min-width:300px;
  --max-width:1120px;
  --width:clamp(var(--min-width), 90vw, fit-content);
  --min-height:600px;
  --max-height:calc(100vh - var(--gutter2));
  --height:clamp(var(--min-height), 90vw, fit-content);
}
@supports (--v:-webkit-fill-available ) {
  modal-wrapper {
    --max-height:-webkit-fill-available;
  }
}
modal-wrapper {
  --close-button-size: 30px;
  --nav-button-size: 40px;
  position: fixed;
  inset: 0;
  height: 100vh;
  width: 100%;
  background-color: var(--wrapper-background-colour);
  z-index: 10000;
  display: flex;
  place-items: center;
  place-content: center;
  transition: opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1);
  overscroll-behavior: contain;
}
modal-wrapper.loading {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1) 0.3s;
}
modal-wrapper.loading modal-container {
  opacity: 0;
  transform: translateY(2vh);
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
modal-wrapper button.close {
  position: absolute;
  top: var(--gutter1);
  right: var(--gutter1);
  width: var(--close-button-size);
  height: var(--close-button-size);
}
modal-wrapper button.close svg circle, modal-wrapper button.close svg path {
  transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}
modal-wrapper button.close svg {
  color: var(--modal-close-colour, #DF3035);
}
@media (hover: hover) {
  modal-wrapper button.close:hover svg {
    --fill:white;
    --stroke:var(--secondary, #DF3035);
  }
}
modal-wrapper button.navigation {
  position: absolute;
  width: var(--nav-button-size);
  height: var(--nav-button-size);
  top: calc(50% - var(--nav-button-size) / 2);
  background-color: var(--secondary, #DF3035);
  border-radius: 50%;
  border: 2px solid var(--secondary, #DF3035);
  color: white;
  display: flex;
  place-content: center;
  place-items: center;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
modal-wrapper button.navigation.previous {
  left: var(--gutter1);
}
modal-wrapper button.navigation.next {
  right: var(--gutter1);
}
modal-wrapper button.navigation svg {
  width: 50%;
  height: 50%;
}
@media (hover: hover) {
  modal-wrapper button.navigation:hover {
    transform: scale(1.1);
    color: var(--secondary, #DF3035);
    background-color: white;
  }
}

modal-container {
  transform: translateY(0);
  transition: opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1) 0.3s, transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  width: var(--width);
  height: var(--height);
  max-height: var(--max-height);
  max-width: var(--max-width);
  border: 1px solid #dcdcdc;
  border-radius: var(--border-radius, 6px);
  background-color: var(--container-background-colour);
  position: relative;
  display: flex;
  flex-direction: column;
  margin: var(--gutter1);
  overscroll-behavior: contain;
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  modal-container {
    --width: 60vw;
    max-width: var(--max-width);
    min-width: var(--min-width);
    --height: 80vw;
    max-height: var(--max-height);
    min-height: var(--min-height);
  }
}
modal-container:empty {
  width: calc(var(--max-width) / 2);
  height: calc(var(--max-height) / 2);
}
modal-container:empty:after {
  --size: 20px;
  content: "";
  position: absolute;
  top: calc(50% - var(--size) / 2);
  left: calc(50% - var(--size) / 2);
  opacity: 0;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: 2px solid var(--loader-colour, #969695);
  border-top-color: transparent;
  border-bottom-color: transparent;
  animation-name: loader-rotate;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  animation-play-state: paused;
}
@keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
modal-container:empty:after {
  opacity: 1;
  animation-play-state: running;
}
modal-container > button.close {
  position: relative;
  order: -1;
  align-self: flex-end;
  top: initial;
  right: initial;
  margin-top: calc(-1 * var(--close-button-size) / 2);
  margin-bottom: calc(-1 * var(--close-button-size) / 2);
  margin-right: calc(-1 * var(--close-button-size) / 2);
}

modal-content {
  display: block;
  position: sticky;
  overscroll-behavior: contain;
  width: inherit;
  height: inherit;
  max-height: inherit;
  max-width: inherit;
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--gutter1);
}
modal-content > * {
  max-width: 100%;
}

modal-wrapper[data-type=image] .image {
  max-height: calc(var(--max-height) - var(--gutter6));
  border: none;
}
modal-wrapper[data-type=image] .image img {
  max-height: calc(100vh - var(--gutter3) - var(--gutter4));
  width: auto;
  height: auto;
  margin: auto;
}

modal-wrapper[data-type=default] modal-content > img[src*=".svg"] {
  width: 100%;
  height: auto;
}

modal-wrapper[data-type=video] {
  --wrapper-background-colour: rgba(0, 0, 0, 0.95);
  --modal-close-colour: #FFFFFF;
}
modal-wrapper[data-type=video] modal-container {
  --aspect-ratio: 16/9;
  aspect-ratio: var(--aspect-ratio);
}
@supports not (aspect-ratio: 16/9) {
  modal-wrapper[data-type=video] modal-container {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  modal-wrapper[data-type=video] modal-container > * {
    position: absolute;
  }
}
modal-wrapper[data-type=video] modal-container {
  display: block;
  position: relative;
  width: 100%;
  background-color: black;
}
modal-wrapper[data-type=video] modal-container iframe, modal-wrapper[data-type=video] modal-container canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important;
}
modal-wrapper[data-type=video] modal-container {
  background-color: white;
  padding: var(--gap);
}
modal-wrapper[data-type=video] modal-container modal-content {
  height: 100%;
  border-radius: var(--border-radius, 6px);
}

.open-in-modal {
  cursor: pointer;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.open-in-modal:after {
  --size: 20px;
  content: "";
  position: absolute;
  top: calc(50% - var(--size) / 2);
  left: calc(50% - var(--size) / 2);
  opacity: 0;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: white solid var(--loader-colour, #969695);
  border-top-color: transparent;
  border-bottom-color: transparent;
  animation-name: loader-rotate;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  animation-play-state: paused;
}
@keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
.open-in-modal.loading {
  pointer-events: none;
}
.open-in-modal.loading:after {
  opacity: 1;
  animation-play-state: running;
}

img.open-in-modal, .open-in-modal img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

.back-to-top {
  --hide-offset: -10px;
  --svg-width: 18px;
  --edge-distance: 15px;
  --right-offset: 0px;
  display: block;
  position: fixed;
  right: calc(var(--right-offset) + var(--edge-distance));
  bottom: calc(var(--edge-distance) + var(--hide-offset));
  width: calc(var(--svg-width) + 12px);
  height: calc(var(--svg-width) + 12px);
  background: #131f6b;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  z-index: 1001;
  pointer-events: all;
  transition: opacity 0.2s var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform 0.2s var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.back-to-top svg {
  position: relative;
  top: -2px;
  width: var(--svg-width);
  height: var(--svg-width);
  color: #FFFFFF;
}
.back-to-top:not(.hide) {
  pointer-events: all;
  opacity: 1;
  cursor: pointer;
  transform: translateY(var(--hide-offset));
}
.back-to-top {
  display: none;
}

@media (min-width: 1401px) {
  side-bar ~ .back-to-top {
    --right-offset: var(--sidebar-width);
  }
}
logo-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter1);
  align-items: center;
  padding-top: var(--spacer1);
}
logo-bar img {
  max-width: 140px;
  max-height: 90px;
  min-height: 60px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 801px) {
  logo-bar {
    justify-content: space-between;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fbGliL2NvbGxlY3Rpb25zL25vcm1hbGlzZXJzL19icm93c2VyLnNjc3MiLCJnbG9iYWwuY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvei1pbmRleC5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy9mb3JtLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL3Jlc3VsdC1pdGVtLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL3RhZy5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19jb3JlL3dlYmZvbnRzLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2NvcmUvY3VzdG9tLXByb3BlcnRpZXMuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS90eXBvZ3JhcGh5LnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX3ZhcmlhYmxlcy9mb250cy5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19saWIvY29sbGVjdGlvbnMvZm9udC9fcmVzcG9uc2l2ZS1mb250c2l6ZS5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19saWIvaGVscGVycy9fYnJlYWsuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fbGliL2NyZWF0ZS9faGVhZGluZ3Muc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fdmFyaWFibGVzL2NvbG91cnMuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fbGliL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2hvdmVyLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2xpYi9jcmVhdGUvX3VuaXRzLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2NvcmUvbGF5b3V0LnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2NvcmUvY29udGVudC5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy9saXN0LnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX3ZhcmlhYmxlcy9oZWFkaW5ncy5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvdW5pdHMuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9mb3Jtcy5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy9idXR0b24uc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9faGVscGVycy9taXNjLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2NvcmUvX2luZGV4LnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2xpYi9jb2xsZWN0aW9ucy9zdHlsaW5nL19pbWFnZS5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19saWIvY29sbGVjdGlvbnMvc3R5bGluZy9fYXNwZWN0LXJhdGlvLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL3ZpZGVvLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL21hcmsuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fbGliL2NyZWF0ZS9fcGFsZXR0ZS5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvdHJhbnNpdGlvbi5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy90YWJsZS5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvbmF2aWdhdGlvbi1iYXIuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL2hlYWRlci5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvbWFpbi5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19oZWxwZXJzL2NvbXBvbmVudC5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvc2lkZS1iYXIuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL3BhZ2UtYmFja2dyb3VuZC5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvY29udGVudC13cmFwcGVyLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9mb290ZXIuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2tzLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9nbG9iYWwtc2VhcmNoLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwiZmlsZTovVm9sdW1lcy9NYXJrJTIwTm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy9sb2FkZXIuc2NzcyIsImZpbGU6L1ZvbHVtZXMvTWFyayUyME5vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL2JhY2stdG8tdG9wLnNjc3MiLCJmaWxlOi9Wb2x1bWVzL01hcmslMjBOb3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9sb2dv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MkZKO0EyQ3A0RkE7RUFrQ0UsYUFBQTtBM0NxMkZGOztBVXA0RkU7RWlDb0NBO0lBQ0Usb0NBQUE7RTNDbzJGRjtBQUNGO0E0Qzc0RkE7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLG1COUIrSE87RThCOUhQLG1CQUFBO0VBQ0EsMkI5QmtHTztBZDZ5Rlg7QTRDNzRGSTtFQUNJLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7S0FBQSxtQkFBQTtBNUMrNEZSO0FVejVGRTtFa0NIRjtJQWdCUSw4QkFBQTtFNUNnNUZOO0FBQ0YiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBOb3JtYWxpc2Vyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2Vcbi8vLyBAYXV0aG9yIEF1dGhvcnMgbmFtZVxuLy8vIEBzZWUgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuJG5vcm1hbGlzZSAgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRiYXNlLWVsZW1lbnRzICAgICA6IHRydWUgIWRlZmF1bHQ7XG4kc2VjdGlvbi1lbGVtZW50cyAgOiB0cnVlICFkZWZhdWx0O1xuJGhlYWRlci1lbGVtZW50cyAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRncm91cGluZy1lbGVtZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4kdGFibGUtZWxlbWVudHMgICAgOiB0cnVlICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudHMgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRlbWJlZGRlZC1lbGVtZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4kdGV4dC1lbGVtZW50cyAgICAgOiB0cnVlICFkZWZhdWx0O1xuJGRldi1lbGVtZW50cyAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcblxuQGlmICRub3JtYWxpc2Uge1xuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBCYXNlIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkYmFzZS1lbGVtZW50cyB7XG5cblx0XHRodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG5cdFx0YmxvY2txdW90ZSwgcHJlLCBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsIGRlbCwgZGZuLCBlbSxcblx0XHRpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLFxuXHRcdGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLFxuXHRcdGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsXG5cdFx0ZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksXG5cdFx0c2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdFx0fVxuXG5cdFx0OnJvb3Qge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0XHR9XG5cblx0XHQqLCAqOmFmdGVyLCAqOmJlZm9yZSB7XG5cdFx0XHQmOmZvY3VzIHsgb3V0bGluZTowOyB9O1xuXHRcdFx0Ym94LXNpemluZzppbmhlcml0O1xuXHRcdH1cblxuXHRcdGh0bWwgeyBcblx0XHRcdGhlaWdodDoxMDAlOyBcblx0XHRcdGZvbnQtc2l6ZTo2Mi41JTsgXG5cdFx0XHRibG9jay1zaXplOiAxMDAlO1xuXHRcdFx0aW5saW5lLXNpemU6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ym9keSB7IFxuXHRcdFx0bWluLWJsb2NrLXNpemU6IDEwMCU7XG5cdFx0XHRtaW4taW5saW5lLXNpemU6IDEwMCU7XG5cdFx0fVxuXG5cdFx0aHRtbCwgYm9keSB7XG5cdFx0XHRtaW4taGVpZ2h0OjEwMCU7XG5cdFx0fVxuXG5cdFx0cCwgcHJlLCBibG9ja3F1b3RlLCBvbCwgdWwsIGxpLCBsZWdlbmQsIGZpZ2NhcHRpb24sIGJvZHksIGFydGljbGUsIG5hdiwgYXNpZGUsIHNlY3Rpb24sIGhlYWRlciwgZm9vdGVyLCBhZGRyZXNzIHtcblx0XHRcdCY6ZW1wdHkgeyBkaXNwbGF5Om5vbmU7IH1cblx0XHR9XG5cblx0XHRhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdHN2Zywgc3ltYm9sIHsgb3ZlcmZsb3c6dmlzaWJsZTsgfVxuXG5cdFx0ZGV0YWlscyB7IGRpc3BsYXk6IGJsb2NrO1x0fVxuXG5cdFx0c3VtbWFyeSB7XG5cdFx0XHRkaXNwbGF5OiBsaXN0LWl0ZW07XG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcblx0XHRcdCY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsICY6Om1hcmtlciB7IGRpc3BsYXk6bm9uZTsgfVxuXHRcdH1cblxuXHRcdHRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTtcdH1cblxuXHRcdFtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gU2VjdGlvbiBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHNlY3Rpb24tZWxlbWVudHMge1xuXG5cdFx0Ym9keSB7XG5cdFx0XHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHRcdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdH1cblxuXHRcdGFkZHJlc3Mge1xuXHRcdFx0Zm9udC1zdHlsZTpub3JtYWw7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gSGVhZGVyIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkaGVhZGVyLWVsZW1lbnRzIHtcblxuXHRcdGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tYmVmb3JlOjBlbTtcblx0XHRcdC13ZWJraXQtbWFyZ2luLWFmdGVyOjBlbTtcblx0XHRcdC13ZWJraXQtbWFyZ2luLXN0YXJ0OjBweDtcblx0XHRcdC13ZWJraXQtbWFyZ2luLWVuZDowcHg7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEdyb3VwaW5nIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZ3JvdXBpbmctZWxlbWVudHMge1xuXG5cdFx0aHIge1xuXHRcdFx0Ym9yZGVyOm5vbmU7XG5cdFx0XHRoZWlnaHQ6MXB4O1xuXHRcdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cblx0XHRibG9ja3F1b3RlLCBxIHtcblx0XHRcdHF1b3Rlczogbm9uZTtcblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cHJlIHtcblx0XHRcdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRjb2xvcjogYmxhY2s7XG5cdFx0XHRwYWRkaW5nOjE2cHg7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6OTk5OTtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBUYWJsZSBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHRhYmxlLWVsZW1lbnRzIHtcblxuXHRcdHRhYmxlIHtcblx0XHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0XHRib3JkZXItc3BhY2luZzogMDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBGb3JtIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZm9ybS1lbGVtZW50cyB7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0fVxuXG5cdFx0YnV0dG9uLFx0aW5wdXQsIG9wdGdyb3VwLFx0c2VsZWN0LFx0dGV4dGFyZWEge1xuXHRcdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0XHRmb250LXNpemU6IDEwMCU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRidXR0b24sXHRpbnB1dCB7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cblx0XHRidXR0b24sXHRzZWxlY3Qge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0fVxuXG5cdFx0YnV0dG9uLFxuXHRcdFt0eXBlPVwiYnV0dG9uXCJdLFxuXHRcdFt0eXBlPVwicmVzZXRcIl0sXG5cdFx0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG5cdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0XHRib3JkZXI6bm9uZTtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHQmOmZvY3VzIHsgb3V0bGluZTowOyB9XG5cdFx0fVxuXG5cdFx0YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuXHRcdFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuXHRcdFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5cdFx0W3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHRidXR0b246LW1vei1mb2N1c3JpbmcsXG5cdFx0W3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5cdFx0W3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblx0XHRbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdFx0XHRvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG5cdFx0fVxuXG5cdFx0ZmllbGRzZXQge1xuXHRcdFx0cGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuXHRcdH1cblxuXHRcdGxlZ2VuZCB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdH1cblxuXHRcdHByb2dyZXNzIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHRbdHlwZT1cImNoZWNrYm94XCJdLFxuXHRcdFt0eXBlPVwicmFkaW9cIl0ge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5cdFx0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdFt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdH1cblx0XHQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuXHRcdFx0Zm9udDogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRbZGlzYWJsZWRdIHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBFbWJlZGRlZCBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJGVtYmVkZGVkLWVsZW1lbnRzIHtcblxuXHRcdGltZyB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gVGV4dCBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHRleHQtZWxlbWVudHMge1xuXG5cdFx0ZW0ge1xuXHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdFx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHR9XG5cblx0XHRhYmJyW3RpdGxlXSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG5cdFx0fVxuXG5cdFx0Yiwgc3Ryb25nIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblxuXHRcdGNvZGUsXHRrYmQsIHNhbXAge1xuXHRcdFx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0fVxuXG5cdFx0c21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiA4MCU7XG5cdFx0fVxuXG5cdFx0c3ViLCBzdXAge1xuXHRcdFx0Zm9udC1zaXplOiA3NSU7XG5cdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHRzdWIge1xuXHRcdFx0Ym90dG9tOiAtMC4yNWVtO1xuXHRcdH1cblxuXHRcdHN1cCB7XG5cdFx0XHR0b3A6IC0wLjVlbTtcblx0XHR9XG5cblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRyZXNpemU6bm9uZTtcblx0XHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIERldmVsb3BtZW50IEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZGV2LWVsZW1lbnRzIHtcblxuXHRcdHByZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRcdFx0Y29sb3I6YmxhY2s7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTpub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRwYWRkaW5nOjE2cHg7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6OTk5O1xuXHRcdH1cblx0XHRcblx0XHRib2R5LmRldm1vZGUge1xuXHRcdFx0aW1nOm5vdChbYWx0XSkge1xuXHRcdFx0XHRib3JkZXI6IDJweCByZWQgZGFzaGVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG4iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG5ibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLFxuaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCwgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYiwgdSwgaSxcbmNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLFxuY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscyxcbmVtYmVkLCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LFxuc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuOnJvb3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbio6Zm9jdXMsICo6YWZ0ZXI6Zm9jdXMsICo6YmVmb3JlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbiosICo6YWZ0ZXIsICo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtaW4tYmxvY2stc2l6ZTogMTAwJTtcbiAgbWluLWlubGluZS1zaXplOiAxMDAlO1xufVxuXG5odG1sLCBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxucDplbXB0eSwgcHJlOmVtcHR5LCBibG9ja3F1b3RlOmVtcHR5LCBvbDplbXB0eSwgdWw6ZW1wdHksIGxpOmVtcHR5LCBsZWdlbmQ6ZW1wdHksIGZpZ2NhcHRpb246ZW1wdHksIGJvZHk6ZW1wdHksIGFydGljbGU6ZW1wdHksIG5hdjplbXB0eSwgYXNpZGU6ZW1wdHksIHNlY3Rpb246ZW1wdHksIGhlYWRlcjplbXB0eSwgZm9vdGVyOmVtcHR5LCBhZGRyZXNzOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdmcsIHN5bWJvbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgLXdlYmtpdC1tYXJnaW4tYmVmb3JlOiAwZW07XG4gIC13ZWJraXQtbWFyZ2luLWFmdGVyOiAwZW07XG4gIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAwcHg7XG4gIC13ZWJraXQtbWFyZ2luLWVuZDogMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5ociB7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLCBxOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5OTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuYnV0dG9uIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLCBpbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b24sIHNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYnV0dG9uOmZvY3VzLFxuW3R5cGU9YnV0dG9uXTpmb2N1cyxcblt0eXBlPXJlc2V0XTpmb2N1cyxcblt0eXBlPXN1Ym1pdF06Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuY29kZSwga2JkLCBzYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbnByZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xufVxuXG5ib2R5LmRldm1vZGUgaW1nOm5vdChbYWx0XSkge1xuICBib3JkZXI6IDJweCByZWQgZGFzaGVkO1xufVxuXG4vKiB6LWluZGV4ZXMgYXJlIGxhcmdlIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoaW5ncyBtaWdodCBjaGFuZ2VcbiAqIGluIHRoZSBmdXR1cmUuIEluIG9yZGVyIHRvIGFjY291bnQgZm9yIHNjYWxhYmlsaXR5LCB0aGlzIGdpdmVzXG4gKiByb29tIHRvIG1ha2UgY2hhbmdlcyBhbmQgbm90IGJyZWFrIHRoZSBlbnRpcmUgc2l0ZSwgbWVhbmluZyBcbiAqIHdlIHdvbid0IGhhdmUgdG8gZ28gaW4gYW5kIHJlZmFjdG9yIGEgbG90IG9mIG91ciBjb2RlLlxuICovXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIElOUFVUU1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDT05UQUlORVJTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdEJhc2UgcmVzdWx0IHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0VmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJhc2Ugc3R5bGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFdpdGggc2Vjb25kYXJ5IHNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDaGVja2JveCB0YWdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtcmVndWxhci5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1leHRyYWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xufVxuOnJvb3Qge1xuICAtLXByaW1hcnk6ICNGRkZGRkY7XG4gIC0tc2Vjb25kYXJ5OiAjMTMxZjZiO1xufVxuOnJvb3QgYm9keVtkYXRhLXRoZW1lPWRlZmF1bHRdIHtcbiAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICMxMzFmNmIgNSUsICMxRTFBMUEgNjYlKTtcbiAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZTogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQ6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQtbW9iOiAjMTMxZjZiO1xuICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cjogcmdiYSgxOSwgMzEsIDEwNywgMC4zKTtcbiAgLS10aGVtZS1hY2NlbnQ6ICNERjMwMzU7XG4gIC0tdGhlbWUtbG9nbzogI0ZGRkZGRjtcbiAgLS1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbn1cbjpyb290IGJvZHlbZGF0YS10aGVtZT13aGl0ZV0ge1xuICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20sICMxMDEyNGQgNTUlLCAjMTcyNTgyIDEwMCUpO1xuICAtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgLS10aGVtZS1jb250ZW50LW9wcG9zaXRlOiAjRkZGRkZGO1xuICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYjogIzEzMWY2YjtcbiAgLS10aGVtZS1uYXYtZm9udDogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtZm9udC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIC0tdGhlbWUtYWNjZW50OiAjREYzMDM1O1xuICAtLXRoZW1lLWxvZ286ICNGRkZGRkY7XG4gIC0tZm9udC1jb2xvdXI6ICMxRTFBMUE7XG4gIC0taGVhZGluZy1jb2xvdXI6ICMxMzFmNmI7XG59XG46cm9vdCBib2R5W2RhdGEtdGhlbWU9YmxhY2tdIHtcbiAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICMxMzFmNmIgNSUsICMxRTFBMUEgNjYlKTtcbiAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQ6ICMxRTFBMUE7XG4gIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZTogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQ6ICMxMzFmNmI7XG4gIC0tdGhlbWUtbmF2LWZvbnQtbW9iOiAjMTMxZjZiO1xuICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cjogcmdiYSgxOSwgMzEsIDEwNywgMC4zKTtcbiAgLS10aGVtZS1mb250OiAjRkZGRkZGO1xuICAtLXRoZW1lLWFjY2VudDogI0RGMzAzNTtcbiAgLS10aGVtZS1sb2dvOiAjMTMxZjZiO1xuICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWhlYWRpbmctY29sb3VyOiAjRkZGRkZGO1xufVxuOnJvb3Qge1xuICAtLWJyZWFrcG9pbnQtbWluOiAzMjBweDtcbiAgLS1icmVha3BvaW50LXNtYWxsOiA0ODBweDtcbiAgLS1icmVha3BvaW50LXNtYWxsLW1lZGl1bTogOTgwcHg7XG4gIC0tYnJlYWtwb2ludC1tZWRpdW06IDExMjBweDtcbiAgLS1icmVha3BvaW50LWxhcmdlOiAxNDAwcHg7XG4gIC0tYnJlYWtwb2ludC1tYXg6IDE2ODBweDtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtZm9udCwgIzZBNkE2QSk7XG4gIC0taGVhZGluZy1jb2xvdXI6IHZhcigtLXRoZW1lLWhlYWRpbmcsICNGRkZGRkYpO1xuICAtLXN1Yi1oZWFkaW5nLWNvbG91cjogdmFyKC0tc2Vjb25kYXJ5LCAjMTMxZjZiKTtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAtLXRyYW5zaXRpb24tZWFzZTogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xuICAtLXRyYW5zaXRpb24tZGVsYXk6IDtcbiAgLS1nYXA6IDE2cHg7XG4gIC0tZ3V0dGVyOiAzdnc7XG4gIC0tc3BhY2VyOiA0dmg7XG4gIC0tZ3V0dGVyMDogY2xhbXAoOHB4LCB2YXIoLS1ndXR0ZXIpICogMC41LCAxMnB4KTtcbiAgLS1ndXR0ZXIwLTogY2FsYygtMSAqIGNsYW1wKDhweCwgdmFyKC0tZ3V0dGVyKSAqIDAuNSwgMTJweCkpO1xuICAtLXNwYWNlcjA6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlciksIDMycHgpO1xuICAtLXNwYWNlcjAtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSwgMzJweCkpO1xuICAtLWd1dHRlcjE6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlciksIDMycHgpO1xuICAtLWd1dHRlcjEtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSwgMzJweCkpO1xuICAtLXNwYWNlcjE6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KTtcbiAgLS1zcGFjZXIxLTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KSk7XG4gIC0tZ3V0dGVyMjogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpO1xuICAtLWd1dHRlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpKTtcbiAgLS1zcGFjZXIyOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogNiwgMTEycHgpO1xuICAtLXNwYWNlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDYsIDExMnB4KSk7XG4gIC0tZ3V0dGVyMzogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpO1xuICAtLWd1dHRlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpKTtcbiAgLS1zcGFjZXIzOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogOSwgMTYwcHgpO1xuICAtLXNwYWNlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDksIDE2MHB4KSk7XG4gIC0tZ3V0dGVyNDogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpO1xuICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpKTtcbiAgLS1zcGFjZXI0OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTIsIDIwOHB4KTtcbiAgLS1zcGFjZXI0LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxMiwgMjA4cHgpKTtcbiAgLS1ndXR0ZXI1OiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCk7XG4gIC0tZ3V0dGVyNS06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCkpO1xuICAtLXNwYWNlcjU6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxNSwgMjU2cHgpO1xuICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDE1LCAyNTZweCkpO1xuICAtLWd1dHRlcjY6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlcikgKiA2LCAxMTJweCk7XG4gIC0tZ3V0dGVyNi06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNiwgMTEycHgpKTtcbiAgLS1zcGFjZXI2OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTgsIDMwNHB4KTtcbiAgLS1zcGFjZXI2LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxOCwgMzA0cHgpKTtcbn1cbkBzdXBwb3J0cyBub3QgKHdpZHRoOiBjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgOnJvb3Qge1xuICAgIC0tZ3V0dGVyMDogY2FsYyh2YXIoLS1ndXR0ZXIpICogMC41ICsgOHB4KTtcbiAgICAtLWd1dHRlcjAtOiBjYWxjKC0xICogY2FsYyh2YXIoLS1ndXR0ZXIpICogMC41ICsgOHB4KSk7XG4gICAgLS1zcGFjZXIwOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyICsgMTZweCk7XG4gICAgLS1zcGFjZXIwLTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDIgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIxOiBjYWxjKHZhcigtLWd1dHRlcikgKiAxICsgMTZweCk7XG4gICAgLS1ndXR0ZXIxLTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDEgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIxOiBjYWxjKHZhcigtLXNwYWNlcikgKiA0ICsgMTZweCk7XG4gICAgLS1zcGFjZXIxLTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDQgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIyOiBjYWxjKHZhcigtLWd1dHRlcikgKiAyICsgMTZweCk7XG4gICAgLS1ndXR0ZXIyLTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDIgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIyOiBjYWxjKHZhcigtLXNwYWNlcikgKiA4ICsgMTZweCk7XG4gICAgLS1zcGFjZXIyLTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDggKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIzOiBjYWxjKHZhcigtLWd1dHRlcikgKiAzICsgMTZweCk7XG4gICAgLS1ndXR0ZXIzLTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDMgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIzOiBjYWxjKHZhcigtLXNwYWNlcikgKiAxMiArIDE2cHgpO1xuICAgIC0tc3BhY2VyMy06IGNhbGMoLTEgKiBjYWxjKHZhcigtLXNwYWNlcikgKiAxMiArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIDQgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2FsYyh2YXIoLS1ndXR0ZXIpICogNCArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjQ6IGNhbGModmFyKC0tc3BhY2VyKSAqIDE2ICsgMTZweCk7XG4gICAgLS1zcGFjZXI0LTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDE2ICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyNTogY2FsYyh2YXIoLS1ndXR0ZXIpICogNSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyNS06IGNhbGMoLTEgKiBjYWxjKHZhcigtLWd1dHRlcikgKiA1ICsgMTZweCkpO1xuICAgIC0tc3BhY2VyNTogY2FsYyh2YXIoLS1zcGFjZXIpICogMjAgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2FsYyh2YXIoLS1zcGFjZXIpICogMjAgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXI2OiBjYWxjKHZhcigtLWd1dHRlcikgKiA2ICsgMTZweCk7XG4gICAgLS1ndXR0ZXI2LTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDYgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXI2OiBjYWxjKHZhcigtLXNwYWNlcikgKiAyNCArIDE2cHgpO1xuICAgIC0tc3BhY2VyNi06IGNhbGMoLTEgKiBjYWxjKHZhcigtLXNwYWNlcikgKiAyNCArIDE2cHgpKTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyLCAjNkE2QTZBKTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5Ac3VwcG9ydHMgKHdpZHRoOiBjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDEuNXZ3LCAxLjZyZW0pO1xuICB9XG59XG5Ac3VwcG9ydHMgbm90ICh3aWR0aDogY2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NTBweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbiAgfVxufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMy4xMjVlbTtcbiAgZm9udC1zaXplOiBjbGFtcCgyLjVlbSwgNXZ3LCAzLjEyNWVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuaDMge1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyLCB2YXIoLS1mb250LWNvbG91cikpO1xufVxuaDEuc3ViLWhlYWRpbmcsIGgyLnN1Yi1oZWFkaW5nLCBoMy5zdWItaGVhZGluZywgaDQuc3ViLWhlYWRpbmcsIGg1LnN1Yi1oZWFkaW5nLCBoNi5zdWItaGVhZGluZyB7XG4gIGNvbG9yOiB2YXIoLS1zdWItaGVhZGluZy1jb2xvdXIpO1xuICBmb250LWZhbWlseTogbGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuaDEgc3BhbiwgaDEgc3Ryb25nLCBoMSBwLCBoMiBzcGFuLCBoMiBzdHJvbmcsIGgyIHAsIGgzIHNwYW4sIGgzIHN0cm9uZywgaDMgcCwgaDQgc3BhbiwgaDQgc3Ryb25nLCBoNCBwLCBoNSBzcGFuLCBoNSBzdHJvbmcsIGg1IHAsIGg2IHNwYW4sIGg2IHN0cm9uZywgaDYgcCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbn1cbmEuZXh0ZXJuYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmEuZXh0ZXJuYWwgc3ZnLmV4dGVybmFsLWxpbmsge1xuICBvcGFjaXR5OiAwLjY7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xufVxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBoMSBhOmhvdmVyLCBoMiBhOmhvdmVyLCBoMyBhOmhvdmVyLCBoNCBhOmhvdmVyLCBoNiBhOmhvdmVyLCBoNiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbiAgfVxufVxuXG5wLCBhIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbn1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG5saSBhIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xuICBsaW5lLWhlaWdodDogMS44O1xufVxuXG5ociB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oci1jb2xvdXIsICNCMUIxQjEpO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuYm9keSB7XG4gIC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IGNsYW1wKDI1MHB4LCAyNXZ3LCAzMDBweCk7XG4gIC0tbmF2aWdhdGlvbi1iYXItaGVpZ2h0OiAxMDB2aDtcbiAgLS1zaWRlYmFyLXdpZHRoOiAzMHZ3O1xuICAtLXNpZGViYXItbWF4LXdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgLS1sb2dvLWhlaWdodDogMjAwcHg7XG4gIC0tZ2FwLXg6IGNsYW1wKDJyZW0sIDV2dywgOHJlbSk7XG4gIC0tZ2FwLXk6IDUwcHg7XG4gIC0tcm93LWNvbnRlbnQ6IDEgLyAtMTtcbiAgLS1yb3ctaGVhZGVyOiBjYWxjKDEgKyB2YXIoLS1jb250ZW50LW9mZnNldCwgMCkpO1xuICAtLXJvdy1tYWluOiBjYWxjKDIgKyB2YXIoLS1jb250ZW50LW9mZnNldCwgMCkpO1xufVxuYm9keVtkYXRhLXNpZGViYXI9dG9wXSB7XG4gIC0tcm93LXNpZGViYXI6IDEgLyAtMTtcbn1cbmJvZHlbZGF0YS1zaWRlYmFyPWhlYWRlcl0ge1xuICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctaGVhZGVyKSAvIC0yO1xufVxuYm9keVtkYXRhLXNpZGViYXI9Y29udGVudF0ge1xuICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctbWFpbikgLyAtMjtcbn1cbmJvZHkge1xuICAtLWNvbHVtbi1uYXZpZ2F0aW9uOiAxO1xuICAtLWNvbHVtbi1jb250ZW50OiAyO1xuICAtLWNvbHVtbi1oZWFkZXI6IDI7XG4gIC0tY29sdW1uLW1haW46IDI7XG4gIC0tY29sdW1uLXNpZGViYXI6IDM7XG4gIC0tcm93czogdmFyKC0tbG9nby1oZWlnaHQpIGF1dG8gMWZyO1xuICAtLWNvbHVtbnM6IHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpIHZhcigtLWdhcC14KTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB2YXIoLS1yb3dzKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW5zKTtcbn1cbmJvZHkgbmF2aWdhdGlvbi1iYXIge1xuICBncmlkLXJvdzogdmFyKC0tcm93LW5hdmlnYXRpb24pO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLW5hdmlnYXRpb24pO1xufVxuYm9keSBtYWluIHtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICBjb250YWluZXItbmFtZTogbWFpbjtcbn1cbmJvZHkgLmNvbnRlbnQtd3JhcHBlciB7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctY29udGVudCk7XG4gIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tY29udGVudCk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5ib2R5IHNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IHZhcigtLXJvdy1zaWRlYmFyKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbn1cbmJvZHkuaGVhdHNpbmtzLWhvbWUsIGJvZHkuY29tcG9uZW50cy1ob21lIHtcbiAgLS1yb3ctY29udGVudDogMjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgYm9keVtkYXRhLXNpZGViYXI9dG9wXSwgYm9keVtkYXRhLXNpZGViYXI9aGVhZGVyXSwgYm9keVtkYXRhLXNpZGViYXI9Y29udGVudF0ge1xuICAgIC0tY29sdW1uLXNpZGViYXI6IDI7XG4gICAgLS1yb3ctY29udGVudDogMSAvIC0yO1xuICB9XG4gIGJvZHlbZGF0YS1zaWRlYmFyPXRvcF0gc2lkZS1iYXIsIGJvZHlbZGF0YS1zaWRlYmFyPWhlYWRlcl0gc2lkZS1iYXIsIGJvZHlbZGF0YS1zaWRlYmFyPWNvbnRlbnRdIHNpZGUtYmFyIHtcbiAgICAtLXJvdy1zaWRlYmFyOiBjYWxjKHZhcigtLXJvdy1jb250ZW50KSArIDMpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keSB7XG4gICAgcGxhY2UtY29udGVudDogc3RhcnQ7XG4gICAgLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQ6IDYwcHg7XG4gICAgLS1uYXZpZ2F0aW9uLW1vYmlsZS1zZWFyY2gtaGVpZ2h0OiA2MXB4O1xuICAgIC0tcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgIC0tY29sdW1uczogMCBtaW5tYXgoMCwgMWZyKSAwO1xuICAgIC0tcm93LW5hdmlnYXRpb246IDE7XG4gICAgLS1jb2x1bW4tbmF2aWdhdGlvbjogMSAvIC0xO1xuICB9XG4gIGJvZHk6bm90KC5oZWF0c2lua3MtaG9tZSwgLmNvbXBvbmVudHMtaG9tZSkge1xuICAgIC0tcm93LWNvbnRlbnQ6IDIgLyBzcGFuIDMgIWltcG9ydGFudDtcbiAgfVxuICBib2R5ID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgYm9keSBtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgfVxufVxuYm9keS5tb2JpbGUtb3BlbiwgYm9keS5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS43O1xufVxuLmNvbnRlbnQgdWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzREE0QjBGJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uY29udGVudCB1bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcbn1cbi5jb250ZW50IHVsID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgY2FsYyh2YXIoLS1nYXApICogMC41KSk7XG59XG4uY29udGVudCB1bCA+IGxpOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMC4xZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbiAgaGVpZ2h0OiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG59XG4uY29udGVudCBvbCB7XG4gIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XG59XG4uY29udGVudCBvbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbGlzdC1zdHlsZS1vZmZzZXQsIDApO1xufVxuLmNvbnRlbnQgb2wgPiBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbi5jb250ZW50IG9sID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoY291bnRlcikgXCIuXCI7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBjb3VudGVyO1xuICBjb2xvcjogdmFyKC0tbGlzdC1zdHlsZS1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi5jb250ZW50IGgzIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4uY29udGVudCA+ICoge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuLmNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNvbnRlbnQgPiB1bCwgLmNvbnRlbnQgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG4uY29udGVudCBoMSwgLmNvbnRlbnQgaDIsIC5jb250ZW50IGgzLCAuY29udGVudCBoNCwgLmNvbnRlbnQgaDYsIC5jb250ZW50IGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbn1cbi5jb250ZW50IGgxICsgaDEsIC5jb250ZW50IGgxICsgaDIsIC5jb250ZW50IGgxICsgaDMsIC5jb250ZW50IGgxICsgaDQsIC5jb250ZW50IGgxICsgaDUsIC5jb250ZW50IGgxICsgaDYsIC5jb250ZW50IGgyICsgaDEsIC5jb250ZW50IGgyICsgaDIsIC5jb250ZW50IGgyICsgaDMsIC5jb250ZW50IGgyICsgaDQsIC5jb250ZW50IGgyICsgaDUsIC5jb250ZW50IGgyICsgaDYsIC5jb250ZW50IGgzICsgaDEsIC5jb250ZW50IGgzICsgaDIsIC5jb250ZW50IGgzICsgaDMsIC5jb250ZW50IGgzICsgaDQsIC5jb250ZW50IGgzICsgaDUsIC5jb250ZW50IGgzICsgaDYsIC5jb250ZW50IGg0ICsgaDEsIC5jb250ZW50IGg0ICsgaDIsIC5jb250ZW50IGg0ICsgaDMsIC5jb250ZW50IGg0ICsgaDQsIC5jb250ZW50IGg0ICsgaDUsIC5jb250ZW50IGg0ICsgaDYsIC5jb250ZW50IGg2ICsgaDEsIC5jb250ZW50IGg2ICsgaDIsIC5jb250ZW50IGg2ICsgaDMsIC5jb250ZW50IGg2ICsgaDQsIC5jb250ZW50IGg2ICsgaDUsIC5jb250ZW50IGg2ICsgaDYsIC5jb250ZW50IGg2ICsgaDEsIC5jb250ZW50IGg2ICsgaDIsIC5jb250ZW50IGg2ICsgaDMsIC5jb250ZW50IGg2ICsgaDQsIC5jb250ZW50IGg2ICsgaDUsIC5jb250ZW50IGg2ICsgaDYge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuLmNvbnRlbnQgYSB7XG4gIC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCkgO1xufVxuXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT1udW1iZXJdLCBpbnB1dFt0eXBlPXNlYXJjaF0sIHNlbGVjdCwgdGV4dGFyZWEge1xuICAtLWZvbnQtY29sb3VyOiAjNkE2QTZBO1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjRkZGRkZGO1xuICAtLXBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDEuNSkgdmFyKC0tZ2FwKTtcbiAgLS1ib3JkZXItY29sb3VyOiAjZTllOWU5O1xuICAtLWJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTsgLyogT3BlcmEgMTAuNSwgSUUgOSwgU2FmYXJpIDUsIENocm9tZSwgRmlyZWZveCA0LCBpT1MgNCwgQW5kcm9pZCAyLjErICovXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsgLyogU2FmYXJpIDMtNCwgaU9TIDEtMy4yLCBBbmRyb2lkIDEuNi0gKi9cbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwOyAvKiBGaXJlZm94IDEtMy42ICovXG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZyk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCB0cmFuc3BhcmVudDtcbn1cbmlucHV0W3R5cGU9dGV4dF06OnBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPWVtYWlsXTo6cGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9bnVtYmVyXTo6cGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIsIHNlbGVjdDo6cGxhY2Vob2xkZXIsIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuaW5wdXRbdHlwZT10ZXh0XTpub3Qoc2VsZWN0KSwgaW5wdXRbdHlwZT1lbWFpbF06bm90KHNlbGVjdCksIGlucHV0W3R5cGU9bnVtYmVyXTpub3Qoc2VsZWN0KSwgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdChzZWxlY3QpLCBzZWxlY3Q6bm90KHNlbGVjdCksIHRleHRhcmVhOm5vdChzZWxlY3QpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbmlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLFxuc2VsZWN0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAxcHggcmdiYSgyMjMsIDQ4LCA1MywgMC4zKTtcbn1cblxuaW5wdXRbdHlwZT1zdWJtaXRdLCBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0taWNvbi1zaXplOiAwLjhlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMS4yNXJlbSAzcmVtIDEuMjVyZW0gNHJlbTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAxNXB4IDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdID4gc3ZnLCBidXR0b25bdHlwZT1zdWJtaXRdID4gc3ZnIHtcbiAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcbn1cbmlucHV0W3R5cGU9c3VibWl0XVtkaXNhYmxlZF0sIGJ1dHRvblt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmlucHV0W3R5cGU9c3VibWl0XTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGJ1dHRvblt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpiZWZvcmUsIGJ1dHRvblt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlIC0gMTVweCkpO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdLnNtYWxsLCBidXR0b25bdHlwZT1zdWJtaXRdLnNtYWxsIHtcbiAgcGFkZGluZzogMC45cmVtIDJyZW0gMC45cmVtIDNyZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XS5sYXJnZSwgYnV0dG9uW3R5cGU9c3VibWl0XS5sYXJnZSB7XG4gIHBhZGRpbmc6IDEuNHJlbSAzcmVtIDEuNHJlbSA0LjI1cmVtO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF06OmJlZm9yZSwgYnV0dG9uW3R5cGU9c3VibWl0XTo6YmVmb3JlIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCBjYWxjKDEwMCUgLSAxNXB4KSAxMDAlKTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM2QTZBNkEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gdmFyKC0tZ2FwKSkgY2VudGVyO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG59XG5zZWxlY3Qgb3B0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmlucHV0LWNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbiAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uaW5wdXQtY29udGFpbmVyOm5vdCgucmFkaW8sIC5jaGVja2JveCkge1xuICAtLWxhYmVsLWNvbG91cjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWxhYmVsLWFjdGl2ZS1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxcmVtO1xufVxuLmlucHV0LWNvbnRhaW5lcjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWxhYmVsLWNvbG91cik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLmlucHV0LWNvbnRhaW5lcjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIHtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbn1cbi5pbnB1dC1jb250YWluZXI6bm90KC5yYWRpbywgLmNoZWNrYm94KSBpbnB1dFttYXhsZW5ndGhdLCAuaW5wdXQtY29udGFpbmVyOm5vdCgucmFkaW8sIC5jaGVja2JveCkgaW5wdXRbc2l6ZV0ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IHtcbiAgLS1sYWJlbC1jb2xvdXI6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgLS1sYWJlbC1hY3RpdmUtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMXJlbTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWwsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWwge1xuICBjb2xvcjogdmFyKC0tbGFiZWwtY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IHtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgLS1pbnB1dC13aWR0aDogMS4yZW07XG4gIC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzczogMXB4O1xuICAtLWlucHV0LWFjdGl2ZS1jb2xvdXI6ICNERjMwMzU7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGxhYmVsIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDo6YWZ0ZXIsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBncmlkLXJvdzogMTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjpiZWZvcmUsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIHdpZHRoOiB2YXIoLS1pbnB1dC13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0taW5wdXQtd2lkdGgpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci10aGlja25lc3MsIDFweCkgc29saWQgIzk2OTY5NTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjphZnRlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogY2FsYyh2YXIoLS1pbnB1dC13aWR0aCkgLSB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzKSAqIDYpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0taW5wdXQtd2lkdGgpIC0gdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcykgKiA2KTtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG4gIG9wYWNpdHk6IDA7XG4gIGxlZnQ6IC0xMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6aG92ZXIsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICAtLWxhYmVsLWNvbG91cjogdmFyKC0tbGFiZWwtYWN0aXZlLWNvbG91cik7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOmhvdmVyOjpiZWZvcmUsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGlucHV0LCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBpbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDo6YmVmb3JlLCAuaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm11bHRpLWlucHV0IHtcbiAgLS1pbnB1dC1zcGFjaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLWlucHV0LXNwYWNpbmcpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG59XG4ubXVsdGktaW5wdXQgaW5wdXRbdHlwZT10ZXh0XTpub3Qoc2VsZWN0KSwgLm11bHRpLWlucHV0IGlucHV0W3R5cGU9ZW1haWxdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgaW5wdXRbdHlwZT1udW1iZXJdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgc2VsZWN0Om5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgdGV4dGFyZWE6bm90KHNlbGVjdCkge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLm11bHRpLWlucHV0ID4gKjpub3Qoc2VsZWN0LCBidXR0b24sIGEpIHtcbiAgZmxleDogMTtcbn1cbi5tdWx0aS1pbnB1dCBzZWxlY3QsIC5tdWx0aS1pbnB1dCBidXR0b24sIC5tdWx0aS1pbnB1dCBhIHtcbiAgLS1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLm11bHRpLWlucHV0IHNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNGRkZGRkYnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5yYWRpby10YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwO1xufVxucmFkaW8tdGFicyByYWRpby10YWIgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWFjY2VudCk7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dDpub3QoOmNoZWNrZWQpICsgbGFiZWw6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtYWNjZW50KTtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxucmFkaW8tdGFicyByYWRpby10YWIgbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuZm9ybSBbdHlwZT1zdWJtaXRdIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbmZvcm0gW2RhdGEtZnJlZWZvcm0tY29udHJvbHNdIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbmZvcm06aW52YWxpZCBbdHlwZT1zdWJtaXRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG5mb3JtW2RhdGEtZnJlZWZvcm1dIGgzLCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg0LCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg1LCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg2IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mZi1mb3JtLXN1Y2Nlc3Mge1xuICAtLWZvbnQtY29sb3VyOiAjNTBCQzA4O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjM1MEJDMDgnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwKTtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxLjI1ZW07XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mZi1mb3JtLWVycm9ycyB7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZmYtZXJyb3JzIHtcbiAgLS1mb250LWNvbG91cjogI0RGMzAzNTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMnJlbTtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBoMywgZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uIGg0LCBmb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gaDUsIGZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBoNiB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uLmZyZWVmb3JtLWNvbHVtbi1jb250ZW50LWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gIG9wYWNpdHk6IDAuNztcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpICsgLmZyZWVmb3JtLWlucHV0IHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyByZXF1aXJlZC1ub3RpY2Uge1xuICAtLW5vdGljZS1jb2xvdXI6ICNERjMwMzU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiB2YXIoLS1ub3RpY2UtY29sb3VyKTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIHJlcXVpcmVkLW5vdGljZSBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgb3BhY2l0eTogMDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMsIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB7XG4gIG9yZGVyOiAxMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjApIHZhcigtLWd1dHRlcjEpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tZXJyb3JzIHAsIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMgdWwgbGksIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB1bCBsaSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tZXJyb3JzIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMyMThiMDA7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIHtcbiAgLS1zdWJtaXQtaGVpZ2h0OiA0MXB4O1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyAubWVzc2FnZSwgZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgLnN1Ym1pdC1yb3csIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5tZXNzYWdlLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyB7XG4gIGdyaWQtcm93OiA1O1xuICBncmlkLWNvbHVtbjogMTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5tZXNzYWdlIC5mcmVlZm9ybS1jb2x1bW4sIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5tZXNzYWdlIC5mcmVlZm9ybS1jb2x1bW4ge1xuICBkaXNwbGF5OiBncmlkO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgdGV4dGFyZWFbbmFtZT1tZXNzYWdlXSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgdGV4dGFyZWFbbmFtZT1tZXNzYWdlXSB7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDQxcHggKyB2YXIoLS1nYXApKTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93LCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyB7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IGF1dG8gMCAwIGF1dG87XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyBidXR0b24sIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93IGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB6LWluZGV4OiAyO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jcmVkaXRBcHBsaWNhdGlvbl0gLmZyZWVmb3JtLXJvdzpudGgtbGFzdC1vZi10eXBlKC1uKzIpLCBmb3JtW2RhdGEtaGFuZGxlPWNyZWRpdEFwcGxpY2F0aW9uXSAuZnJlZWZvcm0tcm93Om50aC1sYXN0LW9mLXR5cGUoLW4rMSkge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jcmVkaXRBcHBsaWNhdGlvbl0gLmZyZWVmb3JtLXJvdzpsYXN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5odG1sIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcbn1cbmJvZHkjc2VhcmNoIC5zdWJoZWFkaW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtO1xufVxuYm9keSNzZWFyY2ggLnN1YmhlYWRpbmcgdSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuZmlndXJlLmltYWdlLCBwaWN0dXJlLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLXBvc2l0aW9uLCBjZW50ZXIgMzMlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZmlndXJlLmltYWdlIGltZywgcGljdHVyZS5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS1pbWFnZS1wb3NpdGlvbiwgY2VudGVyIDMzLjMzJSk7XG4gIHdpZHRoOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG4gIGhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG4gIG1heC1oZWlnaHQ6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxudmlkZW8tY29udGFpbmVyIHtcbiAgLS1hc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0LXJhdGlvKTtcbn1cbkBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYvOSkge1xuICB2aWRlby1jb250YWluZXIge1xuICAgIGFzcGVjdC1yYXRpbzogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gKHZhcigtLWFzcGVjdC1yYXRpbykpKTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgdmlkZW8tY29udGFpbmVyID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG52aWRlby1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG52aWRlby1jb250YWluZXIgaWZyYW1lLCB2aWRlby1jb250YWluZXIgY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk1RkY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpIC8gMik7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuZGV0YWlscyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5kZXRhaWxzW29wZW5dIHN1bW1hcnkgPiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbnN1bW1hcnkge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRlIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0taWNvbi1zaXplOiAwLjhlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMS4yNXJlbSAzcmVtIDEuMjVyZW0gNHJlbTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAxNXB4IDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xufVxuLmJ1dHRvbiA+IHN2ZyB7XG4gIHdpZHRoOiB2YXIoLS1pY29uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSk7XG59XG4uYnV0dG9uW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDEwMCUgLSAxNXB4KSk7XG59XG4uYnV0dG9uLnNtYWxsIHtcbiAgcGFkZGluZzogMC45cmVtIDJyZW0gMC45cmVtIDNyZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5idXR0b24ubGFyZ2Uge1xuICBwYWRkaW5nOiAxLjRyZW0gM3JlbSAxLjRyZW0gNC4yNXJlbTtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLmJ1dHRvbjo6YmVmb3JlIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCBjYWxjKDEwMCUgLSAxNXB4KSAxMDAlKTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuLmJ1dHRvbiBzdmcsIGJ1dHRvbiBzdmcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxucGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVzdWx0LWl0ZW0ge1xuICAtLWhlYWRpbmctY29sb3VyOiAjMTMxZjZiO1xuICAtLWJvcmRlci10aGlja25lc3M6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHg7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6IHdoaXRlO1xuICAtLXBhZGRpbmc6IDJyZW07XG4gIC0tcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmcpO1xuICAtLWltYWdlLXdpZHRoOiAxMDBweDtcbiAgLS1pbWFnZS1oZWlnaHQ6IDEwMHB4O1xuICAtLWdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctdG9wKSB2YXIoLS1wYWRkaW5nLXJpZ2h0KSB2YXIoLS1wYWRkaW5nLWJvdHRvbSkgdmFyKC0tcGFkZGluZy1sZWZ0KTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItdGhpY2tuZXNzKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApIHZhcigtLWdyaWQtZ2FwKTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LWltYWdlIHtcbiAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC1pbWFnZSBwaWN0dXJlIHtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1oZWlnaHQpO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtaW1hZ2UgcGljdHVyZSBpbWcge1xuICB3aWR0aDogdmFyKC0taW1hZ2UtaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS13aWR0aCk7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC10aXRsZSB7XG4gIGdyaWQtYXJlYTogdGl0bGU7XG4gIGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cik7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC10aXRsZSBhIHtcbiAgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LXN1YnRpdGxlIHtcbiAgZ3JpZC1hcmVhOiBzdWJ0aXRsZTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LWJvZHkge1xuICBncmlkLWFyZWE6IGJvZHk7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyB7XG4gIC0tcGFkZGluZzogNHJlbTtcbiAgLS1ib3JkZXItdGhpY2tuZXNzOiAwO1xuICAtLWJvcmRlci1yYWRpdXM6IDA7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic3VidGl0bGVcIiBcInRpdGxlXCIgXCJib2R5XCI7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogLTE7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtaW1hZ2U6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCB3aGl0ZSA0NSUsIHRyYW5zcGFyZW50IDEyMCUpO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgdGltZSB7XG4gIGNvbG9yOiAjREYzMDM1O1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0RGMzAzNTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUgaDQsIC5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUgdGltZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlIHRpbWUge1xuICBjb2xvcjogIzk2OTY5NTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtYm9keSB7XG4gIC0tZm9udC1jb2xvdXI6ICMxRTFBMUE7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZy5mZWF0dXJlZCB7XG4gIC0tcGFkZGluZy1yaWdodDogNXJlbTtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cuZmVhdHVyZWQgLnJlc3VsdC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cuZmVhdHVyZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiRkVBVFVSRURcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAycmVtIDAuN3JlbSAzcmVtO1xuICBoZWlnaHQ6IDM5cHg7XG4gIGJhY2tncm91bmQ6ICNlZDYyMjQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMC41cHgpIHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAxNXB4IDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSwgLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1ib2R5IHtcbiAgei1pbmRleDogMjtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjp0cmFuc3BhcmVudDtcbiAgLS1mb250LWNvbG91cjp3aGl0ZTtcbiAgLS1oZWFkaW5nLWNvbG91cjogd2hpdGU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMCAwIHZhcigtLWd1dHRlcjApIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1yZXN1bHQtaXRlbS1ib3JkZXItYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikpO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3IgLnJlc3VsdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNsYW1wKDE0MHB4LCA0MHZ3LCAxODBweCk7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pbWFnZS1vdXRsaW5lLWNvbG91ciwgdHJhbnNwYXJlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogdmFyKC0taW1hZ2Utb3V0bGluZS1vZmZzZXQsIDAuMWVtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvdXRsaW5lLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBvdXRsaW5lLW9mZnNldCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIC5yZXN1bHQtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3I6aG92ZXIge1xuICAtLWltYWdlLW91dGxpbmUtY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIC0taW1hZ2Utb3V0bGluZS1vZmZzZXQ6IDAuM2VtO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3I6aG92ZXIgLnJlc3VsdC10aXRsZSBhIHtcbiAgY29sb3I6ICNERjMwMzU7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciAucmVzdWx0LXRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIC5yZXN1bHQtdGl0bGUgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3IgLnJlc3VsdC10aXRsZSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbn1cbmJvZHlbZGF0YS10aGVtZT13aGl0ZV0gLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3Ige1xuICAtLXJlc3VsdC1pdGVtLWJvcmRlci1ib3R0b206IHJnYmEoMTksIDMxLCAxMDcsIDAuMik7XG4gIC0tZm9udC1jb2xvdXI6IzEzMWY2YjtcbiAgLS1oZWFkaW5nLWNvbG91cjogIzEzMWY2Yjtcbn1cbmJvZHlbZGF0YS10aGVtZT13aGl0ZV0gLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3I6aG92ZXIge1xuICAtLWltYWdlLW91dGxpbmUtY29sb3VyOiByZ2JhKDE5LCAzMSwgMTA3LCAwLjIpO1xufVxuXG5ib2R5I21hcmtldC1zZWN0b3JzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBtYXJrZXQtc2VjdG9yO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAucmVzdWx0LWl0ZW0ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAucmVzdWx0LWl0ZW0gYS5kZXRhaWxzOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzOmhvdmVyIC5yZXN1bHQtaW1hZ2Uge1xuICAtLWltYWdlLW91dGxpbmUtY29sb3VyOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAtLWltYWdlLW91dGxpbmUtb2Zmc2V0OjAgIWltcG9ydGFudDtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNS45NjA3ODQzMTM3JSwgOS43MjU0OTAxOTYxJSwgMzMuNTY4NjI3NDUxJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjIwcHg7XG4gIHdpZHRoOiB2YXIoLS1tYXJrZXQtc2VjdG9yLWFydGljbGUtd2lkdGgsIGNhbGMoMjAwJSArIHZhcigtLWd1dHRlcjEpICsgMnB4KSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGRpc3BsYXkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICkgYWxsb3ctZGlzY3JldGU7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLXRleHQge1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMgLmRldGFpbHMtaGVhZGluZyB7XG4gIGNvbG9yOiAjREYzMDM1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1pbWFnZSB7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAzNSUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1pbWFnZSAuZGV0YWlscy1saW5rIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuQGNvbnRhaW5lciBtYXJrZXQtc2VjdG9yICggd2lkdGggPCA0MjBweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIHtcbiAgICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIC5kZXRhaWxzLWxpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSAuZGV0YWlscyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIEBzdGFydGluZy1zdHlsZSB7XG4gICAgYm9keSNtYXJrZXQtc2VjdG9ycyAucmVzdWx0LWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgLmRldGFpbHMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHdpZHRoID4gMjA1MHB4KSB7XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIC5kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuYm9keSNtYXJrZXQtc2VjdG9ycyBhcnRpY2xlLWdyaWQ6aGFzKC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSkgLnJlc3VsdC1pdGVtOm5vdCg6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkpIHtcbiAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG59XG5AY29udGFpbmVyIG1haW4gKCB3aWR0aCA8IDY2MHB4KSB7XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgYXJ0aWNsZS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICAgIC0tbWFya2V0LXNlY3Rvci1hcnRpY2xlLXdpZHRoOiAxMDAlO1xuICB9XG59XG5AY29udGFpbmVyIG1haW4gKDY2MHB4IDwgd2lkdGggPCA5NjRweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIGFydGljbGUtZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDJuKSAuZGV0YWlscyB7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQGNvbnRhaW5lciBtYWluICggd2lkdGggPiA5NjRweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIGFydGljbGUtZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDNuKSAuZGV0YWlscyB7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCB7XG4gIC0tYmFkZ2Utc3BhY2luZzogM3JlbTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1pbWFnZS13aWR0aCkgYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSB0aXRsZVwiIFwiaW1hZ2UgdGl0bGVcIiBcImltYWdlIGRhdGFcIiBcImltYWdlIGRhdGFcIjtcbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0IC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtaXRlbS5wcm9kdWN0IC5yZXN1bHQtYm9keSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYmFkZ2Utc3BhY2luZykgKiAyKTtcbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0IC5wcm9kdWN0LWRhdGEge1xuICBncmlkLWFyZWE6IGRhdGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpIHZhcigtLWdhcCk7XG59XG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgLnJlc3VsdC1pdGVtLnByb2R1Y3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaW1hZ2UgXCIgXCJ0aXRsZVwiIFwiZGF0YVwiO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdW5zZXQ7XG4gIH1cbiAgLnJlc3VsdC1pdGVtLnByb2R1Y3QgLnByb2R1Y3QtZGF0YSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LWJvZHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0LmluLXN0b2NrOjpiZWZvcmUge1xuICAtLXBhZGRpbmcteTogMC4yZW07XG4gIC0tcGFkZGluZy14OiAxMGVtO1xuICBjb250ZW50OiBcImluIHN0b2NrXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDFlbSArIHZhcigtLXBhZGRpbmcteSkpO1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLXBhZGRpbmcteCkpO1xuICBwYWRkaW5nOiAwLjVlbSB2YXIoLS1wYWRkaW5nLXgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnJlc3VsdC1pdGVtLnBhZ2Uge1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlIHRpdGxlXCIgXCJpbWFnZSBib2R5XCIgXCJpbWFnZSBib2R5XCIgXCJpbWFnZSBib2R5XCI7XG59XG4ucmVzdWx0LWl0ZW0ucGFnZSAucmVzdWx0LWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4udGFnW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udGFnLmNhdGVnb3J5IHtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHg7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG4gIC0tYmctY29sb3VyOiB3aGl0ZTtcbiAgLS1zZWNvbmRhcnktd2lkdGg6IDNjaDtcbiAgLS1zZWNvbmRhcnktcGFkZGluZy14OiAzcHg7XG4gIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG91cik7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnRhZy5jYXRlZ29yeSAudGFnLWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IHZhcigtLWdhcCkgM3B4IHZhcigtLWdhcCk7XG59XG4udGFnLmNhdGVnb3J5IHtcbiAgLS1ib3JkZXItY29sb3VyOiAjREYzMDM1O1xuICAtLXN5bWJvbC1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNhdGVnb3J5IC50YWctc2Vjb25kYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgdmFyKC0tc2Vjb25kYXJ5LXBhZGRpbmcteCk7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDNjaDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4udGFnLmNhdGVnb3J5IC50YWctc2Vjb25kYXJ5IHN2ZyB7XG4gIHdpZHRoOiA1MCU7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLnRhZy5jYXRlZ29yeSAudGFnLXNlY29uZGFyeTpob3ZlciB7XG4gIC0tc3ltYm9sLWNvbG91cjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCB7XG4gIC0tYm9yZGVyLXJhZGl1czogMHB4O1xuICAtLWZvbnQtY29sb3VyOiAjREYzMDM1O1xuICAtLWJnLWNvbG91cjogd2hpdGU7XG4gIC0tc2Vjb25kYXJ5LXdpZHRoOiAzY2g7XG4gIC0tc2Vjb25kYXJ5LXBhZGRpbmcteDogM3B4O1xuICAtLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCAudGFnLWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IHZhcigtLWdhcCkgM3B4IHZhcigtLWdhcCk7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwge1xuICAtLXN5bWJvbC1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwgLnRhZy1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCB2YXIoLS1zZWNvbmRhcnktcGFkZGluZy14KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogM2NoO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCAudGFnLXNlY29uZGFyeSBzdmcge1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbDpob3ZlciB7XG4gIC0tYm9yZGVyLWNvbG91cjogI0RGMzAzNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRhZy5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gbGFiZWwge1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1iZy1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiBsYWJlbCAudGFnLXNlY29uZGFyeSB7XG4gIC0tc3ltYm9sLWNvbG91cjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cblxudGFibGUtY29udGFpbmVyIC5oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB7XG4gIC0tY2VsbC1wYWRkaW5nLXk6IDFyZW07XG4gIC0tY2VsbC1wYWRkaW5nLXg6IDEuNXJlbTtcbiAgLS1jZWxsLXBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZy15KSB2YXIoLS1jZWxsLXBhZGRpbmcteCk7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSk7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkKCkge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTY5Njk1O1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZyk7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRoIHtcbiAgcGFkZGluZzogdmFyKC0tY2VsbC1wYWRkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUudmVydGljYWwgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZS5wcm9kdWN0LXNwZWNzIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUucHJvZHVjdC1zcGVjcyB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlLnJlbGF0ZWQtcHJvZHVjdHMgYSB7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG59XG5cbm1haW4gPiAuc25pcHBldCBhIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KSA7XG59XG5cbm5hdmlnYXRpb24tYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1nYXApICogMikgdmFyKC0tZ2FwLXkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZCk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgei1pbmRleDogMTUwMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG5uYXZpZ2F0aW9uLWJhciBhLCBuYXZpZ2F0aW9uLWJhciBidXR0b24ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG59XG5uYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiA5NSU7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWxvZ28taGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1sb2dvLWhlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbn1cbm5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28gPiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWxvZ28pO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nby5sb2dvLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIgZ2xvYmFsLXNlYXJjaC1kZXNrdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB7XG4gIC0tZmFsbGJhY2stbWF4LWhlaWdodDogNjAwcHg7XG4gIC0tYmFzZS1zcGFjaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGluayB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSkgMDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGluazpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLnRvcC1sZXZlbC1saW5rLmhhcy1jaGlsZHJlbiA+IGE6aG92ZXIgc3ZnIHtcbiAgb3BhY2l0eTogMTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC5zdWItbWVudSBsaSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSAvIDIpIDA7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyAuc3ViLW1lbnUgbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC5zdWItbWVudSBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSBhIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIGE6bm90KC5hY3RpdmUpIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYS5hY3RpdmUge1xuICAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYS5hY3RpdmU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYSA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1uYXYtZm9udCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG9wYWNpdHk6IDAuMjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIHVsIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjMyNXM7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgdWwgbGkgYTpub3QoLmFjdGl2ZSkge1xuICBvcGFjaXR5OiAwLjU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBuYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSB1bCBsaSBhOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkuaGFzLWNoaWxkcmVuID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpLmhhcy1jaGlsZHJlbi5vcGVuID4gYSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpLmhhcy1jaGlsZHJlbi5vcGVuID4gdWwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1saW5rLW1heC1oZWlnaHQsIHZhcigtLWZhbGxiYWNrLW1heC1oZWlnaHQpKTtcbiAgb3BhY2l0eTogMTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGlua3MgPiBsaSA+IGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLm1vYmlsZS1saW5rLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWd1dHRlcjMpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBhLCBuYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBhIHN2ZywgbmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24gc3ZnIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjVweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uLm1lbnUge1xuICAtLXN5bWJvbC1jb2xvdXI6IHZhcigtLXRoZW1lLW5hdi1mb250LCB3aGl0ZSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbi5tZW51IHN2ZyB7XG4gIC0tY29ybmVyLW9mZnNldDogMTBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uLm1lbnUgc3ZnIHBvbHlnb24ge1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMTQwcHggMjBweCwgMCAyMHB4LCB2YXIoLS1jb3JuZXItb2Zmc2V0LCAxMHB4KSAwLCAxNDBweCAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgMzAlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMikge1xuICBvcGFjaXR5OiAxO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMykge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgNzAlO1xufVxubmF2aWdhdGlvbi1iYXIgLmV4dHJhLWxpbmtzIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuICAtLWxpbmstc3BhY2luZzogdmFyKC0tZ2FwKTtcbiAgLS1vcGFjaXR5OiAwLjY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5KTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDFyZW07XG59XG5uYXZpZ2F0aW9uLWJhciAuZXh0cmEtbGlua3MgbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxY2g7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5uYXZpZ2F0aW9uLWJhciAuZXh0cmEtbGlua3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIge1xuICAgIC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IDEwMCU7XG4gICAgLS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIC0tbG9nby1oZWlnaHQ6IDEwMCU7XG4gICAgLS1yb3ctcGFkZGluZzogMXJlbSB2YXIoLS1nYXAteCk7XG4gICAgLS10aGVtZS1uYXYtZm9udDogdmFyKC0tdGhlbWUtbmF2LWZvbnQtbW9iKTtcbiAgICAtLXRoZW1lLWxvZ286IHZhcigtLXRoZW1lLW5hdi1mb250LW1vYik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyLCBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcbiAgICBoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1uYXZpZ2F0aW9uLW1vYmlsZS1zZWFyY2gtaGVpZ2h0KSAtIDBweCk7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSBmb3JtIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIGZvcm0gc2VsZWN0IHtcbiAgICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAgIC0tYmFja2dyb3VuZC1jb2xvdXI6ICNERjMwMzU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyKTtcbiAgICB6LWluZGV4OiAxNTAwO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ubG9nby1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ubG9nby1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIgYS5sb2dvIHN2ZyB7XG4gICAgd2lkdGg6IHVuc2V0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDBweCk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC15KSB2YXIoLS1nYXAteCkgdmFyKC0tbmF2aWdhdGlvbi1jb250YWluZXItaGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYgLnRvcC1sZXZlbC1saW5rcyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBib2R5Lm1vYmlsZS1zZWFyY2gtb3BlbiBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgbmF2IHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIG5hdiAudG9wLWxldmVsLWxpbmtzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSkgMC4zcztcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUgc3ZnIHtcbiAgICAtLWNvcm5lci1vZmZzZXQ6IDA7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgxKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlWSg4MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlWSg4MCUpO1xuICB9XG4gIGJvZHkubW9iaWxlLW5hdmlnYXRpb24tb3BlbiBuYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMikge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgzKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZVkoODAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGVZKDgwJSk7XG4gIH1cbn1cbi5oZWF0c2lua3MtaG9tZSBoZWFkZXIuaGVhZGVyLFxuLmNvbXBvbmVudHMtaG9tZSBoZWFkZXIuaGVhZGVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHMgMC4ycztcbn1cblxuLmhlYWRlciB7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogMTAwMDtcbn1cbi5oZWFkZXIgLmhlYWRpbmcsXG4uaGVhZGVyIC5zdWJoZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5oZWFkZXIgLmhlYWRpbmcge1xuICBvcmRlcjogMjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi5oZWFkZXIgLnN1YmhlYWRpbmcge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cbi5oZWFkZXIgLnN1YmhlYWRpbmcgYSB7XG4gIC0taGVhZGluZy1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xufVxuLmhlYWRlciAuc25pcHBldCB7XG4gIG9yZGVyOiAzO1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIC5oZWFkZXIgLnNuaXBwZXQge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICB9XG59XG4uaGVhZGVyLnRyYW5zaXRpb24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xuICB6LWluZGV4OiAxMDAwO1xufVxubWFpbiBjb250ZW50LWJsb2NrcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG59XG5tYWluIGNvbnRlbnQtYmxvY2tzIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xufVxuYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9c2Nyb2xsLWJhcl0pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMXB4KSB7XG4gIG1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAteSk7XG4gIH1cbn1cblxuc2lkZS1iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaWRlYmFyLW1heC13aWR0aCk7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbn1cbnNpZGUtYmFyIGRpdi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuQG1lZGlhICh3aWR0aCA+IDE0MDBweCkge1xuICBzaWRlLWJhciBkaXYuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiB1bnNldDtcbiAgfVxufVxuc2lkZS1iYXIuZnJlZSB7XG4gIC0tY29udGFpbmVyLXBhZGRpbmc6IDRyZW07XG59XG5zaWRlLWJhci5jb250YWluID4gZGl2IHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXgpO1xufVxuc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9c3RpY2t5XSB7XG4gIC0tc3RpY2t5LXNwYWNpbmc6IDA7XG59XG5zaWRlLWJhcltkYXRhLWJlaGF2aW91cj1zdGlja3ldLmNvbnRhaW4ge1xuICAtLXN0aWNreS1zcGFjaW5nOiB2YXIoLS1nYXAteSk7XG59XG5zaWRlLWJhcltkYXRhLWJlaGF2aW91cj1zdGlja3ldID4gZGl2IHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiB2YXIoLS1zdGlja3ktc3BhY2luZyk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPXN0aWNreV0gPiBkaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgc2lkZS1iYXI6bm90KFtkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSkge1xuICAgIC0tc2lkZWJhci1tYXgtd2lkdGg6IDEwMCU7XG4gICAgLS1zaWRlYmFyLXdpZHRoOiAxMDAlO1xuICB9XG4gIHNpZGUtYmFyOm5vdChbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0pID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcC15KSAqIDIpO1xuICB9XG4gIHNpZGUtYmFyLmNvbnRhaW4gPiBkaXYge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbnNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdIHtcbiAgei1pbmRleDogMTc1MDtcbiAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuN3MgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpLCB0cmFuc2Zvcm0gMC43cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpLCB0b3AgMC40cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbnNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdID4gZGl2IHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgd2lkdGg6IG1pbigxMDB2dywgNDAwcHgpO1xuICAgIG1heC13aWR0aDogbWluKDEwMHZ3LCA0MDBweCk7XG4gIH1cbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0uYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSAub3Blbi10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0gLmNsb3NlLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbnBhZ2UtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZCk7XG4gIHotaW5kZXg6IDUwMDtcbn1cbnBhZ2UtYmFja2dyb3VuZDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogNTAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIHBhZ2UtYmFja2dyb3VuZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5wYWdlLWJhY2tncm91bmQgdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvcGFjaXR5OiAwLjM7XG59XG5wYWdlLWJhY2tncm91bmQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbnBhZ2UtYmFja2dyb3VuZCBpbWcubG9nbyB7XG4gIG9wYWNpdHk6IDAuMDM7XG59XG5wYWdlLWJhY2tncm91bmQgaW1nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDQwJSwgIzEyMTUyQiAxMDAlKTtcbiAgei1pbmRleDogNTAwIC0xO1xufVxuXG5ib2R5Om5vdCgjaG9tZSkgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbn1cbmJvZHk6bm90KCNob21lKSAuY29udGVudC13cmFwcGVyIGhlYWRlcjpub3QoLmhhcy1zdWJoZWFkaW5nKSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpO1xufVxuYm9keTpub3QoI2hvbWUpIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyLmhhcy1zdWJoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtMS44NSAqIHZhcigtLWdhcC15KSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keTpub3QoI2hvbWUpIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyID4gaDEsIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgcCB7XG4gIGdyaWQtY29sdW1uOiAxLzM7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIGgxIHtcbiAgZ3JpZC1yb3c6IDE7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBoMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHAge1xuICBncmlkLWNvbHVtbjogMS8tMTtcbiAgZ3JpZC1yb3c6IDI7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIGltZyB7XG4gIGdyaWQtY29sdW1uOiAzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciArIG1haW4ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIge1xuICAgIGdyaWQtZ2FwOiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWluLW1heCgyMDBweCwgMjUlKSk7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzEwMTI0ZCAyMCUsICMxMzFmNmIgODAlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTI1cHgsIDFmcikpO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERjMwMzU7XG4gIGdhcDogMTZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWdhcCk7XG4gIGdhcDogdmFyKC0tZ2FwKTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlID4gZGl2IHN2ZyB7XG4gIHdpZHRoOiA4MCU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWF4LXdpZHRoOiA4MHB4O1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUgPiBkaXYgc3ZnLndpcmUtZWFydGgge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSA+IGRpdiBwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI0RGMzAzNTtcbiAganVzdGlmeS1zZWxmOiBiYXNlbGluZTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDAlLCAjMTMxZjZiIDgwJSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDIpIDAgMCBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLWhlYWRpbmcsIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLXN1YmhlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24taGVhZGluZyB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0RGMzAzNTtcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgKiAzKTtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBzY3JvbGwtYmFyIHtcbiAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWF4LXdpZHRoOiAzNSU7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2VyMik7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCA3NSUgMTAwJSk7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjVweCwgMWZyKSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2VyMSk7XG4gICAgbWFyZ2luLWxlZnQ6IC01JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIGNsaXAtcGF0aDogdW5zZXQ7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlcjEpO1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDFweCkge1xuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyLCBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgc2Nyb2xsLWJhciwgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jaywgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiwgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5tYXJrZXQtc2VjdG9yc1xcOmxpc3Qge1xuICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAxMDBkdmg7XG4gIG9yZGVyOiA5OTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlcjEpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLWNvbnRlbnQpO1xuICB6LWluZGV4OiAxMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDFweCkge1xuICBmb290ZXIge1xuICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2hvbWUgZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGluaXRpYWw7XG4gIGdyaWQtcm93OiAtMTtcbn1cblxuY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1uc10ge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zLCAxKSwgMWZyKTtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIGNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnM9XCIyXCJdIHtcbiAgICAtLWNvbHVtbnM6IDI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODBweCkge1xuICBjb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zPVwiMlwiXSB7XG4gICAgLS1jb2x1bW5zOiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIGNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnM9XCIyXCJdIHtcbiAgICAtLWNvbHVtbnM6IDI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAxcHgpIHtcbiAgY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1ucz1cIjJcIl0ge1xuICAgIC0tY29sdW1uczogMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE4MDBweCkge1xuICBjb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zPVwiMlwiXSB7XG4gICAgLS1jb2x1bW5zOiAyO1xuICB9XG59XG5cbnNlYXJjaC1lbGVtZW50IC5zZWFyY2gtaW5wdXQgc3ZnIHtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuXG5tb2RhbC13cmFwcGVyIHtcbiAgLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAtLW1vZGFsLWNsb3NlLWNvbG91cjogJGJsYWNrO1xuICAtLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0tbWluLXdpZHRoOjMwMHB4O1xuICAtLW1heC13aWR0aDoxMTIwcHg7XG4gIC0td2lkdGg6Y2xhbXAodmFyKC0tbWluLXdpZHRoKSwgOTB2dywgZml0LWNvbnRlbnQpO1xuICAtLW1pbi1oZWlnaHQ6NjAwcHg7XG4gIC0tbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gdmFyKC0tZ3V0dGVyMikpO1xuICAtLWhlaWdodDpjbGFtcCh2YXIoLS1taW4taGVpZ2h0KSwgOTB2dywgZml0LWNvbnRlbnQpO1xufVxuQHN1cHBvcnRzICgtLXY6LXdlYmtpdC1maWxsLWF2YWlsYWJsZSApIHtcbiAgbW9kYWwtd3JhcHBlciB7XG4gICAgLS1tYXgtaGVpZ2h0Oi13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIH1cbn1cbm1vZGFsLXdyYXBwZXIge1xuICAtLWNsb3NlLWJ1dHRvbi1zaXplOiAzMHB4O1xuICAtLW5hdi1idXR0b24tc2l6ZTogNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxubW9kYWwtd3JhcHBlci5sb2FkaW5nIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkgMC4zcztcbn1cbm1vZGFsLXdyYXBwZXIubG9hZGluZyBtb2RhbC1jb250YWluZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnZoKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSwgdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbiAgcmlnaHQ6IHZhcigtLWd1dHRlcjEpO1xuICB3aWR0aDogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlIHN2ZyBjaXJjbGUsIG1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlIHN2ZyBwYXRoIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSBzdmcge1xuICBjb2xvcjogdmFyKC0tbW9kYWwtY2xvc2UtY29sb3VyLCAjREYzMDM1KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlOmhvdmVyIHN2ZyB7XG4gICAgLS1maWxsOndoaXRlO1xuICAgIC0tc3Ryb2tlOnZhcigtLXNlY29uZGFyeSwgI0RGMzAzNSk7XG4gIH1cbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiB2YXIoLS1uYXYtYnV0dG9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLW5hdi1idXR0b24tc2l6ZSk7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1uYXYtYnV0dG9uLXNpemUpIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI0RGMzAzNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjREYzMDM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uLnByZXZpb3VzIHtcbiAgbGVmdDogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uLm5leHQge1xuICByaWdodDogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uIHN2ZyB7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbW9kYWwtd3JhcHBlciBidXR0b24ubmF2aWdhdGlvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNERjMwMzUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbm1vZGFsLWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSAwLjNzLCB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpIDAuM3M7XG4gIHdpZHRoOiB2YXIoLS13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgbWF4LWhlaWdodDogdmFyKC0tbWF4LWhlaWdodCk7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IHZhcigtLWd1dHRlcjEpO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuQHN1cHBvcnRzIG5vdCAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICBtb2RhbC1jb250YWluZXIge1xuICAgIC0td2lkdGg6IDYwdnc7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDogdmFyKC0tbWluLXdpZHRoKTtcbiAgICAtLWhlaWdodDogODB2dztcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1tYXgtaGVpZ2h0KTtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1taW4taGVpZ2h0KTtcbiAgfVxufVxubW9kYWwtY29udGFpbmVyOmVtcHR5IHtcbiAgd2lkdGg6IGNhbGModmFyKC0tbWF4LXdpZHRoKSAvIDIpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWF4LWhlaWdodCkgLyAyKTtcbn1cbm1vZGFsLWNvbnRhaW5lcjplbXB0eTphZnRlciB7XG4gIC0tc2l6ZTogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgbGVmdDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbG9hZGVyLWNvbG91ciwgIzk2OTY5NSk7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlci1yb3RhdGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5Aa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxubW9kYWwtY29udGFpbmVyOmVtcHR5OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG59XG5tb2RhbC1jb250YWluZXIgPiBidXR0b24uY2xvc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9yZGVyOiAtMTtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIHRvcDogaW5pdGlhbDtcbiAgcmlnaHQ6IGluaXRpYWw7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkgLyAyKTtcbn1cblxubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC1jb250ZW50ID4gKiB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9aW1hZ2VdIC5pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IGNhbGModmFyKC0tbWF4LWhlaWdodCkgLSB2YXIoLS1ndXR0ZXI2KSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPWltYWdlXSAuaW1hZ2UgaW1nIHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWd1dHRlcjMpIC0gdmFyKC0tZ3V0dGVyNCkpO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPWRlZmF1bHRdIG1vZGFsLWNvbnRlbnQgPiBpbWdbc3JjKj1cIi5zdmdcIl0ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10ge1xuICAtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIC0tbW9kYWwtY2xvc2UtY29sb3VyOiAjRkZGRkZGO1xufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciB7XG4gIC0tYXNwZWN0LXJhdGlvOiAxNi85O1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWFzcGVjdC1yYXRpbyk7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDE2LzkpIHtcbiAgbW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciB7XG4gICAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLyAodmFyKC0tYXNwZWN0LXJhdGlvKSkpO1xuICAgIGhlaWdodDogMDtcbiAgfVxuICBtb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciBpZnJhbWUsIG1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgbW9kYWwtY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbn1cblxuLm9wZW4taW4tbW9kYWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4ub3Blbi1pbi1tb2RhbDphZnRlciB7XG4gIC0tc2l6ZTogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgbGVmdDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiB3aGl0ZSBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAjOTY5Njk1KTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbkBrZXlmcmFtZXMgbG9hZGVyLXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG4ub3Blbi1pbi1tb2RhbC5sb2FkaW5nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ub3Blbi1pbi1tb2RhbC5sb2FkaW5nOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG59XG5cbmltZy5vcGVuLWluLW1vZGFsLCAub3Blbi1pbi1tb2RhbCBpbWcge1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLWtodG1sLXVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLWRyYWc6IG5vbmU7XG4gIC1vLXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuXG4uYmFjay10by10b3Age1xuICAtLWhpZGUtb2Zmc2V0OiAtMTBweDtcbiAgLS1zdmctd2lkdGg6IDE4cHg7XG4gIC0tZWRnZS1kaXN0YW5jZTogMTVweDtcbiAgLS1yaWdodC1vZmZzZXQ6IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IGNhbGModmFyKC0tcmlnaHQtb2Zmc2V0KSArIHZhcigtLWVkZ2UtZGlzdGFuY2UpKTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWVkZ2UtZGlzdGFuY2UpICsgdmFyKC0taGlkZS1vZmZzZXQpKTtcbiAgd2lkdGg6IGNhbGModmFyKC0tc3ZnLXdpZHRoKSArIDEycHgpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tc3ZnLXdpZHRoKSArIDEycHgpO1xuICBiYWNrZ3JvdW5kOiAjMTMxZjZiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6IDEwMDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgdHJhbnNmb3JtIDAuMnMgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4uYmFjay10by10b3Agc3ZnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHdpZHRoOiB2YXIoLS1zdmctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXN2Zy13aWR0aCk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJhY2stdG8tdG9wOm5vdCguaGlkZSkge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1oaWRlLW9mZnNldCkpO1xufVxuLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICBzaWRlLWJhciB+IC5iYWNrLXRvLXRvcCB7XG4gICAgLS1yaWdodC1vZmZzZXQ6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuICB9XG59XG5sb2dvLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1ndXR0ZXIxKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlcjEpO1xufVxubG9nby1iYXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxNDBweDtcbiAgbWF4LWhlaWdodDogOTBweDtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MDFweCkge1xuICBsb2dvLWJhciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59IiwiLyogei1pbmRleGVzIGFyZSBsYXJnZSBkdWUgdG8gdGhlIGZhY3QgdGhhdCB0aGluZ3MgbWlnaHQgY2hhbmdlXG4gKiBpbiB0aGUgZnV0dXJlLiBJbiBvcmRlciB0byBhY2NvdW50IGZvciBzY2FsYWJpbGl0eSwgdGhpcyBnaXZlc1xuICogcm9vbSB0byBtYWtlIGNoYW5nZXMgYW5kIG5vdCBicmVhayB0aGUgZW50aXJlIHNpdGUsIG1lYW5pbmcgXG4gKiB3ZSB3b24ndCBoYXZlIHRvIGdvIGluIGFuZCByZWZhY3RvciBhIGxvdCBvZiBvdXIgY29kZS5cbiAqL1xuXG4kcGFnZS1iYWNrZ3JvdW5kICAgICAgICAgIDogNTAwO1xuXG4kbmF2aWdhdGlvbi1iYXIgICAgICAgICAgIDogMTUwMDtcbiRuYXZpZ2F0aW9uLWJhci1jb250YWluZXIgOiAkbmF2aWdhdGlvbi1iYXI7XG4kZ2xvYmFsLXNlYXJjaC1tb2JpbGUgICAgIDogLTE7XG5cbiRzY3JvbGwtYmFyICAgICAgICAgICAgICAgOiAxMTAwO1xuXG4kbWFpbiAgICAgICAgICAgICAgICAgICAgIDogMTAwMDtcbiRoZWFkZXIgICAgICAgICAgICAgICAgICAgOiAxMDAwO1xuJHNpZGUtYmFyICAgICAgICAgICAgICAgICA6IDE3NTA7XG5cbiRtb2RhbCAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDsiLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5AdXNlIFwiZm9udFwiO1xuQHVzZSAnLi4vX2hlbHBlcnMvbWlzYy5zY3NzJyBhcyAqO1xuXG4kYmFzZS1pbnB1dC1wYWRkaW5nOiAkZ2FwO1xuXG5cbkBtaXhpbiBhcnJvdy1kb3duLWltYWdlKCRzdHJva2UgOiB2YXIoLS1mb250LWNvbG91cikpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgSU5QVVRTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBjaGFyYWN0ZXItaW5wdXRzKCkge1xuICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYWxsLWlucHV0cygpIHtcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNoYXJhY3Rlci1pbnB1dCgpIHtcbiAgLS1mb250LWNvbG91ciAgICAgICA6ICN7JGZvbnQtY29sb3VyfTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7JHdoaXRlfTtcbiAgLS1wYWRkaW5nICAgICAgICAgICA6IGNhbGMoI3skYmFzZS1pbnB1dC1wYWRkaW5nfSAvIDEuNSkgI3skYmFzZS1pbnB1dC1wYWRkaW5nfTtcbiAgLS1ib3JkZXItY29sb3VyICAgICA6ICN7JGdyZXk3fTtcbiAgLS1ib3JkZXItcmFkaXVzICAgICA6IDA7XG5cbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1czsgIC8qIE9wZXJhIDEwLjUsIElFIDksIFNhZmFyaSA1LCBDaHJvbWUsIEZpcmVmb3ggNCwgaU9TIDQsIEFuZHJvaWQgMi4xKyAqL1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7ICAvKiBTYWZhcmkgMy00LCBpT1MgMS0zLjIsIEFuZHJvaWQgMS42LSAqLyAgICBcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwOyAgLyogRmlyZWZveCAxLTMuNiAqLyAgICAgXG5cbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50O1xuXG4gICY6OnBsYWNlaG9sZGVyIHsgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24gfVxuXG4gIC8vICY6bm90KDplbXB0eSkge1xuICAvLyAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICR0cmFuc3BhcmVudCB9XG4gIC8vIH1cbn1cblxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENPTlRBSU5FUlNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGNvbnRhaW5lcigpIHtcbiAgLS1sYWJlbC1jb2xvdXIgICAgICAgIDogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWxhYmVsLWFjdGl2ZS1jb2xvdXIgOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxcmVtO1xuXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tbGFiZWwtY29sb3VyKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbjtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dC1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xufVxuXG5cbkBtaXhpbiByYWRpby1jaGVja2JveC1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuXG4gIC0taW5wdXQtd2lkdGg6IDEuMmVtO1xuICAtLWlucHV0LWJvcmRlci10aGlja25lc3M6IDFweDtcbiAgLS1pbnB1dC1hY3RpdmUtY29sb3VyOiAjeyRyZWR9O1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUodmFyKC0taW5wdXQtd2lkdGgpKTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcywgMXB4KSBzb2xpZCAkZ3JleTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUoY2FsYyh2YXIoLS1pbnB1dC13aWR0aCkgLSB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzKSAqIDYpKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlucHV0LWFjdGl2ZS1jb2xvdXIpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC0tbGFiZWwtY29sb3VyOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnB1dC1hY3RpdmUtY29sb3VyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWxhYmVsLWFjdGl2ZS1jb2xvdXIpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmFkaW8tY29udGFpbmVyKCkge1xuICBsYWJlbCB7XG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtdWx0aS1pbnB1dCgpIHtcbiAgLS1pbnB1dC1zcGFjaW5nOiAwO1xuICBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1pbnB1dC1zcGFjaW5nKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gIEBpbmNsdWRlIGNoYXJhY3Rlci1pbnB1dHMoKSB7XG4gICAgJjpub3Qoc2VsZWN0KSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICA+ICo6bm90KHNlbGVjdCwgYnV0dG9uLCBhKSB7XG4gICAgZmxleDogMTtcbiAgfVxuICBcbiAgc2VsZWN0LCBidXR0b24sIGEge1xuICAgIC0tZm9udC1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICAtLWJhY2tncm91bmQtY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBzZWxlY3QgeyBAaW5jbHVkZSBhcnJvdy1kb3duLWltYWdlKCR3aGl0ZSkgfTtcbn1cblxuQG1peGluIGJhc2UtcmVxdWlyZWQoKSB7XG4gIHJlcXVpcmVkLW5vdGljZSB7XG4gICAgLS1ub3RpY2UtY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTBweDtcbiAgICBjb2xvcjogdmFyKC0tbm90aWNlLWNvbG91cik7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcblxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJhZGlvLXRhYnMoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgcmFkaW8tdGFiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ2FwMDtcbiAgICBcbiAgICBpbnB1dCB7IFxuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpjaGVja2VkKSB7XG4gICAgICAgICsgbGFiZWw6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgICAgXG5cbiAgICB9XG5cbiAgfVxufVxuXG5cbkBtaXhpbiBpbnB1dC1mb2N1cygpIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMXB4IHJnYmEoJHJlZCwgMC4zKTtcbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzLycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzLycgYXMgKjtcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdEJhc2UgcmVzdWx0IHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5AbWl4aW4gYmFzZSgpIHtcblxuICAtLWhlYWRpbmctY29sb3VyICAgIDogI3skYmx1ZX07XG5cbiAgLS1ib3JkZXItdGhpY2tuZXNzICA6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzICAgICA6IDBweDtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6IHdoaXRlO1xuXG4gIC0tcGFkZGluZyAgICAgICAgICAgOiAycmVtO1xuXG4gIC0tcGFkZGluZy1sZWZ0ICAgICAgOiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXJpZ2h0ICAgICA6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctdG9wICAgICAgIDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy1ib3R0b20gICAgOiB2YXIoLS1wYWRkaW5nKTtcblxuICAtLWltYWdlLXdpZHRoICAgICAgIDogMTAwcHg7XG4gIC0taW1hZ2UtaGVpZ2h0ICAgICAgOiAxMDBweDtcblxuICAtLWdyaWQtZ2FwICAgICAgICAgIDogI3skZ2FwfTtcblxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZy10b3ApIHZhcigtLXBhZGRpbmctcmlnaHQpIHZhcigtLXBhZGRpbmctYm90dG9tKSB2YXIoLS1wYWRkaW5nLWxlZnQpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGlja25lc3MpIHNvbGlkICR0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAvLyBib3gtc2hhZG93OiAwcHggMHB4IDVweCAxcHggcmdiYSgkZ3JleSwgMC4xKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb247XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdyaWQtZ2FwKSB2YXIoLS1ncmlkLWdhcCk7XG4gIC8vIHBsYWNlLWNvbnRlbnQ6IHN0YXJ0O1xuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBwaWN0dXJlIHtcbiAgICAgIGhlaWdodDogdmFyKC0taW1hZ2UtaGVpZ2h0KTtcbiAgICAgIFxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWltYWdlLWhlaWdodCk7XG4gICAgICAgIGhlaWdodDogdmFyKC0taW1hZ2Utd2lkdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUge1xuICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbiAgICBhIHsgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKSB9XG4gIH1cblxuICAucmVzdWx0LXN1YnRpdGxlIHsgZ3JpZC1hcmVhOiBzdWJ0aXRsZSB9XG4gIC5yZXN1bHQtYm9keSAgICAgeyBncmlkLWFyZWE6IGJvZHkgfVxuXG4gICYuYmxvZyAgICB7IEBpbmNsdWRlIGJsb2coKSB9XG4gICYubWFya2V0LXNlY3RvciAgICB7IEBpbmNsdWRlIG1hcmtldC1zZWN0b3IoKSB9XG4gICYucHJvZHVjdCB7IEBpbmNsdWRlIHByb2R1Y3QoKSB9XG4gICYucGFnZSAgICB7IEBpbmNsdWRlIHBhZ2UoKSB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gbWFya2V0LXNlY3RvcigpIHtcblxuICAtLWJhY2tncm91bmQtY29sb3VyOnRyYW5zcGFyZW50OyBcbiAgLS1mb250LWNvbG91cjp3aGl0ZTsgXG4gIC0taGVhZGluZy1jb2xvdXIgOiB3aGl0ZTsgXG5cbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOjAgMCAkZ3V0dGVyMCAwIDsgXG4gIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXJlc3VsdC1pdGVtLWJvcmRlci1ib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSk7XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjbGFtcCgxNDBweCwgNDB2dywgMTgwcHgpO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pbWFnZS1vdXRsaW5lLWNvbG91ciwgdHJhbnNwYXJlbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1pbWFnZS1vdXRsaW5lLW9mZnNldCwgMC4xZW0pOyBcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciAkdHJhbnNpdGlvbiwgb3V0bGluZS1vZmZzZXQgJHRyYW5zaXRpb247XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gIH1cblxuICAmOmhvdmVyIHsgXG4gICAgLS1pbWFnZS1vdXRsaW5lLWNvbG91ciA6ICN7cmdiYSh3aGl0ZSwgMC4yKX07XG4gICAgLS1pbWFnZS1vdXRsaW5lLW9mZnNldCA6IDAuM2VtO1xuICAgIC5yZXN1bHQtdGl0bGUgYSB7IGNvbG9yOiRyZWQ7IH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAmOjphZnRlciB7IFxuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIGluc2V0OjA7IFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6MTsgXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgYm9keVtkYXRhLXRoZW1lPSd3aGl0ZSddICYge1xuICAgIC0tcmVzdWx0LWl0ZW0tYm9yZGVyLWJvdHRvbSA6ICN7cmdiYSgkYmx1ZSwgMC4yKX07XG4gICAgLS1mb250LWNvbG91cjojeyRibHVlfTsgXG4gICAgLS1oZWFkaW5nLWNvbG91ciA6ICN7JGJsdWV9OyBcbiAgICAmOmhvdmVyIHsgXG4gICAgICAtLWltYWdlLW91dGxpbmUtY29sb3VyIDogI3tyZ2JhKCRibHVlLCAwLjIpfTtcbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCBib2R5I21hcmtldC1zZWN0b3JzIHtcbiAgICAmIHtcbiAgICAgIC8vIGlzb2xhdGlvbjogaW5pdGlhbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICAgIGNvbnRhaW5lci1uYW1lIDogbWFya2V0LXNlY3RvcjtcbiAgICAgIC5yZXN1bHQtaXRlbSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG4gICAgICAgIGEuZGV0YWlsczpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXIgLnJlc3VsdC1pbWFnZSB7XG4gICAgICAgIC0taW1hZ2Utb3V0bGluZS1jb2xvdXIgOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAtLWltYWdlLW91dGxpbmUtb2Zmc2V0IDowICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuZGV0YWlscyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWRhcms7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyMjBweDtcbiAgICAgICAgd2lkdGg6dmFyKC0tbWFya2V0LXNlY3Rvci1hcnRpY2xlLXdpZHRoLCBjYWxjKDIwMCUgKyAjeyRndXR0ZXJ9ICsgMnB4KSk7XG5cbiAgICAgICAgLy8gRGlzY3JldGUgYW5pbWF0aW9uIHNldHVwXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgb3BhY2l0eSAkdHJhbnNpdGlvbixcbiAgICAgICAgICBkaXNwbGF5ICR0cmFuc2l0aW9uIGFsbG93LWRpc2NyZXRlO1xuICAgICAgICAuZGV0YWlscy10ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nOiRndXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRldGFpbHMtaGVhZGluZyB7XG4gICAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToxZW07XG4gICAgICAgIH1cbiAgICAgICAgLmRldGFpbHMtaW1hZ2Uge1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAzNSUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRldGFpbHMtbGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRldGFpbHMtbGluayB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgQGNvbnRhaW5lciBtYXJrZXQtc2VjdG9yICggd2lkdGggPCA0MjBweCkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIC5kZXRhaWxzLWltYWdlIHtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogaW5pdGlhbDtcbiAgICAgICAgICAgIGhlaWdodDoxMDBweDtcbiAgICAgICAgICAgIC5kZXRhaWxzLWxpbmsge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICYgLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBAc3RhcnRpbmctc3R5bGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhICggd2lkdGggPiAyMDUwcHgpIHtcbiAgICAgICAgICB3aWR0aDoxMDAlOyBcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGFydGljbGUtZ3JpZDpoYXMoLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpKSB7XG4gICAgICAucmVzdWx0LWl0ZW06bm90KDppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSkgeyBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDt9XG4gICAgfVxuXG4gICAgQGNvbnRhaW5lciBtYWluICggd2lkdGggPCA2NjBweCkge1xuICAgICAgYXJ0aWNsZS1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgICAgICAgLS1tYXJrZXQtc2VjdG9yLWFydGljbGUtd2lkdGggOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFydGljbGUtZ3JpZCB7XG4gICAgICBAY29udGFpbmVyIG1haW4gKDY2MHB4IDwgd2lkdGggPCA5NjRweCkgIHtcbiAgICAgICAgLnJlc3VsdC1pdGVtOm50aC1jaGlsZCgybikgLmRldGFpbHMge1xuICAgICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBjb250YWluZXIgbWFpbiAoIHdpZHRoID4gOTY0cHgpICB7XG4gICAgICAgIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQoM24pIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgICByaWdodDowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibG9nKCkge1xuICAtLXBhZGRpbmcgICAgICAgICAgOiA0cmVtO1xuICAtLWJvcmRlci10aGlja25lc3MgOiAwO1xuICAtLWJvcmRlci1yYWRpdXMgICAgOiAwO1xuICAvLyAtLWJhY2tncm91bmQtY29sb3VyIDogdHJhbnNwYXJlbnQ7XG5cbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICBcInN1YnRpdGxlXCJcbiAgICBcInRpdGxlXCJcbiAgICBcImJvZHlcIjtcblxuICAucmVzdWx0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgcmdiYSh3aGl0ZSwgMSkgNDUlLCB0cmFuc3BhcmVudCAxMjAlKTtcbiAgICB9XG4gIH1cblxuICB0aW1lIHsgXG4gICAgY29sb3I6ICRyZWQ7XG4gIH1cblxuICAucmVzdWx0LXRpdGxlLCAucmVzdWx0LXN1YnRpdGxlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSB9XG5cbiAgLnJlc3VsdC10aXRsZSB7ICAgICBcbiAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cblxuICAucmVzdWx0LXN1YnRpdGxlIHtcbiAgICAtLWhlYWRpbmctY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaDQsIHRpbWUge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHRpbWUge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtYm9keSB7IC0tZm9udC1jb2xvdXI6ICN7JGJsYWNrfTsgfVxuXG4gICYuZmVhdHVyZWQge1xuICAgIC0tcGFkZGluZy1yaWdodDogNXJlbTtcblxuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuXG4gICAgLnJlc3VsdC10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWgyO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnRkVBVFVSRUQnO1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZWQtYmFkZ2UoKTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtc3VidGl0bGUsIC5yZXN1bHQtYm9keSB7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG5cblxuQG1peGluIHBhZ2UoKSB7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gIFwiaW1hZ2UgdGl0bGVcIlxuICBcImltYWdlIGJvZHlcIlxuICBcImltYWdlIGJvZHlcIlxuICBcImltYWdlIGJvZHlcIjtcblxuICAucmVzdWx0LWltYWdlIHtcbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gcHJvZHVjdCgpIHtcbiAgLS1iYWRnZS1zcGFjaW5nIDogM3JlbTtcblxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWltYWdlLXdpZHRoKSBhdXRvO1xuXG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgXCJpbWFnZSB0aXRsZVwiXG4gICAgXCJpbWFnZSB0aXRsZVwiXG4gICAgXCJpbWFnZSBkYXRhXCJcbiAgICBcImltYWdlIGRhdGFcIjtcblxuICAvLyAucmVzdWx0LXRpdGxlIHtcbiAgLy8gICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAvLyB9XG5cbiAgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1ib2R5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJhZGdlLXNwYWNpbmcpICogMik7XG4gIH1cblxuICAucHJvZHVjdC1kYXRhIHtcbiAgICBncmlkLWFyZWE6IGRhdGE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBncmlkLWdhcDogY2FsYygkZ2FwIC8gMikgJGdhcDtcbiAgfVxuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWstaW4oNDUwKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICBcImltYWdlIFwiXG4gICAgXCJ0aXRsZVwiXG4gICAgXCJkYXRhXCI7XG5cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHVuc2V0O1xuXG4gICAgLnByb2R1Y3QtZGF0YSB7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAkZ2FwLTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcblxuICAgIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtYm9keSB7IHBhZGRpbmctcmlnaHQ6IDAgfVxuICAgIC8vIC5yZXN1bHQtdGl0bGUgeyBhbGlnbi1zZWxmOiBjZW50ZXIgfVxuICB9XG5cblxuICAmLmluLXN0b2NrOjpiZWZvcmUge1xuICAgIC0tcGFkZGluZy15IDogMC4yZW07XG4gICAgLS1wYWRkaW5nLXggOiAxMGVtO1xuXG4gICAgY29udGVudDogJ2luIHN0b2NrJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDFlbSArIHZhcigtLXBhZGRpbmcteSkpO1xuICAgIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tcGFkZGluZy14KSk7XG4gICAgcGFkZGluZzogMC41ZW0gdmFyKC0tcGFkZGluZy14KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzL21pc2Muc2NzcycgYXMgKjtcblxuQG1peGluIHRhZygpIHtcbiAgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBkaXNhYmxlZCgpIH1cbiAgJi5jYXRlZ29yeSB7XG4gICAgQGluY2x1ZGUgdGFnLWJhc2UoKTtcbiAgICAtLWJvcmRlci1jb2xvdXI6ICN7JHJlZH07XG4gICAgQGluY2x1ZGUgdGFnLXdpdGgtc2Vjb25kYXJ5KCk7XG4gICAgLnRhZy1zZWNvbmRhcnk6aG92ZXIgeyBAaW5jbHVkZSBzZWNvbmRhcnktaG92ZXIoKSB9XG4gIH1cblxuICAmLmNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSB0YWctY2hlY2tib3goKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBCYXNlIHN0eWxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdGFnLWJhc2UoKSB7XG4gIC0tYm9yZGVyLXJhZGl1cyAgICAgICA6IDBweDtcbiAgLS1mb250LWNvbG91ciAgICAgICAgIDogI3skcmVkfTtcbiAgLS1iZy1jb2xvdXIgICAgICAgICAgIDogd2hpdGU7XG4gIC0tc2Vjb25kYXJ5LXdpZHRoICAgICA6IDNjaDtcbiAgLS1zZWNvbmRhcnktcGFkZGluZy14IDogM3B4O1xuICAtLWJvcmRlci1jb2xvdXIgICAgICAgOiB0cmFuc3BhcmVudDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAudGFnLWxhYmVsIHtcbiAgICBwYWRkaW5nOiAzcHggJGdhcCAzcHggJGdhcDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBXaXRoIHNlY29uZGFyeSBzZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHRhZy13aXRoLXNlY29uZGFyeSgpIHtcbiAgLS1zeW1ib2wtY29sb3VyIDogI3skcmVkfTtcblxuICAudGFnLXNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc2Vjb25kYXJ5LXBhZGRpbmcteCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5NDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAzY2g7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENoZWNrYm94IHRhZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdGFnLWNoZWNrYm94KCkge1xuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmIH4gbGFiZWwge1xuICAgICAgQGluY2x1ZGUgdGFnLWJhc2UoKTtcbiAgICAgIEBpbmNsdWRlIHRhZy13aXRoLXNlY29uZGFyeSgpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLS1ib3JkZXItY29sb3VyOiAjeyRyZWR9O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gICAgICAtLWJnLWNvbG91cjogI3skcmVkfTtcblxuICAgICAgLnRhZy1zZWNvbmRhcnkgeyBAaW5jbHVkZSBzZWNvbmRhcnktaG92ZXIocmdiYSh3aGl0ZSwgMC4zKSkgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiBzZWNvbmRhcnktaG92ZXIoJGNvbG91ciA6ICRyZWQpIHtcbiAgLS1zeW1ib2wtY29sb3VyOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJsYXRvXCI7XG4gIHNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcImxhdG9cIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXNlbWlib2xkLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OlwibGF0b1wiO1xuICBzcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7XG4gIH1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS1pdGFsaWMud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjUwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbnNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXNlbWlib2xkLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OlwibW9udHNlcnJhdFwiO1xuICBzcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXJlZ3VsYXIud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXJlZ3VsYXIub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtZXh0cmFib2xkLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6ODAwO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDdXN0b20gUHJvcGVydGllc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5AdXNlICdzYXNzOm1hdGgnO1xuXG46cm9vdCB7XG5cbiAgLy8gQ29sb3VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLS1wcmltYXJ5ICAgICAgICAgOiAjeyR3aGl0ZX07IFxuICAtLXNlY29uZGFyeSAgICAgICA6ICN7JGJsdWV9O1xuXG4gIGJvZHkge1xuXG4gICAgJltkYXRhLXRoZW1lPVwiZGVmYXVsdFwiXSB7XG4gICAgICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZCAgICA6ICN7JHRoZW1lLWRlZmF1bHQtcGFnZS1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kIDogI3skdGhlbWUtZGVmYXVsdC1jb250ZW50LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1jb250ZW50LW9wcG9zaXRlICAgOiAjeyR3aGl0ZX07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IgOiAjeyR0aGVtZS1kZWZhdWx0LW5hdi1iYWNrZ3JvdW5kLW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1mb250ICAgICAgICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LWZvbnR9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udC1tb2IgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LW5hdi1mb250LW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91ciA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LXNwYWNpbmctY29sb3VyfTtcbiAgICAgIC0tdGhlbWUtYWNjZW50ICAgICAgICAgICAgIDogI3skdGhlbWUtZGVmYXVsdC1hY2NlbnR9O1xuICAgICAgLS10aGVtZS1sb2dvICAgICAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LWxvZ299O1xuICAgICAgLS1mb250LWNvbG91ciAgICAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LWZvbnR9O1xuICAgICAgLS1oZWFkaW5nLWNvbG91ciAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LWhlYWRpbmd9O1xuICAgIH1cblxuICAgICZbZGF0YS10aGVtZT1cIndoaXRlXCJdIHtcbiAgICAgIC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kICAgIDogI3skdGhlbWUtd2hpdGUtcGFnZS1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kIDogI3skdGhlbWUtd2hpdGUtY29udGVudC1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSAgIDogI3skd2hpdGV9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZCAgICAgOiAjeyR0aGVtZS13aGl0ZS1uYXYtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYiA6ICN7JHRoZW1lLXdoaXRlLW5hdi1iYWNrZ3JvdW5kLW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1mb250ICAgICAgICAgICA6ICN7JHRoZW1lLXdoaXRlLW5hdi1mb250fTtcbiAgICAgIC0tdGhlbWUtbmF2LWZvbnQtbW9iICAgICAgIDogI3skdGhlbWUtd2hpdGUtbmF2LWZvbnQtbW9ifTtcbiAgICAgIC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyIDogI3skdGhlbWUtd2hpdGUtbmF2LXNwYWNpbmctY29sb3VyfTtcbiAgICAgIC0tdGhlbWUtYWNjZW50ICAgICAgICAgICAgIDogI3skdGhlbWUtd2hpdGUtYWNjZW50fTtcbiAgICAgIC0tdGhlbWUtbG9nbyAgICAgICAgICAgICAgIDogI3skdGhlbWUtd2hpdGUtbG9nb307XG4gICAgICAtLWZvbnQtY29sb3VyICAgICAgICAgICAgICA6ICN7JHRoZW1lLXdoaXRlLWZvbnR9O1xuICAgICAgLS1oZWFkaW5nLWNvbG91ciAgICAgICAgICAgOiAjeyR0aGVtZS13aGl0ZS1oZWFkaW5nfTtcbiAgICB9XG5cbiAgICAmW2RhdGEtdGhlbWU9XCJibGFja1wiXSB7XG4gICAgICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZCAgICA6ICN7JHRoZW1lLWJsYWNrLXBhZ2UtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCA6ICN7JHRoZW1lLWJsYWNrLWNvbnRlbnQtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtb3Bwb3NpdGUgICA6ICN7JHdoaXRlfTtcbiAgICAgIC0tdGhlbWUtbmF2LWJhY2tncm91bmQgICAgIDogI3skdGhlbWUtYmxhY2stbmF2LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IgOiAjeyR0aGVtZS1ibGFjay1uYXYtYmFja2dyb3VuZC1tb2J9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udCAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1uYXYtZm9udH07XG4gICAgICAtLXRoZW1lLW5hdi1mb250LW1vYiAgICAgICA6ICN7JHRoZW1lLWJsYWNrLW5hdi1mb250LW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91ciA6ICN7JHRoZW1lLWJsYWNrLW5hdi1zcGFjaW5nLWNvbG91cn07XG4gICAgICAtLXRoZW1lLWZvbnQgICAgICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLWZvbnR9O1xuICAgICAgLS10aGVtZS1hY2NlbnQgICAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1hY2NlbnR9O1xuICAgICAgLS10aGVtZS1sb2dvICAgICAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1sb2dvfTtcbiAgICAgIC0tZm9udC1jb2xvdXIgICAgICAgICAgICAgIDogI3skdGhlbWUtYmxhY2stZm9udH07XG4gICAgICAtLWhlYWRpbmctY29sb3VyICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLWhlYWRpbmd9O1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gQnJlYWtwb2ludHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JG5hbWV9IDogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gRm9udHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFxuICAtLWZvbnQtY29sb3VyICAgICAgICA6ICN7dmFyKC0tdGhlbWUtZm9udCwgJGZvbnQtY29sb3VyKX07XG4gIC0taGVhZGluZy1jb2xvdXIgICAgIDogI3t2YXIoLS10aGVtZS1oZWFkaW5nLCAkd2hpdGUpfTtcbiAgLS1zdWItaGVhZGluZy1jb2xvdXIgOiAje3ZhcigtLXNlY29uZGFyeSwgJGJsdWUpfTtcblxuICAvLyBUcmFuc2l0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAtLXRyYW5zaXRpb24tZHVyYXRpb24gOiAjeyR0cmFuc2l0aW9uLWR1cmF0aW9ufTtcbiAgLS10cmFuc2l0aW9uLWVhc2UgICAgIDogI3skdHJhbnNpdGlvbi1lYXNlfTtcbiAgLS10cmFuc2l0aW9uLWRlbGF5ICAgIDogI3skdHJhbnNpdGlvbi1kZWxheX07XG5cbiAgLy8gVW5pdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLS1nYXAgICAgOiAjeyRiYXNlLWdhcH07XG4gIC0tZ3V0dGVyIDogI3skYmFzZS1ndXR0ZXJ9O1xuICAtLXNwYWNlciA6ICN7JGJhc2Utc3BhY2VyfTtcbiBcbiAgLy8vIFNldCB0aGUgZ3V0dGVycyBhbmQgc3BhY2VycyB3aXRoIGNsYW1wIFxuICAvLy8gQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvY2xhbXBcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCA2IHtcblxuICAgIC0tZ3V0dGVyI3skaX0gIDogI3tndXR0ZXIoJGkpfTsgXG4gICAgLS1ndXR0ZXIjeyRpfS0gOiAje2d1dHRlcigkaSwgJHVzZS1uZWdhdGl2ZSA6IHRydWUpfTtcblxuICAgICRzcGFjZXItZ3Jvd3RoIDogaWYoc2FzcygkaSA9PSAwKTogMTsgZWxzZTogJGkgKiAzKTtcbiAgICAtLXNwYWNlciN7JGl9ICA6ICN7c3BhY2VyKCRzcGFjZXItZ3Jvd3RoKX07IFxuICAgIC0tc3BhY2VyI3skaX0tIDogI3tzcGFjZXIoJHNwYWNlci1ncm93dGgsICR1c2UtbmVnYXRpdmUgOiB0cnVlKX07XG4gIH1cbiAgXG4gIC8vLyBTZXRzIHRoZSBndXR0ZXJzIGFuZCBzcGFjZXJzIHVzaW5nIHRoZSBjYWxjIFxuICAvLy8gbWV0aG9kIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgY2xhbXBcbiAgQHN1cHBvcnRzIG5vdCAoIHdpZHRoOmNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggNiB7XG5cbiAgICAgIC0tZ3V0dGVyI3skaX0gIDogI3tndXR0ZXIoJGksICR1c2UtY2xhbXAgOiBmYWxzZSApfTsgXG4gICAgICAtLWd1dHRlciN7JGl9LSA6ICN7Z3V0dGVyKCRpLCAkdXNlLWNsYW1wIDogZmFsc2UsICR1c2UtbmVnYXRpdmUgOiB0cnVlICl9O1xuXG4gICAgICAkc3BhY2VyLWdyb3d0aCA6IGlmKHNhc3MoJGkgPT0gMCk6IDI7IGVsc2U6ICRpICogNCk7XG4gICAgICAtLXNwYWNlciN7JGl9ICA6ICN7c3BhY2VyKCRzcGFjZXItZ3Jvd3RoLCAkdXNlLWNsYW1wIDogZmFsc2UgKX07IFxuICAgICAgLS1zcGFjZXIjeyRpfS0gOiAje3NwYWNlcigkc3BhY2VyLWdyb3d0aCwgJHVzZS1jbGFtcCA6IGZhbHNlLCAkdXNlLW5lZ2F0aXZlIDogdHJ1ZSApfTtcbiAgICB9ICAgIFxuICB9XG59IiwiLy8vIEdsb2JhbCB0eXBvZ3JhcGhpYyBzdHlsaW5nIHRoYXQgZWZmZWN0cyBldmVyeXRoaW5nLiBcbi8vLyBJZiB5b3Ugd2FudCB0byB1cGRhdGUgc3R5bGluZyBmb3IgY29udGVudCBibG9jayB0ZXh0IGZpZWxkcywgaW50cm9kdWN0aW9uIGZpZWxkcywgXG4vLy8gb3IgYW55dGhpbmcgYXNzaWduZWQgYSAudGV4dCBjbGFzcyBvbiBpdCdzIGNvbnRhaW5lciB0aGVuIGVkaXQgdGhpcyBmaWxlOlxuLy8vIEBzZWUgL3NyYy9zYXNzL2NvbXBvbmVudHMvdGV4dFxuXG5AdXNlICdfbW9kdWxlcycgYXMgKjtcblxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1tb250c2VycmF0KCk7XG5cdGNvbG9yICAgICAgIDogdmFyKC0tZm9udC1jb2xvdXIsICRmb250LWNvbG91cik7XG4gIGxpbmUtaGVpZ2h0IDogJGZvbnQtbGluZS1oZWlnaHQ7XG4gIGZvbnQtc2l6ZSAgIDogJGZvbnQtc2l6ZTtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250c2l6ZSgkZm9udC1zaXplLW1pbiwgJGZvbnQtc2l6ZS1tYXgpO1xufVxuXG5oMSB7IEBpbmNsdWRlIGhlYWRpbmctaDE7IH1cbmgyIHsgQGluY2x1ZGUgaGVhZGluZy1oMjsgfVxuaDMgeyBAaW5jbHVkZSBoZWFkaW5nLWgzOyB9XG5oNCB7IEBpbmNsdWRlIGhlYWRpbmctaDQ7IH1cbmg1IHsgQGluY2x1ZGUgaGVhZGluZy1oNTsgfVxuaDYgeyBAaW5jbHVkZSBoZWFkaW5nLWg2OyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBcblxuICBAaW5jbHVkZSBmb250LW1vbnRzZXJyYXQoYm9sZCk7XG4gIGNvbG9yOnZhcigtLWhlYWRpbmctY29sb3VyLCB2YXIoLS1mb250LWNvbG91cikpO1xuICBcbiAgJi5zdWItaGVhZGluZyB7XG4gICAgY29sb3I6dmFyKC0tc3ViLWhlYWRpbmctY29sb3VyKTsgXG4gICAgQGluY2x1ZGUgZm9udC1sYXRvKHNlbWktYm9sZCk7XG4gIH1cblxuICBzcGFuLCBzdHJvbmcsIHAge1xuICAgIGNvbG9yICAgICAgIDogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseSA6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQgOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIHEsIGJsb2NrcXVvdGUge1xuLy8gICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIiBcIuKAmFwiIFwi4oCZXCI7XG4vLyAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6IG9wZW4tcXVvdGU7IH1cbi8vICAgJjo6YWZ0ZXIgeyBjb250ZW50OiBjbG9zZS1xdW90ZTsgfVxuLy8gfVxuXG5hIHsgXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yICR0cmFuc2l0aW9uLCBjb2xvciAkdHJhbnNpdGlvbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkdHJhbnNwYXJlbnQ7XG4gICYuZXh0ZXJuYWwge1xuICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7IFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgc3ZnLmV4dGVybmFsLWxpbmsge1xuICAgICAgb3BhY2l0eTowLjY7IFxuICAgICAgd2lkdGg6MC44ZW07XG4gICAgICBoZWlnaHQ6MC44ZW07XG4gICAgICBtYXJnaW4tbGVmdDowLjVlbTsgXG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICB9XG59XG5cbkBpbmNsdWRlIGhlYWRpbmctYWxsKCkge1xuICBhIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIpO1xuICAgIH1cbiAgfVxufVxuXG5cblxucCwgYSB7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG59XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxubGkgeyBcblx0YSB7IHRleHQtdW5kZXJsaW5lLW9mZnNldDoycHg7IH1cbn1cblxuc21hbGwge1xuICBmb250LXNpemU6Zm9udC1zaXplKDEwKTtcbiAgbGluZS1oZWlnaHQ6MS44O1xufVxuXG5ociB7IFxuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taHItY29sb3VyLCAkZ3JleTUpO1xuICBtYXJnaW4tdG9wOiRnYXAyOyBcbiAgbWFyZ2luLWJvdHRvbTokZ2FwMjsgXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBGb250XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdjb2xvdXJzJyBhcyAqO1xuXG4kY29sb3VyICAgICAgOiAkZ3JleTI7XG4kc2l6ZSAgICAgICAgOiAxLjVyZW0gIWRlZmF1bHQ7XG4kc2l6ZS1taW4gICAgOiAxLjRyZW0gIWRlZmF1bHQ7IFxuJHNpemUtbWF4ICAgIDogMS42cmVtICFkZWZhdWx0OyBcbiRsaW5lLWhlaWdodCA6IDEuNiAhZGVmYXVsdDsgXG5cbiRzaXplLWgxICAgICA6IDVlbSAhZGVmYXVsdDtcbiRzaXplLWgxLW1pbiA6IDRlbSAhZGVmYXVsdDtcbiRzaXplLWgyICAgICA6IDJlbSAhZGVmYXVsdDtcbiRzaXplLWgzICAgICA6IDEuNWVtICFkZWZhdWx0O1xuJHNpemUtaDQgICAgIDogMS4zZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oNSAgICAgOiAxLjNlbSAhZGVmYXVsdDtcbiRzaXplLWg2ICAgICA6IDEuM2VtICFkZWZhdWx0O1xuICBcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gTGF0byBGb250XG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIFRoaXMgZm9udCBpdCBwcmltYXJpbHkgdXNlZCBmb3IgaGVhZGluZ3MgKDxoKj4gdGFncylcbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBmb250LWxhdG8oYm9sZClcblxuQG1peGluIGxhdG8oJHdlaWdodDpyZWd1bGFyKSB7XG5cbiAgZm9udC1mYW1pbHk6bGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gIEBpZiAoICR3ZWlnaHQgPT0gJ3JlZ3VsYXInKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ3NlbWktYm9sZCcgb3IgJHdlaWdodCA9PSAnc2VtaWJvbGQnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ2JvbGQnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gTW9udHNlcnJhdCBGb250XG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIFRoaXMgaXMgdGhlIGJhc2UgZm9udCB1c2VkIGZvciBhbGwgc3RhbmRhcmQgY29weSB0aHJvdWdob3V0IHRoZSBzaXRlLlxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGZvbnQtbW9udHNlcnJhdCgpXG5cbkBtaXhpbiBtb250c2VycmF0KCR3ZWlnaHQ6cmVndWxhcikge1xuXG4gIGZvbnQtZmFtaWx5Om1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIFxuICBAaWYgKCAkd2VpZ2h0ID09ICdyZWd1bGFyJykge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnaXRhbGljJykge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFJlc3BvbnNpdmUgRm9udHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3Jlc3BvbnNpdmUtZm9udHNpemVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJy4uL2hlbHBlcnMvYnJlYWsnO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnRzaXplKCRtaW4sICRtYXgsICRzY2FsZXIgOiAxLjV2dywgJGJyZWFrcG9pbnRzIDogKG1pbjo5NTBweCwgbWF4OjE2MDBweCkpIHtcbiAgXG5cdC8vIFJlc3BvbnNpdmUgZm9udHNpemVcbiAgQHN1cHBvcnRzICggd2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gICAgZm9udC1zaXplOmNsYW1wKCN7JG1pbn0sICN7JHNjYWxlcn0sICN7JG1heH0pOyAgIFxuXHR9XG5cblx0Ly8gUmVzcG9uc2l2ZSBmb250c2l6ZSBmYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0ICdjbGFtcCdcblx0QHN1cHBvcnRzIG5vdCAod2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG5cdFx0QGluY2x1ZGUgYnJlYWsuaW4obWFwLmdldCgkYnJlYWtwb2ludHMsICdtaW4nKSkgeyBmb250LXNpemU6JG1pbjsgfVxuXHRcdEBpbmNsdWRlIGJyZWFrLm91dChtYXAuZ2V0KCRicmVha3BvaW50cywgJ21heCcpKSB7IGZvbnQtc2l6ZTokbWF4OyB9XG5cdH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEJyZWFrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYnJlYWtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBvdXQoJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skYnJlYWtwb2ludCArIDF9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGluKCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiN7JGJyZWFrcG9pbnR9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRtaW59KSBhbmQgKG1heC13aWR0aDojeyRtYXh9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGVhZGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnLi9jb2xsZWN0aW9ucy9mb250JztcbkB1c2UgJy4vbW9kdWxlcy91bml0JztcblxuLy8gRGVmYXVsdCBIZWFkaW5nIFZhbHVlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGgxIDogKFxuICAnZm9udC1zaXplJyAgIDogMy4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4xXG4pICFkZWZhdWx0O1xuXG4kaDIgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjVyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjNcbikgIWRlZmF1bHQ7XG5cbiRoMyA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg0IDogKFxuICAnZm9udC1zaXplJyAgIDogMi4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDUgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjhyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNiA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDEuNnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGJhc2UgOiA2Mi41ICFkZWZhdWx0O1xuJHNjYWxlciA6IDEuNXZ3ICFkZWZhdWx0O1xuJGVuYWJsZS1jcm9wcGluZyA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWxsYmFjayBMaW5lLWhlaWdodHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMSA6IG1hcC5zZXQoJGgxLCAnbGluZS1oZWlnaHQnLCAxLjEpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMiA6IG1hcC5zZXQoJGgyLCAnbGluZS1oZWlnaHQnLCAxLjMpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMywgXCJsaW5lLWhlaWdodFwiKSB7ICRoMyA6IG1hcC5zZXQoJGgzLCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNCwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNCA6IG1hcC5zZXQoJGg0LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNSA6IG1hcC5zZXQoJGg1LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNiA6IG1hcC5zZXQoJGg2LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5cbi8vIERlZmluZSB0aGUgdmFyaWFibGVzIHNvIHRoZXkgYXJlIHN0aWxsIGFjY2VzaWJsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMS1mb250LXNpemUgICAgIDogbWFwLmdldCgkaDEsICdmb250LXNpemUnKTtcbiRoMS1saW5lLWhlaWdodCAgIDogbWFwLmdldCgkaDEsICdsaW5lLWhlaWdodCcpO1xuJGgxLWZvbnQtc2l6ZS1taW4gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMSwgXCJmb250LXNpemUtbWluXCIpKTogbWFwLmdldCgkaDEsIFwiZm9udC1zaXplLW1pblwiKTsgZWxzZTogZmFsc2UpO1xuJGgxLXNjYWxlciAgICAgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMSwgXCJzY2FsZXJcIikpOiBtYXAuZ2V0KCRoMSwgXCJzY2FsZXJcIik7IGVsc2U6ICRzY2FsZXIpO1xuXG4kaDItZm9udC1zaXplICAgICA6IG1hcC5nZXQoJGgyLCAnZm9udC1zaXplJyk7XG4kaDItbGluZS1oZWlnaHQgICA6IG1hcC5nZXQoJGgyLCAnbGluZS1oZWlnaHQnKTtcbiRoMi1mb250LXNpemUtbWluIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDIsIFwiZm9udC1zaXplLW1pblwiKSk6IG1hcC5nZXQoJGgyLCBcImZvbnQtc2l6ZS1taW5cIik7IGVsc2U6IGZhbHNlKTtcbiRoMi1zY2FsZXIgICAgICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDIsIFwic2NhbGVyXCIpKTogbWFwLmdldCgkaDIsIFwic2NhbGVyXCIpOyBlbHNlOiAkc2NhbGVyKTtcblxuJGgzLWZvbnQtc2l6ZSAgICAgOiBtYXAuZ2V0KCRoMywgJ2ZvbnQtc2l6ZScpO1xuJGgzLWxpbmUtaGVpZ2h0ICAgOiBtYXAuZ2V0KCRoMywgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDMtZm9udC1zaXplLW1pbiA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgzLCBcImZvbnQtc2l6ZS1taW5cIikpOiBtYXAuZ2V0KCRoMywgXCJmb250LXNpemUtbWluXCIpOyBlbHNlOiBmYWxzZSk7XG4kaDMtc2NhbGVyICAgICAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgzLCBcInNjYWxlclwiKSk6IG1hcC5nZXQoJGgzLCBcInNjYWxlclwiKTsgZWxzZTogJHNjYWxlcik7XG5cbiRoNC1mb250LXNpemUgICAgIDogbWFwLmdldCgkaDQsICdmb250LXNpemUnKTtcbiRoNC1saW5lLWhlaWdodCAgIDogbWFwLmdldCgkaDQsICdsaW5lLWhlaWdodCcpO1xuJGg0LWZvbnQtc2l6ZS1taW4gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNCwgXCJmb250LXNpemUtbWluXCIpKTogbWFwLmdldCgkaDQsIFwiZm9udC1zaXplLW1pblwiKTsgZWxzZTogZmFsc2UpO1xuJGg0LXNjYWxlciAgICAgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNCwgXCJzY2FsZXJcIikpOiBtYXAuZ2V0KCRoNCwgXCJzY2FsZXJcIik7IGVsc2U6ICRzY2FsZXIpO1xuXG4kaDUtZm9udC1zaXplICAgICA6IG1hcC5nZXQoJGg1LCAnZm9udC1zaXplJyk7XG4kaDUtbGluZS1oZWlnaHQgICA6IG1hcC5nZXQoJGg1LCAnbGluZS1oZWlnaHQnKTtcbiRoNS1mb250LXNpemUtbWluIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDUsIFwiZm9udC1zaXplLW1pblwiKSk6IG1hcC5nZXQoJGg1LCBcImZvbnQtc2l6ZS1taW5cIik7IGVsc2U6IGZhbHNlKTtcbiRoNS1zY2FsZXIgICAgICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDUsIFwic2NhbGVyXCIpKTogbWFwLmdldCgkaDUsIFwic2NhbGVyXCIpOyBlbHNlOiAkc2NhbGVyKTtcblxuJGg2LWZvbnQtc2l6ZSAgICAgOiBtYXAuZ2V0KCRoNiwgJ2ZvbnQtc2l6ZScpO1xuJGg2LWxpbmUtaGVpZ2h0ICAgOiBtYXAuZ2V0KCRoNiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDYtZm9udC1zaXplLW1pbiA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg2LCBcImZvbnQtc2l6ZS1taW5cIikpOiBtYXAuZ2V0KCRoNiwgXCJmb250LXNpemUtbWluXCIpOyBlbHNlOiBmYWxzZSk7XG4kaDYtc2NhbGVyICAgICAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg2LCBcInNjYWxlclwiKSk6IG1hcC5nZXQoJGg2LCBcInNjYWxlclwiKTsgZWxzZTogJHNjYWxlcik7XG5cbi8vIEhhbmRsZXMgQ3JvcHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRfaDEtY3JvcC10b3AgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMSwgXCJjcm9wLXRvcFwiKSk6IG1hcC5nZXQoJGgxLCBcImNyb3AtdG9wXCIpOyBlbHNlOiBmYWxzZSk7XG4kX2gyLWNyb3AtdG9wICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDIsIFwiY3JvcC10b3BcIikpOiBtYXAuZ2V0KCRoMiwgXCJjcm9wLXRvcFwiKTsgZWxzZTogZmFsc2UpO1xuJF9oMy1jcm9wLXRvcCAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgzLCBcImNyb3AtdG9wXCIpKTogbWFwLmdldCgkaDMsIFwiY3JvcC10b3BcIik7IGVsc2U6IGZhbHNlKTtcbiRfaDQtY3JvcC10b3AgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNCwgXCJjcm9wLXRvcFwiKSk6IG1hcC5nZXQoJGg0LCBcImNyb3AtdG9wXCIpOyBlbHNlOiBmYWxzZSk7XG4kX2g1LWNyb3AtdG9wICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDUsIFwiY3JvcC10b3BcIikpOiBtYXAuZ2V0KCRoNSwgXCJjcm9wLXRvcFwiKTsgZWxzZTogZmFsc2UpO1xuJF9oNi1jcm9wLXRvcCAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg2LCBcImNyb3AtdG9wXCIpKTogbWFwLmdldCgkaDYsIFwiY3JvcC10b3BcIik7IGVsc2U6IGZhbHNlKTtcblxuJF9oMS1jcm9wLWJvdHRvbSA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgxLCBcImNyb3AtYm90dG9tXCIpKTogbWFwLmdldCgkaDEsIFwiY3JvcC1ib3R0b21cIik7IGVsc2U6IGZhbHNlKTtcbiRfaDItY3JvcC1ib3R0b20gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMiwgXCJjcm9wLWJvdHRvbVwiKSk6IG1hcC5nZXQoJGgyLCBcImNyb3AtYm90dG9tXCIpOyBlbHNlOiBmYWxzZSk7XG4kX2gzLWNyb3AtYm90dG9tIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDMsIFwiY3JvcC1ib3R0b21cIikpOiBtYXAuZ2V0KCRoMywgXCJjcm9wLWJvdHRvbVwiKTsgZWxzZTogZmFsc2UpO1xuJF9oNC1jcm9wLWJvdHRvbSA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg0LCBcImNyb3AtYm90dG9tXCIpKTogbWFwLmdldCgkaDQsIFwiY3JvcC1ib3R0b21cIik7IGVsc2U6IGZhbHNlKTtcbiRfaDUtY3JvcC1ib3R0b20gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNSwgXCJjcm9wLWJvdHRvbVwiKSk6IG1hcC5nZXQoJGg1LCBcImNyb3AtYm90dG9tXCIpOyBlbHNlOiBmYWxzZSk7XG4kX2g2LWNyb3AtYm90dG9tIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDYsIFwiY3JvcC1ib3R0b21cIikpOiBtYXAuZ2V0KCRoNiwgXCJjcm9wLWJvdHRvbVwiKTsgZWxzZTogZmFsc2UpO1xuXG5cbi8vIE1peGlucyBmb3IgZWFjaCBoZWFkaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfc2V0LWNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkY3JvcCkge1xuXG4gIEBpZiAobWV0YS50eXBlLW9mKCRjcm9wKSA9PSAnbWFwJykge1xuXG4gICAgJGZvbnQtc2l6ZSAgIDogdW5pdC5zdHJpcCgkZm9udC1zaXplKSAqIDEwO1xuICAgICRsaW5lLWhlaWdodCA6IHVuaXQuc3RyaXAoJGxpbmUtaGVpZ2h0KTtcbiAgICAkdG9wICAgICAgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRjcm9wLCBcInRvcFwiKSk6IHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJ0b3BcIikpOyBlbHNlOiAwKTtcbiAgICAkYm90dG9tICAgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRjcm9wLCBcImJvdHRvbVwiKSk6IHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJib3R0b21cIikpOyBlbHNlOiAwKTtcblxuICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICR0b3AsICRib3R0b20pO1xuXG4gIH1cblxufVxuXG5AbWl4aW4gaDEoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDEtZm9udC1zaXplLW1pbiBhbmQgJGgxLWZvbnQtc2l6ZS1taW4gPCAkaDEtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMS1mb250LXNpemUtbWluKX0sICN7JGgxLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMS1mb250LXNpemUsICRoMS1saW5lLWhlaWdodCwgJF9oMS1jcm9wLXRvcCwgJF9oMS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgxLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG5cbiAgfVxuXG59XG5cbkBtaXhpbiBoMigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMi1mb250LXNpemUtbWluIGFuZCAkaDItZm9udC1zaXplLW1pbiA8ICRoMi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZS1taW4pfSwgI3skaDItc2NhbGVyfSwgI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgyLWZvbnQtc2l6ZSwgJGgyLWxpbmUtaGVpZ2h0LCAkX2gyLWNyb3AtdG9wLCAkX2gyLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDItbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoMygkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMy1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMy1mb250LXNpemUtbWluIGFuZCAkaDMtZm9udC1zaXplLW1pbiA8ICRoMy1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZS1taW4pfSwgI3skaDMtc2NhbGVyfSwgI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgzLWZvbnQtc2l6ZSwgJGgzLWxpbmUtaGVpZ2h0LCAkX2gzLWNyb3AtdG9wLCAkX2gzLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDMtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNCgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNC1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNC1mb250LXNpemUtbWluIGFuZCAkaDQtZm9udC1zaXplLW1pbiA8ICRoNC1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZS1taW4pfSwgI3skaDQtc2NhbGVyfSwgI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg0LWZvbnQtc2l6ZSwgJGg0LWxpbmUtaGVpZ2h0LCAkX2g0LWNyb3AtdG9wLCAkX2g0LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDQtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNSgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNS1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNS1mb250LXNpemUtbWluIGFuZCAkaDUtZm9udC1zaXplLW1pbiA8ICRoNS1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZS1taW4pfSwgI3skaDUtc2NhbGVyfSwgI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg1LWZvbnQtc2l6ZSwgJGg1LWxpbmUtaGVpZ2h0LCAkX2g1LWNyb3AtdG9wLCAkX2g1LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDUtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNi1mb250LXNpemUtbWluIGFuZCAkaDYtZm9udC1zaXplLW1pbiA8ICRoNi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZS1taW4pfSwgI3skaDYtc2NhbGVyfSwgI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AyKCRoNi1mb250LXNpemUsICRoNi1saW5lLWhlaWdodCwgJF9oNi1jcm9wLXRvcCwgJF9oNi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg2LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gRXhwbGljaXQgQ29sb3VycyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEV4cGxpY2l0IGNvbG91cnMgYXJlIGEgd2hhdCB0aGV5IGFyZS4gR3JlZW4gaXMgZ3JlZW4sIGJsdWUgaXMgYmx1ZS4uLiBubyBvYnNjdXJpdHkuXG4vLy8gV2Ugc3VmZml4IG51bWJlcnMgdG8gZGVmaW5lIHZhcmlhdGlvbnMgb2YgY29sb3VycyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyIG9mIHNoYWRlLiBcbi8vLyBFeGFtcGxlOiBncmVlbjEsIGdyZWVuMiwgZ3JlZW4zLCBncmVlbjQuIFRoaXMgaXMgc28gd2UgY2FuIGltbWlkaWF0ZWx5IHNlZSBob3cgXG4vLy8gbWFueSBvcHRpb25zIHdlIGhhdmUgZm9yIGEgc2luZ2xlIGNvbG91ciBhdCBhIGdsYW5jZS4gSWYgeW91IHNlZSAkZ3JlZW40LCB5b3Uga25vdyB0aGlzXG4vLy8gcHJvamVjdCBpcyB1c2luZyBmb3VyIHZhcmlhdGlvbnMgb2YgZ3JlZW4uIFRoaXMgaXMgYWxzbyBvZnRlbiB1c2VmdWwgYmVjYXVzZSBtYW55IGRldmVsb3BtZW50IFxuLy8vIHRvb2xzIHdpbGwgYXV0by1zdWdnZXN0IGNvbG91cnMgd2l0aCBhY3R1YWwgZXhhbXBsZXMgb2YgdGhlIGNvbG91ci4gXG4vLy8gVGhlIFBhbGxldGVzIG1vZHVsZSAoYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUpIHdpbGwgb3V0cHV0IHNoYWRlZCBuYW1lZCB2YXJpYXRpb25zLCBcbi8vLy8gPGNvbG91cj4tZGFyayBhbmQgPGNvbG91cj4tbGlnaHQuIElmIHlvdSBuZWVkIGFkZGl0aW9uYWwgc2hhZGVzIHBsZWFzZSByZWZyYWltIGZyb20gZ29pbmcgZG93biBcbi8vLyB0aGUgJ2xpZ2h0ZXInLCAnbGlnaHRlc3QnLCAnZGFya2VyJywgJ2Rhcmtlc3QnIGNvbnZlbnRpb24uIFRoZXNlIGFyZSBub3QgcGFydGljdWFybHkgbGVnaWFibGUgXG4vLy8gYW5kIHRoZXkgYXJlIGxpbWl0ZWQgYnkgaG93IGNyZWF0aXZlIChjb25mdXNpbmcpIHlvdXIgd29yZGluZyBjYW4gYmUuIFxuLy8vIEl0IGlzIGJldHRlciB0byBkZWZpbmUgYSBuZXcgZXhwbGNpdCBjb2xvdXIgZW50aXJlbHkuIFxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS93aGF0LWRvLXlvdS1uYW1lLWNvbG9yLXZhcmlhYmxlcy9cblxuJGJsdWUgICAgICAgICAgICAgOiAjMTMxZjZiOyAvLyBQcmltYXJ5XG4kYmx1ZTIgICAgICAgICAgICA6ICMyOTJCNjg7IC8vIE5ha2VkIExpbmtcbiRibHVlMyAgICAgICAgICAgIDogIzNkM2Y3ZjsgLy8gTGlnbnQgR3JhZGllbnRcbiRibHVlNCAgICAgICAgICAgIDogIzEwMTI0ZDsgLy8gRGFyayBHcmFkaWVudFxuJGJsdWU1ICAgICAgICAgICAgOiAjMDA5NUZGOyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXIgXG5cbiRyZWQgICAgICAgICAgICAgIDogI0RGMzAzNTsgLy8gU2Vjb25kYXJ5IC0gVGhpcyBwYXNzZXMgdGhlIGNvbnRyYXN0IHJhdGlvIGFjY2Vzc2liaWxpdHkgdGVzdCBpbiBHb29nbGVzIExpZ2h0aG91c2UgXG5cbiRncmV5ICAgICAgICAgICAgIDogIzk2OTY5NTtcbiRncmV5MiAgICAgICAgICAgIDogIzZBNkE2QTsgLy8gRm9udFxuJGdyZXkzICAgICAgICAgICAgOiAjRjRGNEY0OyAvLyBMaWdodGVyIEdyZXkgQmFja2dyb3VuZFxuJGdyZXk0ICAgICAgICAgICAgOiAjZGNkY2RjO1xuJGdyZXk1ICAgICAgICAgICAgOiAjQjFCMUIxOyAvLyBTcGFjZXJzIDxocj5cbiRncmV5NiAgICAgICAgICAgIDogIzMzMzIzNjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyICBcbiRncmV5NyAgICAgICAgICAgIDogI2U5ZTllOTtcbiRncmVlbiAgICAgICAgICAgIDogIzUwQkMwODtcbiR5ZWxsb3cgICAgICAgICAgIDogI0Y2RjREQjsgLy8gRGlzY2xhaW1lciBCYWNrZ3JvdW5kXG4keWVsbG93MiAgICAgICAgICA6ICNGQ0IwMDI7XG4kYmxhY2sgICAgICAgICAgICA6ICMxRTFBMUE7XG4kd2hpdGUgICAgICAgICAgICA6ICNGRkZGRkY7XG5cbiRvcmFuZ2UgICAgICAgICAgIDogI2VkNjIyNDtcblxuXG4kdHJhbnNwYXJlbnQgICAgICA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4kbWFyayAgICAgICAgICAgICA6ICRibHVlNTsgLy8gYmFja2dyb3VuZCBjb2xvdXIgZm9yIDxtYXJrPiB0YWdzXG5cbiRkZWZhdWx0LWdyYWRpZW50IDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgJGJsdWUgNSUsICRibGFjayA2NiUpO1xuJHJldmVyc2UtZ3JhZGllbnQgOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDAlLCAkYmx1ZSA4MCUpO1xuJGxpZ2h0LWdyYWRpZW50ICAgOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGJvdHRvbSwgIzEwMTI0ZCA1NSUsICMxNzI1ODIgMTAwJSk7XG5cblxuLy8vXG4kcHJpbWFyeTogJGJsdWU7XG4vLy9cblxuXG5cblxuLy8vIFRoZW1lcyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRoZW1lLWRlZmF1bHQtcGFnZS1iYWNrZ3JvdW5kICAgIDogJGRlZmF1bHQtZ3JhZGllbnQ7XG4kdGhlbWUtZGVmYXVsdC1jb250ZW50LWJhY2tncm91bmQgOiAkdHJhbnNwYXJlbnQ7XG4kdGhlbWUtZGVmYXVsdC1uYXYtYmFja2dyb3VuZCAgICAgOiAkdHJhbnNwYXJlbnQ7XG4kdGhlbWUtZGVmYXVsdC1uYXYtYmFja2dyb3VuZC1tb2IgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1uYXYtZm9udCAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1uYXYtZm9udC1tb2IgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS1kZWZhdWx0LW5hdi1zcGFjaW5nLWNvbG91ciA6IHJnYmEoJGJsdWUsIDAuMyk7XG4kdGhlbWUtZGVmYXVsdC1mb250ICAgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1oZWFkaW5nICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtZGVmYXVsdC1hY2NlbnRcdFx0XHRcdFx0ICAgIDogJHJlZDtcbiR0aGVtZS1kZWZhdWx0LWxvZ28gICAgICAgICAgICAgICA6ICR3aGl0ZTtcblxuJHRoZW1lLXdoaXRlLXBhZ2UtYmFja2dyb3VuZCAgICAgIDogJGxpZ2h0LWdyYWRpZW50O1xuJHRoZW1lLXdoaXRlLWNvbnRlbnQtYmFja2dyb3VuZCAgIDogI2Y4ZjhmODtcbiR0aGVtZS13aGl0ZS1uYXYtYmFja2dyb3VuZCAgICAgICA6ICR0cmFuc3BhcmVudDtcbiR0aGVtZS13aGl0ZS1uYXYtYmFja2dyb3VuZC1tb2IgICA6ICRibHVlO1xuJHRoZW1lLXdoaXRlLW5hdi1mb250ICAgICAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLXdoaXRlLW5hdi1mb250LW1vYiAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLXdoaXRlLW5hdi1zcGFjaW5nLWNvbG91ciAgIDogcmdiYSgkd2hpdGUsIDAuMyk7XG4kdGhlbWUtd2hpdGUtZm9udCAgICAgICAgICAgICAgICAgOiAkYmxhY2s7XG4kdGhlbWUtd2hpdGUtaGVhZGluZyAgICAgICAgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS13aGl0ZS1hY2NlbnRcdFx0XHRcdFx0ICAgICAgOiAkdGhlbWUtZGVmYXVsdC1hY2NlbnQ7XG4kdGhlbWUtd2hpdGUtbG9nbyAgICAgICAgICAgICAgICAgOiAkd2hpdGU7XG5cbiR0aGVtZS1ibGFjay1wYWdlLWJhY2tncm91bmQgICAgICA6ICRkZWZhdWx0LWdyYWRpZW50O1xuJHRoZW1lLWJsYWNrLWNvbnRlbnQtYmFja2dyb3VuZCAgIDogJGJsYWNrO1xuJHRoZW1lLWJsYWNrLW5hdi1iYWNrZ3JvdW5kICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLWJsYWNrLW5hdi1iYWNrZ3JvdW5kLW1vYiAgIDogJHdoaXRlO1xuJHRoZW1lLWJsYWNrLW5hdi1mb250ICAgICAgICAgICAgIDogJGJsdWU7XG4kdGhlbWUtYmxhY2stbmF2LWZvbnQtbW9iICAgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS1ibGFjay1uYXYtc3BhY2luZy1jb2xvdXIgICA6IHJnYmEoJGJsdWUsIDAuMyk7XG4kdGhlbWUtYmxhY2stZm9udCAgICAgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2staGVhZGluZyAgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2stYWNjZW50XHRcdFx0XHRcdCAgICAgIDogJHRoZW1lLWRlZmF1bHQtYWNjZW50O1xuJHRoZW1lLWJsYWNrLWxvZ28gICAgICAgICAgICAgICAgIDogJGJsdWU7XG5cbi8vLyBQYWxldHRlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gQnkgbG9hZGluZyBjb25maWd1cmF0aW9ucyBpbnRvIHRoaXMgJ3BhbGxldGUnIG1vZHVsZSwgd2Ugd2lsbCBiZSBhYmxlXG4vLy8gdG8gZGVjbGFyZSB2YXJpYW50cyBvZiBhIGZldyBjb21tb24gY29sb3Vycy4gWW91IGNhbiBhbHNvIGFkanVzdCB0aGUgbGlnaHRuZXNzXG4vLy8gb3IgZGFya25lc3Mgb2YgZWFjaCB2YXJpYW50IGJ5IHBhc3NpbmcgaW4gdGhlIHJlbGV2YW50IHByaXZhdGUgcnVsZXMuIFxuLy8vIFBhbGV0dGUgd2lsbCBhbHNvIGV4cG9zZSBwb3B1bGFyIHNvY2lhbCBtZWRpYSBjb2xvdXJzIGFuZCB0aGUgWWVsbG8gYnJhbmQgY29sb3VyLlxuLy8vIEBzZWUgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vYXQtcnVsZXMvZm9yd2FyZCNjb25maWd1cmluZy1tb2R1bGVzXG4vLy8gQG91dHB1dCAkZ3JlZW4gOiAjMDI5MjlBOyAkZ3JlZW4tZGFyayA6ICMyNTY1Njk7ICRncmVlbi1saWdodDogIzA0YjljNDtcblxuQGZvcndhcmQgJ2NyZWF0ZS9wYWxldHRlJ3dpdGggKCRibHVlIDogJGJsdWUsXG5cdCRyZWQgOiAkcmVkLFxuXHQkZ3JleSA6ICRncmV5LFxuXHQkeWVsbG93IDogJHllbGxvdyxcblx0JGdyZWVuIDogJGdyZWVuLFxuXHQkYmxhY2sgOiAkYmxhY2spO1xuXG4kY29tcG9uZW50LXRoZW1lcyA6IChcInJlZFwiOiAkcmVkLCBcImJsdWVcIjogJGJsdWUsIFwiZ3JleVwiOiAkZ3JleTMsIFwid2hpdGVcIiA6ICR3aGl0ZSk7IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBIb3ZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2hvdmVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gaG92ZXIoJHNlbGVjdG9yIDogbnVsbCkge1xuICBAbWVkaWEgKCBob3ZlciA6IGhvdmVyICkge1xuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRzZWxlY3RvciB7XG4gICAgJiN7JHNlbGVjdG9yfSB7IFxuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoc2FzcygkbWluID09IDApOiAwcHg7IGVsc2U6ICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLy8gVE9ETzogUkVNT1ZFIFVORUNFU1NBUlkgQ09ERVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTGF5b3V0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBMYXlvdXQgc3R5bGluZyBzaG91bGQgYmUgdXNlZCB0byBhZGp1c3QgbGF5b3V0IHByb3BlcnRpZXMgb25seS5cbi8vIFdoZXJlIHBvc3NpYmxlLCBpdCBzaG91bGQgbm90IGJlIHVzZWQgdG8gbWFuYWdlIHRoZSBmbG93IG9mIGEgcGFnZS5cbi8vIEluc3RlYWQgb25seSB3aWR0aHMsIGhlaWdodCwgZGlzcGxheSwgZ3JpZCwgcG9zaXRpb24sIHBhZGRpbmcsIG1hcmdpbnMsIG9yZGVyLCBhbmQgYWxpa2Vcbi8vIHNob3VsZCBiZSB0aGUgcHJvcGVydGllcyBkZWZpbmVkIGluIHRoZXNlIGZpbGVzLiBLZWVwIHRoZSBsYXlvdXRzIGhlcmUgYW5kXG4vLyBjb21wb25lbnQgc3R5bGluZyBpbiB0aGVpciByZXNwZWN0aXZlIGZpbGVzLlxuXG5odG1sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5cbmJvZHkge1xuICAkc2lkZWJhci13aWR0aDogMzB2dztcblxuICAtLW5hdmlnYXRpb24tYmFyLXdpZHRoOiBjbGFtcCgyNTBweCwgMjV2dywgMzAwcHgpO1xuICAtLW5hdmlnYXRpb24tYmFyLWhlaWdodDogMTAwdmg7XG5cbiAgLS1zaWRlYmFyLXdpZHRoOiAjeyRzaWRlYmFyLXdpZHRofTtcbiAgLS1zaWRlYmFyLW1heC13aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG5cbiAgLS1sb2dvLWhlaWdodDogMjAwcHg7XG5cbiAgLS1nYXAteDogY2xhbXAoMnJlbSwgNXZ3LCA4cmVtKTtcbiAgLS1nYXAteTogNTBweDtcblxuICAtLXJvdy1jb250ZW50OiAxIC8gLTE7XG4gIC0tcm93LWhlYWRlcjogY2FsYygxICsgdmFyKC0tY29udGVudC1vZmZzZXQsIDApKTtcbiAgLS1yb3ctbWFpbjogY2FsYygyICsgdmFyKC0tY29udGVudC1vZmZzZXQsIDApKTtcblxuICAmW2RhdGEtc2lkZWJhcj0ndG9wJ10ge1xuICAgIC0tcm93LXNpZGViYXI6IDEgLyAtMTtcbiAgfVxuICAmW2RhdGEtc2lkZWJhcj0naGVhZGVyJ10ge1xuICAgIC0tcm93LXNpZGViYXI6IHZhcigtLXJvdy1oZWFkZXIpIC8gLTI7XG4gIH1cbiAgJltkYXRhLXNpZGViYXI9J2NvbnRlbnQnXSB7XG4gICAgLS1yb3ctc2lkZWJhcjogdmFyKC0tcm93LW1haW4pIC8gLTI7XG4gIH1cblxuICAtLWNvbHVtbi1uYXZpZ2F0aW9uOiAxO1xuICAtLWNvbHVtbi1jb250ZW50OiAyO1xuICAtLWNvbHVtbi1oZWFkZXI6IDI7XG4gIC0tY29sdW1uLW1haW46IDI7XG4gIC0tY29sdW1uLXNpZGViYXI6IDM7XG5cbiAgLS1yb3dzOiB2YXIoLS1sb2dvLWhlaWdodCkgYXV0byAxZnI7XG4gIC0tY29sdW1uczogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpIG1pbm1heCgwLCAxZnIpIGF1dG87XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcC15KSB2YXIoLS1nYXAteCk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogdmFyKC0tcm93cyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tY29sdW1ucyk7XG5cbiAgbmF2aWdhdGlvbi1iYXIge1xuICAgIGdyaWQtcm93OiB2YXIoLS1yb3ctbmF2aWdhdGlvbik7XG4gICAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1uYXZpZ2F0aW9uKTtcbiAgfVxuXG4gIG1haW4geyBcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgY29udGFpbmVyLW5hbWU6IG1haW47XG4gIH1cblxuICAuY29udGVudC13cmFwcGVyIHtcbiAgICBncmlkLXJvdzogdmFyKC0tcm93LWNvbnRlbnQpO1xuICAgIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tY29udGVudCk7XG4gICAgei1pbmRleDogJHotaW5kZXgtbWFpbjtcbiAgfVxuXG4gIHNpZGUtYmFyIHtcbiAgICBncmlkLXJvdzogdmFyKC0tcm93LXNpZGViYXIpO1xuICAgIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tc2lkZWJhcik7XG4gIH1cblxuICAmLmhlYXRzaW5rcy1ob21lLFxuICAmLmNvbXBvbmVudHMtaG9tZSB7XG4gICAgLS1yb3ctY29udGVudDogMjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKCdsYXJnZScpIHtcbiAgICAmW2RhdGEtc2lkZWJhcj0ndG9wJ10sXG4gICAgJltkYXRhLXNpZGViYXI9J2hlYWRlciddLFxuICAgICZbZGF0YS1zaWRlYmFyPSdjb250ZW50J10ge1xuICAgICAgLS1jb2x1bW4tc2lkZWJhcjogMjtcbiAgICAgIC0tcm93LWNvbnRlbnQ6IDEgLyAtMjtcblxuICAgICAgc2lkZS1iYXIge1xuICAgICAgICAtLXJvdy1zaWRlYmFyOiBjYWxjKHZhcigtLXJvdy1jb250ZW50KSArIDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG4gICAgcGxhY2UtY29udGVudDogc3RhcnQ7XG5cbiAgICAtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodDogNjBweDtcbiAgICAtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQ6IDYxcHg7XG5cbiAgICAtLXJvd3M6IGF1dG8gYXV0byAxZnIgYXV0bztcbiAgICAtLWNvbHVtbnM6IDAgbWlubWF4KDAsIDFmcikgMDtcblxuICAgIC0tcm93LW5hdmlnYXRpb246IDE7XG4gICAgLS1jb2x1bW4tbmF2aWdhdGlvbjogMSAvIC0xO1xuXG4gICAgJjpub3QoLmhlYXRzaW5rcy1ob21lLCAuY29tcG9uZW50cy1ob21lKSB7XG4gICAgICAtLXJvdy1jb250ZW50OiAyIC8gc3BhbiAzICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gLS1jb2x1bW4tY29udGVudDogMS8gLTE7XG5cbiAgICAvLyAtLXJvdy1jb250ZW50OiAyO1xuXG4gICAgLy8gLS1jb250ZW50LW9mZnNldDogMTtcblxuICAgICYgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIG1haW4ge1xuICAgICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgfVxuICB9XG5cbiAgJi5tb2JpbGUtb3BlbixcbiAgJi5tb2RhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLmNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS43O1xuXG4gIHVsIHsgQGluY2x1ZGUgbGlzdC11bCgkb3JhbmdlKSB9XG4gIG9sIHsgQGluY2x1ZGUgbGlzdC1vbCgpIH1cblxuICBoMyB7IEBpbmNsdWRlIGhlYWRpbmctaDIgfVxuXG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gdWwsID4gb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIH1cblxuICBAaW5jbHVkZSBoZWFkaW5nLWFsbCgpIHtcbiAgICAvLyBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgICAmICsgaDEsXG4gICAgJiArIGgyLFxuICAgICYgKyBoMyxcbiAgICAmICsgaDQsXG4gICAgJiArIGg1LFxuICAgICYgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gIGEgeyAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpIH1cbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnY29sbGVjdGlvbnMvZm9udC9jcm9wJyBhcyBmb250O1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cblxuQG1peGluIHRpY2stbWFya2VyKCRmaWxsLCAkc3Ryb2tlIDogd2hpdGUpIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nXCIrY29sb3VyLmVuY29kZSgkZmlsbCkrXCInIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5AbWl4aW4gc3R5bGUoJGZpbGwsICRzdHJva2UgOiB3aGl0ZSkge1xuICA+IGxpOjpiZWZvcmUgeyBcbiAgICBjb250ZW50OnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9J1wiK2NvbG91ci5lbmNvZGUoJGZpbGwpK1wiJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSdcIitjb2xvdXIuZW5jb2RlKCRzdHJva2UpK1wiJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuXG4vLyBVbm9yZGVyZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gdWwoJGxpc3Qtc3R5bGUtY29sb3VyIDogJGdyZWVuLCAkbGlzdC1zdHlsZS1hY2NlbnQtY29sb3VyIDogd2hpdGUpIHtcblxuICBAaW5jbHVkZSBzdHlsZSgkbGlzdC1zdHlsZS1jb2xvdXIsICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIpO1xuXG4gID4gbGkgeyBcblxuICAgIHBvc2l0aW9uICAgICAgOiByZWxhdGl2ZTsgXG4gICAgcGFkZGluZy1sZWZ0ICA6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcblxuICAgICYgKyBsaSB7IG1hcmdpbi10b3AgOiB2YXIoLS1saW5lLXN0eWxlLXNwYWNpbmcsICN7JGdhcDB9KTsgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7IFxuICAgICAgZGlzcGxheSAgOiBpbmxpbmUtYmxvY2s7IFxuICAgICAgdG9wICAgICAgOiAwLjFlbTsgXG4gICAgICBsZWZ0ICAgICA6IDA7IFxuICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoICAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICAgIGhlaWdodCAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcblxufVxuXG4vLyBPcmRlcmVkIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gb2woKSB7XG5cbiAgY291bnRlci1yZXNldCA6IGNvdW50ZXI7XG5cbiAgPiBsaSB7IFxuICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlOyBcbiAgICBkaXNwbGF5ICAgICAgOiBibG9jazsgXG4gICAgcGFkZGluZy1sZWZ0IDogMjJweDtcbiAgICBtYXJnaW4tbGVmdCAgOiB2YXIoLS1saXN0LXN0eWxlLW9mZnNldCwgMCk7XG5cbiAgICAmICsgbGkgeyBtYXJnaW4tdG9wOiRnYXAwOyB9XG5cbiAgICAmOjpiZWZvcmUgeyBcbiAgICAgIGNvbnRlbnQgICAgICAgICAgIDogY291bnRlcihjb3VudGVyKScuJztcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50IDogY291bnRlcjtcbiAgICAgIGNvbG9yICAgICAgICAgICAgIDogdmFyKC0tbGlzdC1zdHlsZS1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7IFxuICAgICAgcG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTsgXG4gICAgICBtYXJnaW4tcmlnaHQgICAgICA6IDAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xuICBcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIZWFkaW5nXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwiZm9udHNcIiBhcyBmb250O1xuXG4vLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFya25vdHRvbi9kb2dnaXN0eWxlL2Jsb2IvbWFzdGVyL2xpYnJhcnkvc3JjL2NyZWF0ZS9faGVhZGluZ3Muc2Nzc1xuLy8vIDxoPiB0YWdzIGFyZSB1c2VkIGFsbCBvdmVyIHRoZSBwbGFjZSBhbmQgdGVuZCB0byBoYXZlIGJlc3Bva2Ugc3R5bGUgZGVwZW5kaW5nXG4vLy8gaXQncyBzZW1hbnRpYyBpbXBvcnRhbmNlLiBUaGlzIGlzIHdoeSBhIDxoMj4gb24gb25lIHBhZ2UgbWF5IG5vdCBiZSB0aGUgc2FtZSBcbi8vLyBzaXplIGFzIGEgPGgyPiBvbiBhbm90aGVyIHBhZ2UuIEl0IGNhbiBiZSB0ZW1wYXRpbmcgdG8gaGFyZGNvZGUgYSBuZXcgXG4vLy8gZm9udC1zaXplIHZhbHVlIG9uIGEgY2FzZS1ieS1jYXNlIGJhc2VzLCB1c3VhdWxseSB0byBtYXRjaCB0aGUgZGVzaWducy4gXG4vLy8gSG93ZXZlciBkZXNpZ25zIHdpbGwgY2hhbmdlIG92ZXIgdGltZSBhbmQgY2xpZW50IHJlcXVlc3RzIGVmZmVjdCBmb250IGZsb3dzIGZyZXF1ZW50bHkuXG4vLy8gVG8gZW5jb3VyYWdlIGEgc3Ryb25nIGNvbnRpbnVpdHkgYWNyb3NzIHRoZSBzaXRlLCBJIHByb3Bvc2Ugd2UgdXNlIHRoZSBzYW1lIFxuLy8vIHNpeCBoZWFkaW5nIHR5cGVzIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgdGFnIG51bWJlci4gVGhpcyB3aWxsIHNhdmUgYW55XG4vLy8gZ3Vlc3N3b3JrIHdpdGggbGluZS1oZWlnaHRzIGFzd2VsbC4gXG4vLy8gU28gaWYgd2UgJ0BpbmNsdWRlIGhlYWRpbmctaDInIG9uIGEgPGg0Piwgd2Ugc3RpbGwga25vdyBvdGhlciB1bm1vZGlmaWVkIDxoMj4ncyBcbi8vLyB3aWxsIGFwcGVhciB0aGUgc2FtZSBhcyB0aGlzIHNwZWNpZmljIDxoND4uIFxuLy8vIEBleGFtcGxlIFxuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDE7XG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oMjtcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWgzO1xuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDQ7XG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oNTtcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWg2O1xuLy8vIFBhc3MgaW4gJ3RydWUnIHBhcmFtIGlmIHlvdSBvbmx5IHdhbnQgdG8gZGVmaW5lIHRoZSBmb250LXNpemUgYW5kIG5vIG90aGVyIHByb3BlcnRpZXMgKGxpbmUtaGVpZ2h0ICYgY3JvcHBpbmcpXG4vLy8gQGV4YW1wbGUgXG4vLy8gaDEgeyBAaW5jbHVkZSBoZWFkaW5nLWgzIH0gPC0gVGhpcyBIMSB3aWxsIGxvb2sgbGlrZSBhIEgzXG4vLy8gaDIgeyBAaW5jbHVkZSBoZWFkaW5nLWg0IH0gPC0gVGhpcyBIMiB3aWxsIGxvb2sgbGlrZSBhIEg0XG4vLy9cbi8vLyBAb3V0cHV0XG4vLy8gQWxzbyB0aGVzZSB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0b28gc2hvdWxkIHlvdSBuZWVkIHRoZW0gKGhvcGVmdWxseSB5b3Ugd29uJ3QpLiBcbi8vLyAkaGVhZGluZy1oMS1mb250LXNpemUsICRoZWFkaW5nLWgxLWxpbmUtaGVpZ2h0O1xuLy8vICRoZWFkaW5nLWgyLWZvbnQtc2l6ZSwgJGhlYWRpbmctaDItbGluZS1oZWlnaHQ7XG4vLy8gJGhlYWRpbmctaDMtZm9udC1zaXplLCAkaGVhZGluZy1oMy1saW5lLWhlaWdodDtcbi8vLyAkaGVhZGluZy1oNC1mb250LXNpemUsICRoZWFkaW5nLWg0LWxpbmUtaGVpZ2h0O1xuLy8vICRoZWFkaW5nLWg1LWZvbnQtc2l6ZSwgJGhlYWRpbmctaDUtbGluZS1oZWlnaHQ7XG4vLy8gJGhlYWRpbmctaDYtZm9udC1zaXplLCAkaGVhZGluZy1oNi1saW5lLWhlaWdodDtcbi8vL1xuLy8vIFR5cGUgY3JvcHBpbmcgYWRkcmVzZXMgc3BhY2luZyBpc3N1ZXMgdGhhdCBlZmZlY3QgZGlmZmVybnQgZm9udCBmaWxlc1xuLy8vIGF0IHZhcnlpbmcgZm9udCBzaXplcyBhbmQgbGluZSBoZWlnaHRzLiBUaGlzIG1peGluIGF0dGVtcHRzIHRvIGZpeCB0aGF0LiBcbi8vLyBAc2VlIGh0dHA6Ly90ZXh0LWNyb3AuZWlnaHRzaGFwZXMuY29tLz90eXBlZmFjZS1zZWxlY3Rpb249Z29vZ2xlLWZvbnQmdHlwZWZhY2U9TGF0byZjdXN0b20tdHlwZWZhY2UtbmFtZT1IZWx2ZXRpY2EmY3VzdG9tLXR5cGVmYWNlLXVybD0mY3VzdG9tLXR5cGVmYWNlLXdlaWdodD00MDAmY3VzdG9tLXR5cGVmYWNlLXN0eWxlPW5vcm1hbCZ3ZWlnaHQtYW5kLXN0eWxlPTEwMCZzaXplPTM2JmxpbmUtaGVpZ2h0PTEuMiZ0b3AtY3JvcD05JmJvdHRvbS1jcm9wPThcblxuXG5AZm9yd2FyZCAnY3JlYXRlL2hlYWRpbmdzJ3dpdGggKFxuXHQkaDEgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWgxLFxuXHRcdCdmb250LXNpemUtbWluJyA6IGZvbnQuJHNpemUtaDEtbWluLFxuXHRcdCdsaW5lLWhlaWdodCcgOiAxLjIsXG5cdFx0J3NjYWxlcicgOiA1dncsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTcsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogMFxuXHQpLFxuXHQkaDIgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWgyLFxuXHRcdCdsaW5lLWhlaWdodCcgOiAxLjMsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTQsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogNVxuXHQpLFxuXHQkaDMgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWgzLFxuXHRcdCdsaW5lLWhlaWdodCcgOiBmb250LiRsaW5lLWhlaWdodCxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNixcblx0XHQvLydjcm9wLWJvdHRvbScgOiAxXG5cdCksXG5cdCRoNCA6ICgnZm9udC1zaXplJyA6IGZvbnQuJHNpemUtaDQsXG5cdFx0J2xpbmUtaGVpZ2h0JyA6IGZvbnQuJGxpbmUtaGVpZ2h0LFxuXHRcdC8vJ2Nyb3AtdG9wJyAgICA6IDE0LFxuXHRcdC8vJ2Nyb3AtYm90dG9tJyA6IDNcblx0KSxcblx0JGg1IDogKCdmb250LXNpemUnIDogZm9udC4kc2l6ZS1oNSxcblx0XHQnbGluZS1oZWlnaHQnIDogZm9udC4kbGluZS1oZWlnaHQsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTQsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogM1xuXHQpLFxuXHQkaDYgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWg2LFxuXHRcdCdsaW5lLWhlaWdodCcgOiBmb250LiRsaW5lLWhlaWdodCxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNCxcblx0XHQvLydjcm9wLWJvdHRvbScgOiAzXG5cdClcbik7XG5cbkBtaXhpbiBhbGwoKSB7XG5cdGgxLCBoMiwgaDMsIGg0LCBoNiwgaDYge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuLy8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcmtub3R0b24vZG9nZ2lzdHlsZS9ibG9iL21hc3Rlci9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3NcblxuLy8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdmFsdWVzIGRlZmluZWQgYmVsb3cuIFxuXG5AZm9yd2FyZCAnY3JlYXRlL3VuaXRzJyB3aXRoIChcblxuICAvLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG4gIC8vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuICAvLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4gIC8vLyBAcmVzdWx0IDogJGdhcDAsICRnYXAsICRnYXAyLCAkZ2FwMywgJGdhcDQsICRnYXA1ICwgJGdhcDYsICRnYXAwLSwgJGdhcC0sICRnYXAyLSwgJGdhcDMtLCAkZ2FwNC0sICRnYXA1LSBhbmQgJGdhcDYtXG4gIFxuICAkZ2FwIDogMTZweCxcblxuICAvLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuICAvLy8gQHJlc3VsdCA6ICRzcGFjZXIwLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyNCwgJHNwYWNlcjUsICRzcGFjZXI2LCAkc3BhY2VyMC0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXI0LSwgJHNwYWNlcjUtIGFuZCAkc3BhY2VyNi1cbiAgXG4gICRzcGFjZXIgOiA0dmgsIFxuXG4gIC8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4gIC8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4gIC8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4gIC8vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4gIC8vLyBAcmVzdWx0IDogJGd1dHRlcjAsICRndXR0ZXIsICRndXR0ZXIyLCAkZ3V0dGVyMywgJGd1dHRlcjQsICRndXR0ZXI1LCAkZ3V0dGVyNiwgJGd1dHRlcjAtLCAkZ3V0dGVyLSwgJGd1dHRlcjItLCAkZ3V0dGVyMy0sICRndXR0ZXI0LSwgJGd1dHRlcjUtIGFuZCAkZ3V0dGVyNi1cbiAgXG4gICRndXR0ZXIgOiAzdncsIFxuXG4pO1xuXG4kYm9yZGVyLXJhZGl1cyA6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcblxuLy8gR2xvYmFsbHkgc3R5bGUgaW5wdXRzIGFuZCBzdWJtaXQgaGFuZGxlc1xuXG5AaW5jbHVkZSBmb3JtLWNoYXJhY3Rlci1pbnB1dHMoKSB7XG4gIEBpbmNsdWRlIGZvcm0tY2hhcmFjdGVyLWlucHV0KCk7XG4gICY6bm90KHNlbGVjdCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgZm9ybS1hbGwtaW5wdXRzKCkge1xuICAmOmZvY3VzIHsgQGluY2x1ZGUgZm9ybS1pbnB1dC1mb2N1cygpIH1cbn1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdCgpO1xufVxuXG5cbnNlbGVjdCB7ICBcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygkZm9ybS1iYXNlLWlucHV0LXBhZGRpbmcgKiAzKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgQGluY2x1ZGUgZm9ybS1hcnJvdy1kb3duLWltYWdlKCRmb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246Y2FsYygxMDAlIC0gI3skZm9ybS1iYXNlLWlucHV0LXBhZGRpbmd9KSBjZW50ZXI7XG4gIHdpZHRoOiBtaW4tY29udGVudDtcblxuICBvcHRpb24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG4uaW5wdXQtY29udGFpbmVyIHtcbiAgJi5ob3Jpem9udGFsIHsgXG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIHtcbiAgICBAaW5jbHVkZSBmb3JtLXRleHQtY29udGFpbmVyKCk7XG5cbiAgICBpbnB1dFttYXhsZW5ndGhdLCBpbnB1dFtzaXplXSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5yYWRpbywgJi5jaGVja2JveCB7IEBpbmNsdWRlIGZvcm0tcmFkaW8tY2hlY2tib3gtY29udGFpbmVyKCkgfVxuICAmLnJhZGlvIHsgQGluY2x1ZGUgZm9ybS1yYWRpby1jb250YWluZXIoKSB9XG59XG5cbi5tdWx0aS1pbnB1dCB7XG4gIEBpbmNsdWRlIGZvcm0tbXVsdGktaW5wdXQoKTtcbn1cblxucmFkaW8tdGFicyB7XG4gIEBpbmNsdWRlIGZvcm0tcmFkaW8tdGFicygpO1xufVxuXG5cbmZvcm0ge1xuXG4gIC8vIE1ha2Ugc3VibWl0IGJ1dHRvbiBkaXNhYmxlZCB3aGVuIGZvcm0gaXMgaW52YWxpZC5cblxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbjtcbiAgfVxuXG5bZGF0YS1mcmVlZm9ybS1jb250cm9sc10ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbiAgXG4gICY6aW52YWxpZCB7XG4gICAgW3R5cGU9XCJzdWJtaXRcIl0geyBcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICB9XG5cbn1cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZSRUVGT1JNIFNUWUxJTkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZm9ybSB7XG4gICZbZGF0YS1mcmVlZm9ybV0ge1xuXG4gICAgaDMsIGg0LCBoNSwgaDYgeyBAaW5jbHVkZSBoZWFkaW5nLWgyKCkgfVxuXG4gICAgLmZmLWZvcm0tc3VjY2VzcyB7XG4gICAgICAtLWZvbnQtY29sb3VyOiAjeyRncmVlbn07XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcblxuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaXN0LXRpY2stbWFya2VyKCRncmVlbik7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmYtZm9ybS1lcnJvcnMge1xuICAgICAgLS1mb250LWNvbG91cjogI3skcmVkfTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuICAgIH1cblxuICAgIC5mZi1lcnJvcnMge1xuICAgICAgLS1mb250LWNvbG91cjogI3skcmVkfTtcbiAgICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gICAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAgIH1cblxuICAgIC5mb3JtLWZpZWxkcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICAgICAgZ3JpZC1nYXA6ICRnYXA7XG5cbiAgICAgIC5mcmVlZm9ybS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMnJlbTtcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICAgICAgICAuZnJlZWZvcm0tY29sdW1uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwMjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmZyZWVmb3JtLWNvbHVtbi1jb250ZW50LWFsaWduLXJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxhYmVsOm5vdCguZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgJiArIC5mcmVlZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoJGdhcCAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmb3JtLWJhc2UtcmVxdWlyZWQoKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIElORElWSURVQUwgRk9STSBTVFlMRVNcblxuICAmW2RhdGEtaGFuZGxlPVwibWFya2V0U2VjdG9yRm9ybVwiXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC5mZi1mb3JtLWVycm9ycywgLmZmLWZvcm0tc3VjY2VzcyB7XG4gICAgICBvcmRlcjogMTA7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6ICRndXR0ZXIwICRndXR0ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuICAgICAgcCB7IFxuICAgICAgICBjb2xvcjp3aGl0ZTsgXG4gICAgICB9XG4gICAgICB1bCBsaSB7XG4gICAgICAgIGNvbG9yOndoaXRlOyBcbiAgICAgIH1cbiAgICB9XG4gICAgLmZmLWZvcm0tZXJyb3JzIHsgXG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkO1xuICAgIH1cbiAgICAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMThiMDA7XG4gICAgfVxuICAgIFxuICB9XG4gICZbZGF0YS1oYW5kbGU9XCJtYXJrZXRTZWN0b3JGb3JtXCJdLFxuICAmW2RhdGEtaGFuZGxlPVwiY29udGFjdFwiXSB7XG4gICAgLS1zdWJtaXQtaGVpZ2h0OiA0MXB4O1xuXG4gICAgLmZvcm0tZmllbGRzIHtcblxuICAgICAgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5tZXNzYWdlLCAuc3VibWl0LXJvdyB7XG4gICAgICAgIGdyaWQtcm93OiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIH1cbiAgXG4gICAgICAubWVzc2FnZSB7IFxuICAgICAgICAuZnJlZWZvcm0tY29sdW1uIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRleHRhcmVhW25hbWU9XCJtZXNzYWdlXCJdIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoNDFweCArICRnYXApO1xuICAgICAgfVxuICBcbiAgICAgIC5zdWJtaXQtcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbjogYXV0byAwIDAgYXV0bztcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtaGFuZGxlPVwiY3JlZGl0QXBwbGljYXRpb25cIl0ge1xuICAgIC5mcmVlZm9ybS1yb3cge1xuICAgICAgJjpudGgtbGFzdC1vZi10eXBlKC1uKzIpLCAmOm50aC1sYXN0LW9mLXR5cGUoLW4rMSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzL21pc2Muc2NzcycgYXMgKjtcbkB1c2UgXCJzdHlsaW5nXCIgYXMgKjtcblxuXG5AbWl4aW4gZGVmYXVsdCgpIHtcblxuICBAaW5jbHVkZSBjb2xvdXIoKTtcbiAgLS1pY29uLXNpemU6IDAuOGVtO1xuXG4gIHBvc2l0aW9uICAgICAgICAgOiByZWxhdGl2ZTtcbiAgY3Vyc29yICAgICAgICAgICA6IHBvaW50ZXI7XG5cbiAgZGlzcGxheSAgICAgICAgICA6IGZsZXg7XG4gIGZsZXgtd3JhcCAgICAgICAgOiBub3dyYXA7XG4gIGdyaWQtZ2FwICAgICAgICAgOiAkZ2FwMDtcbiAgYWxpZ24taXRlbXMgICAgICA6IGNlbnRlcjtcblxuICB3b3JkLWJyZWFrICAgICAgIDogYnJlYWstYWxsOyBcbiAgd2hpdGUtc3BhY2UgICAgICA6IG5vd3JhcDtcbiAgZm9udC13ZWlnaHQgICAgICA6IDYwMDtcbiAgbGluZS1oZWlnaHQgICAgICA6IDE7XG4gIHRleHQtdHJhbnNmb3JtICAgOiB1cHBlcmNhc2U7XG4gIG92ZXJmbG93ICAgICAgICAgOiBoaWRkZW47XG5cbiAgaGVpZ2h0ICAgICAgICAgICA6IGZpdC1jb250ZW50O1xuICBwYWRkaW5nICAgICAgICAgIDogMS4yNXJlbSAzcmVtIDEuMjVyZW0gNHJlbTtcbiAgZm9udC1zaXplICAgICAgICA6IDE2cHg7XG5cbiAgYmFja2dyb3VuZCAgICAgICA6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgY29sb3IgICAgICAgICAgICA6IHZhcigtLWZvbnQtY29sb3VyKTsgXG5cbiAgQGluY2x1ZGUgYW5nbGVkLWNsaXAoKTtcblxuICAvLyBUT0RPOiBtYXliZSBpbmNsdWRlIGEgY29udGFpbmVyIHdpdGggYSBjbGFzcyBzbyB0aGF0IGJ1dHRvbnMgY2FuIGhvbGQgb3RoZXIgZWxlbWVudHNcbiAgLy8gYXMgd2VsbCBhcyBTVkdzXG4gID4gc3ZnIHsgQGluY2x1ZGUgc3F1YXJlKHZhcigtLWljb24tc2l6ZSkpIH1cblxuXG4gICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgZGlzYWJsZWQoKSB9XG4gICY6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHsgQGluY2x1ZGUgaG92ZXIoKSB9XG5cbiAgJi5zbWFsbCB7IEBpbmNsdWRlIHNtYWxsKCkgfVxuICAmLmxhcmdlIHsgQGluY2x1ZGUgbGFyZ2UoKSB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoLTEwMCUpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIGNhbGMoMTAwJSAtIDE1cHgpIDEwMCUpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgfVxufVxuXG5cbkBtaXhpbiBjb2xvdXIoJHByaW1hcnkgOiAkcmVkLCAkc2Vjb25kYXJ5IDogd2hpdGUpIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7JHByaW1hcnl9O1xuICAtLWZvbnQtY29sb3VyIDogI3skc2Vjb25kYXJ5fTtcbn1cblxuXG5cblxuQG1peGluIHNtYWxsIHtcbiAgcGFkZGluZyAgIDogMC45cmVtIDJyZW0gMC45cmVtIDNyZW07XG4gIGZvbnQtc2l6ZSA6IDEycHg7XG59XG5cbkBtaXhpbiBsYXJnZSB7XG4gIHBhZGRpbmcgICA6IDEuNHJlbSAzcmVtIDEuNHJlbSA0LjI1cmVtO1xuICBmb250LXNpemUgOiAxOHB4O1xufVxuXG5cblxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSAtIDE1cHgpKTtcbiAgfVxufVxuXG5cblxuXG5AbWl4aW4gY2xpcHBlZCgpIHtcbiAgQGluY2x1ZGUgYW5nbGVkLWNsaXAoKTtcbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuXG5cbkBtaXhpbiBhbmdsZWQtY2xpcCgpIHtcblx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDE1cHggMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG5cbkBtaXhpbiBzcXVhcmUoJGxlbmd0aCkge1xuXHR3aWR0aDogJGxlbmd0aDtcblx0aGVpZ2h0OiAkbGVuZ3RoO1xufVxuXG5AbWl4aW4gZmVhdHVyZWQtYmFkZ2UoJGNvbG91ciA6ICRvcmFuZ2UpIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHBhZGRpbmc6IDAuN3JlbSAycmVtIDAuN3JlbSAzcmVtO1xuXHQvLyBGaXhlZCBoZWlnaHQgc2xpZ2h0bHkgZml4ZXMgYmx1cnJ5IHRleHQgaXNzdWUgaW4gY2hyb21lXG5cdGhlaWdodDogMzlweDtcblx0YmFja2dyb3VuZDogJGNvbG91cjtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Ly8gLTAuNXB4IHNsaWdodGx5IGZpeGVzIGJsdXJyeSB0ZXh0IGlzc3VlIGluIGNocm9tZVxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMC41cHgpIHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgtOTBkZWcpO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG5cdEBpbmNsdWRlIGFuZ2xlZC1jbGlwKCk7XG59XG5cbkBtaXhpbiBkaXNhYmxlZCgkb3BhY2l0eSA6IDAuNCkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCkge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR2xvYmFsIFN0eWxpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5AdXNlICd3ZWJmb250cyc7XG5AdXNlICdjdXN0b20tcHJvcGVydGllcyc7XG5AdXNlICd0eXBvZ3JhcGh5JztcbkB1c2UgJ2xheW91dCc7XG5AdXNlICdjb250ZW50JztcbkB1c2UgJ2Zvcm1zJztcblxuXG5odG1sIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcblxuICAmI3NlYXJjaCB7XG4gICAgLnN1YmhlYWRpbmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgdSB7IFxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmZpZ3VyZS5pbWFnZSwgcGljdHVyZS5pbWFnZSB7XG4gIEBpbmNsdWRlIGltYWdlLXNyY3NldCgpO1xufVxuXG52aWRlby1jb250YWluZXIge1xuICBAaW5jbHVkZSB2aWRlby1jb250YWluZXIoKTtcbn1cblxubWFyayB7XG4gIEBpbmNsdWRlIG1hcmsoKTtcbn1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuZGV0YWlscyB7IFxuICBvdXRsaW5lOm5vbmU7XG4gICZbb3Blbl0gc3VtbWFyeSA+IHN2ZyB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB9XG59XG5zdW1tYXJ5IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwgJjo6bWFya2VyIHsgZGlzcGxheTpub25lOyB9XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdyA6IGhpZGRlbiAhaW1wb3J0YW50IH1cblxuLmhpZGUge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdCgpO1xufVxuXG4uYnV0dG9uLCBidXR0b24ge1xuICBzdmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxucGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVzdWx0LWl0ZW0ge1xuICBAaW5jbHVkZSByZXN1bHQtaXRlbS1iYXNlKCk7XG59XG5cbi50YWcge1xuICBAaW5jbHVkZSB0YWcoKTtcbn1cblxuXG50YWJsZS1jb250YWluZXIge1xuICAuaGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgfVxuICAudGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlLWRlZmF1bHQoKTtcbiAgfVxufVxuXG5tYWluID4gLnNuaXBwZXQge1xuICBhIHsgLS1mb250LWNvbG91ciA6IHZhcigtLXRoZW1lLWFjY2VudCkgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEltYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW1hZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ3Bvc2l0aW9uJztcblxuQG1peGluIHNyY3NldCgkcG9zaXRpb246ZmFsc2UpIHtcblxuICBkaXNwbGF5ICAgICAgICAgICAgIDogYmxvY2s7XG5cdGJhY2tncm91bmQtcG9zaXRpb24gOiB2YXIoLS1wb3NpdGlvbiwgY2VudGVyIDMzJSk7XG5cdGJhY2tncm91bmQtc2l6ZSAgICAgOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQgICA6IG5vLXJlcGVhdDtcblx0b3ZlcmZsb3cgICAgICAgICAgICA6IGhpZGRlbjtcblxuXHRAaWYgJHBvc2l0aW9uID09ICdleHBhbmRlZCcgeyBcblx0XHRAaW5jbHVkZSBwb3NpdGlvbi5leHBhbmRlZDtcblx0fSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2Jsb3dvdXQnIHsgXG5cdFx0QGluY2x1ZGUgcG9zaXRpb24uYmxvd291dDtcblx0fSBAZWxzZSB7XG5cdFx0cG9zaXRpb24gOiByZWxhdGl2ZTsgXG5cdH1cblx0XG4gIGltZyB7XG4gICAgZGlzcGxheSAgICAgICAgIDogYmxvY2s7XG4gICAgcG9zaXRpb24gICAgICAgIDogYWJzb2x1dGU7XG4gICAgb2JqZWN0LWZpdCAgICAgIDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uIDogdmFyKC0taW1hZ2UtcG9zaXRpb24sIGNlbnRlciAzMy4zMyUpO1xuXHRcdHdpZHRoICAgICAgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcblx0XHRoZWlnaHQgICAgICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpOyBcblx0XHRtYXgtd2lkdGggICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG5cdFx0bWF4LWhlaWdodCAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcblx0XHR0b3AgICAgICAgICAgICAgOiAwOyBcblx0XHRsZWZ0ICAgICAgICAgICAgOiAwO1xuXHR9XG5cblx0QGNvbnRlbnQ7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBBc3BlY3QgUmF0aW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYXNwZWN0LXJhdGlvXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwic2FzczpzdHJpbmdcIjtcblxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNi85KVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpbyA6ICcxNi85Jykge1xuXG4gIC0tYXNwZWN0LXJhdGlvOiAje3N0cmluZy51bnF1b3RlKCRyYXRpbyl9O1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWFzcGVjdC1yYXRpbyk7XG5cbiAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAje3N0cmluZy51bnF1b3RlKCRyYXRpbyl9KSB7XG4gICAgYXNwZWN0LXJhdGlvOmluaXRpYWw7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJS8odmFyKC0tYXNwZWN0LXJhdGlvKSkpO1xuICAgIGhlaWdodDogMDtcbiAgICA+ICogeyBwb3NpdGlvbjogYWJzb2x1dGU7IH0gXG4gIH1cbn0iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICdjb2xsZWN0aW9ucy9zdHlsaW5nL2FzcGVjdC1yYXRpbycgYXMgKjtcblxuQG1peGluIGNvbnRhaW5lcigkcmF0aW86JzE2LzknKSB7XG5cdFxuXHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oJHJhdGlvKTtcblxuXHRkaXNwbGF5ICAgICAgICAgIDogYmxvY2s7XG5cdHBvc2l0aW9uICAgICAgICAgOiByZWxhdGl2ZTtcblx0d2lkdGggICAgICAgICAgICA6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3IgOiBibGFjaztcblxuXHRpZnJhbWUsIGNhbnZhcyB7XG5cdFx0cG9zaXRpb24gOiBhYnNvbHV0ZTtcblx0XHRkaXNwbGF5ICA6IGJsb2NrO1xuXHRcdHRvcCAgICAgIDogMDsgXG5cdFx0bGVmdCAgICAgOiAwO1xuXHRcdGhlaWdodCAgIDogMTAwJSAhaW1wb3J0YW50OyBcblx0XHR3aWR0aCAgICA6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufSIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5cbkBtaXhpbiBtYXJrKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Vycy1tYXJrO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoI3skYm9yZGVyLXJhZGl1c30gLyAyKTtcbiAgcGFkZGluZzowIDVweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XG59XG5cbkBtaXhpbiBtYXJrLXJlc2V0KCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgcGFkZGluZzppbml0aWFsO1xuICB0cmFuc2l0aW9uOiBpbml0aWFsO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXIgUGFsZXR0ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcIi4vbW9kdWxlcy9jb2xvdXJcIjtcblxuLy8gQWRqdXN0IHRoZXNlIHRvIGFtZW5kIHRoZSBsaWdodG5lc3Mgb3IgZGFya25lc3MgYW1vdW50cyBmb3IgdGhlIGNvbG91cnMgbHNpdGVkIGJlbG93Li4gXG5cbiRfbGlnaHRuZXNzIDogMTUlICFkZWZhdWx0O1xuJF9kYXJrbmVzcyAgOiAyMCUgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHJlZCAgICAgICAgICA6ICM5NzA4MEUgIWRlZmF1bHQ7XG4kcmVkLWxpZ2h0ICAgIDogY29sb3VyLmxpZ2h0ZW4oJHJlZCwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHJlZC1kYXJrICAgICA6IGNvbG91ci5kYXJrZW4oJHJlZCwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UgICAgICAgOiAjREE0QjBGICFkZWZhdWx0O1xuJG9yYW5nZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRvcmFuZ2UsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRvcmFuZ2UtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRvcmFuZ2UsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4keWVsbG93ICAgICAgIDogI0U5QjEwNCAhZGVmYXVsdDtcbiR5ZWxsb3ctbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkeWVsbG93LCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4keWVsbG93LWRhcmsgIDogY29sb3VyLmRhcmtlbigkeWVsbG93LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZWVuICAgICAgICA6ICM0ODhDMTMgIWRlZmF1bHQ7XG4kZ3JlZW4tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZWVuLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kZ3JlZW4tZGFyayAgIDogY29sb3VyLmRhcmtlbigkZ3JlZW4sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYmx1ZSAgICAgICAgIDogIzFCNTVDMCAhZGVmYXVsdDtcbiRibHVlLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkYmx1ZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGJsdWUtZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGJsdWUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcGluayAgICAgICAgIDogI0UwNUQ2QiAhZGVmYXVsdDtcbiRwaW5rLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkcGluaywgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHBpbmstZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJHBpbmssICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcHVycGxlICAgICAgIDogIzYxM0Q1QSAhZGVmYXVsdDtcbiRwdXJwbGUtbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkcHVycGxlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcHVycGxlLWRhcmsgIDogY29sb3VyLmRhcmtlbigkcHVycGxlLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZXkgICAgICAgICA6ICM3ODc4NzggIWRlZmF1bHQ7XG4kZ3JleS1saWdodCAgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZXksICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmV5LWRhcmsgICAgOiBjb2xvdXIuZGFya2VuKCRncmV5LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGJyb3duICAgICAgICA6ICM3NzRGMzggIWRlZmF1bHQ7XG4kYnJvd24tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGJyb3duLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYnJvd24tZGFyayAgIDogY29sb3VyLmRhcmtlbigkYnJvd24sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kd2hpdGUgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdCA7XG4kd2hpdGUtZGFyayAgIDogY29sb3VyLmxpZ2h0ZW4oJHdoaXRlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG5cbiRibGFjayAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0IDtcbiRibGFjay1saWdodCAgOiBjb2xvdXIuZGFya2VuKCRibGFjaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTb2NpYWwgTWVkaWEgQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly93d3cubG9ja2Vkb3duc2VvLmNvbS9zb2NpYWwtbWVkaWEtY29sb3JzL1xuXG4kZmFjZWJvb2s6ICAgICMxODc3ZjIgIWRlZmF1bHQ7XG4kdHdpdHRlcjogICAgICMxZGExZjIgIWRlZmF1bHQ7XG4kZ29vZ2xlOiAgICAgICM0Mjg1ZjQgIWRlZmF1bHQ7XG4keW91dHViZTogICAgICNmZjAwMDAgIWRlZmF1bHQ7XG4kbGlua2VkaW46ICAgICMwMDdiYjUgIWRlZmF1bHQ7XG4kaW5zdGFncmFtOiAgICNjMzJhYTMgIWRlZmF1bHQ7XG4kcGludGVyZXN0OiAgICNiZDA4MWMgIWRlZmF1bHQ7XG4kZGFpbHltb3Rpb246ICMwMDY2REMgIWRlZmF1bHQ7XG4kc25hcGNoYXQ6ICAgICNmZmZjMDAgIWRlZmF1bHQ7XG4kZmxpY2tyOiAgICAgICNmNDAwODMgIWRlZmF1bHQ7XG4kdmltZW86ICAgICAgICMxYWI3ZWEgIWRlZmF1bHQ7XG4kdGh1bWJsZXI6ICAgICMzNTQ2NWQgIWRlZmF1bHQ7XG4kcmVkZGl0OiAgICAgICNmZjQ1MDAgIWRlZmF1bHQ7XG4kd2hhdHNhcHA6ICAgICMyNWQzNjYgIWRlZmF1bHQ7XG4kc2t5cGU6ICAgICAgICMwMGFmZjAgIWRlZmF1bHQ7XG4kZGlzY29yZDogICAgICM3Mjg5ZGEgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEgOiAoXG4gIGZhY2Vib29rOiAgICAgJGZhY2Vib29rLFxuICB0d2l0dGVyOiAgICAgICR0d2l0dGVyLFxuICBnb29nbGU6ICAgICAgICRnb29nbGUsXG4gIHlvdXR1YmU6ICAgICAgJHlvdXR1YmUsXG4gIGxpbmtlZGluOiAgICAgJGxpbmtlZGluLFxuICBpbnN0YWdyYW06ICAgICRpbnN0YWdyYW0sXG4gIHBpbnRlcmVzdDogICAgJHBpbnRlcmVzdCxcbiAgZGFpbHltb3Rpb246ICAkZGFpbHltb3Rpb24sXG4gIHNuYXBjaGF0OiAgICAgJHNuYXBjaGF0LFxuICBmbGlja3I6ICAgICAgICRmbGlja3IsXG4gIHZpbWVvOiAgICAgICAgJHZpbWVvLFxuICB0aHVtYmxlcjogICAgICR0aHVtYmxlcixcbiAgcmVkZGl0OiAgICAgICAkcmVkZGl0LFxuICB3aGF0c2FwcDogICAgICR3aGF0c2FwcCxcbiAgc2t5cGU6ICAgICAgICAkc2t5cGUsXG4gIGRpc2NvcmQ6ICAgICAgJGRpc2NvcmRcbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPdGhlciBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4keWVsbG86ICNGRkNCMDggIWRlZmF1bHQ7XG5cbi8vLyBIYW5kbGVzIHRoZSBjdXJzb3Igc2VsZWN0aW9uIGNvbG91clxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3NlbGVjdG9ycy9zL3NlbGVjdGlvbi9cblxuJGhpZ2hsaWdodDogI0IyRDNGQSAhZGVmYXVsdDsgXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVHJhbnNpdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJoZWxwZXJzL2Vhc2VcIjtcblxuJGR1cmF0aW9uIDogMC4ycztcbiRlYXNlICAgICA6IGVhc2UuJGluLW91dDtcbiRkZWxheSAgICA6IG51bGw7XG5cbiR0cmFuc2l0aW9uIDogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsICRlYXNlKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCAkZGVsYXkpO1xuXG4kc2lkZWJhci1vcGVuOiAwLjdzIGVhc2UuJG91dC1xdWFydDtcbiRzZWFyY2gtb3BlbjogMC40cyBlYXNlLiRvdXQtY3ViaWM7XG4kbmF2LWJhY2tncm91bmQ6IDAuM3MgZWFzZS4kb3V0LXF1YXJ0OyIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICcuLi9faGVscGVycycgYXMgKjtcblxuQG1peGluIGRlZmF1bHQoKSB7XG4gIC0tY2VsbC1wYWRkaW5nLXkgOiAxcmVtO1xuICAtLWNlbGwtcGFkZGluZy14IDogMS41cmVtO1xuICAtLWNlbGwtcGFkZGluZyAgIDogdmFyKC0tY2VsbC1wYWRkaW5nLXkpIHZhcigtLWNlbGwtcGFkZGluZy14KTtcblxuICAvLyB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICB0ciB7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAvLyBUT0RPOiBjaGFuZ2UgdGhpcyB0byBzb21ldGhpbmcgbW9yZSBzZW1hbnRpY1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSk7XG4gICAgfVxuXG4gICAgdGQ6Zmlyc3QtY2hpbGQoKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleTtcbiAgICB9XG4gIH1cblxuICB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tY2VsbC1wYWRkaW5nKTtcbiAgfVxuXG4gIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1jZWxsLXBhZGRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgfVxuXG4gICYudmVydGljYWwge1xuICAgIHRyIHtcbiAgICAgIHRkOmZpcnN0LWNoaWxkIHsgZm9udC13ZWlnaHQ6IDYwMCB9XG4gICAgfVxuICB9XG5cbiAgJi5wcm9kdWN0LXNwZWNzIHtcbiAgICB0ciB7XG4gICAgICB0ZDpmaXJzdC1jaGlsZCB7IHdoaXRlLXNwYWNlOiBub3dyYXAgfVxuICAgICAgdGQ6bGFzdC1jaGlsZCB7IHdpZHRoOiAxMDAlOyB9XG4gICAgfVxuICB9XG5cbiAgJi5yZWxhdGVkLXByb2R1Y3RzIHtcbiAgICBhIHsgLS1mb250LWNvbG91cjogI3skcmVkfTsgfVxuICB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cblxubmF2aWdhdGlvbi1iYXJcdHtcblx0cG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHR3aWR0aDogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpO1xuXHRoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7XG5cdG1heC1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG5cdHBhZGRpbmc6IDAgJGdhcDIgdmFyKC0tZ2FwLXkpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwLjIpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR6LWluZGV4OiAkei1pbmRleC1uYXZpZ2F0aW9uLWJhcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbi1uYXYtYmFja2dyb3VuZDtcblxuXHRhLCBidXR0b24ge1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJHRyYW5zcGFyZW50O1xuXHR9XG5cblx0Z2xvYmFsLXNlYXJjaC1tb2JpbGUgIHsgZGlzcGxheTogbm9uZSB9XG5cblx0Lm5hdmlnYXRpb24tY29udGFpbmVyIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRAaW5jbHVkZSBzcXVhcmUoMTAwJSk7XG5cblx0XHRhLmxvZ28ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0d2lkdGg6IDk1JTtcblx0XHRcdG1pbi1oZWlnaHQ6IHZhcigtLWxvZ28taGVpZ2h0KTtcblx0XHRcdGhlaWdodDogdmFyKC0tbG9nby1oZWlnaHQpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXkpO1xuXHRcblx0XHRcdD4gc3ZnIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS10aGVtZS1sb2dvKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5sb2dvLW1vYmlsZSB7IGRpc3BsYXk6IG5vbmUgfVxuXHRcdH1cblxuXHRcdGdsb2JhbC1zZWFyY2gtZGVza3RvcCB7IG1hcmdpbi1ib3R0b206ICRnYXAyIH1cblx0fVxuXG5cdG5hdiB7XG5cdFx0bmF2aWdhdGlvbi1saW5rcyB7XG5cdFx0XHQtLWZhbGxiYWNrLW1heC1oZWlnaHQ6IDYwMHB4O1xuXHRcdFx0LS1iYXNlLXNwYWNpbmc6ICN7JGdhcDB9O1xuXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0LnRvcC1sZXZlbC1saW5rIHtcblx0XHRcdFx0cGFkZGluZzogJGdhcDAgMDtcblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6IDAgfVxuXG5cdFx0XHRcdCYuaGFzLWNoaWxkcmVuIHtcblx0XHRcdFx0XHQ+IGE6aG92ZXIgc3ZnIHsgb3BhY2l0eTogMSB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnN1Yi1tZW51IHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IGNhbGMoJGdhcDAgLyAyKSAwO1xuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOiAkZ2FwMCB9XG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkICB7IHBhZGRpbmctYm90dG9tOiAkZ2FwMCB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24sIGNvbG9yICR0cmFuc2l0aW9uLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgJHRyYW5zaXRpb247XG5cblx0XHRcdFx0XHRcdCY6bm90KC5hY3RpdmUpIHtcblx0XHRcdFx0XHRcdFx0LS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLmFjdGl2ZSB7IFxuXHRcdFx0XHRcdFx0XHQtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGhvdmVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdD4gc3ZnIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDFlbTtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC4yO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRcdC0tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zMjVzO1xuXG5cdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uLCBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRnYXA7XG5cblx0XHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdFx0YTpub3QoLmFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBob3ZlciB7IG9wYWNpdHk6IDEgfVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5oYXMtY2hpbGRyZW4ge1xuXHRcdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLm9wZW4ge1xuXHRcdFx0XHRcdFx0XHQ+IGEgPiBzdmcge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdD4gdWwge1xuXHRcdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IHZhcigtLWxpbmstbWF4LWhlaWdodCwgdmFyKC0tZmFsbGJhY2stbWF4LWhlaWdodCkpO1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnRvcC1sZXZlbC1saW5rcyB7XG5cdFx0XHRcdD4gbGkgPiBhIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSB9XG5cdFx0XHR9XG5cblx0XHRcdC5tb2JpbGUtbGluay5oaWRkZW4geyBkaXNwbGF5OiBub25lIH1cblx0XHR9XG5cdH1cblxuXHRuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmID4gKjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tZ3V0dGVyMyk7XG5cdFx0fVxuXG5cdFx0YSwgYnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiBmaXQtY29udGVudDtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRidXR0b24ubWVudSB7XG5cdFx0XHQtLXN5bWJvbC1jb2xvdXI6IHZhcigtLXRoZW1lLW5hdi1mb250LCB3aGl0ZSk7XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdC0tY29ybmVyLW9mZnNldDogMTBweDtcblxuXHRcdFx0XHR3aWR0aDozMHB4O1xuXHRcdFx0XHRoZWlnaHQ6MzBweDtcblx0XHRcblx0XHRcdFx0cG9seWdvbiB7XG5cdFx0XHRcdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDE0MHB4IDIwcHgsIDAgMjBweCwgdmFyKC0tY29ybmVyLW9mZnNldCwgMTBweCkgMCwgMTQwcHggMCk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDE1JSAzMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDE1JSA3MCVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZXh0cmEtbGlua3Mge1xuXHRcdC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcblx0XHQtLWxpbmstc3BhY2luZzogI3skZ2FwfTtcblx0XHQtLW9wYWNpdHk6IDAuNjtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLW1pbjtcblx0XHRvcGFjaXR5OiB2YXIoLS1vcGFjaXR5KTtcblx0XHRtYXJnaW4tdG9wOiBhdXRvO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6MXJlbTtcblxuXHRcdC8vIGxpICsgbGkge1xuXHRcdGxpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6MWNoO1xuXHRcdFx0bWluLXdpZHRoOiBmaXQtY29udGVudDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRAaW5jbHVkZSBob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH1cblx0XHR9XG5cdH1cbn1cblxuXG5cblxuXG5AaW5jbHVkZSBicmVhay1pbignc21hbGwtbWVkaXVtJykge1xuXG5cdG5hdmlnYXRpb24tYmFyIHtcblxuXHRcdC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IDEwMCU7XG5cdFx0LS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQ6IG1pbi1jb250ZW50O1xuXHRcdC0tbG9nby1oZWlnaHQ6IDEwMCU7XG5cdFx0LS1yb3ctcGFkZGluZzogMXJlbSB2YXIoLS1nYXAteCk7XG5cblx0XHQtLXRoZW1lLW5hdi1mb250OiB2YXIoLS10aGVtZS1uYXYtZm9udC1tb2IpO1xuXHRcdC0tdGhlbWUtbG9nbzogdmFyKC0tdGhlbWUtbmF2LWZvbnQtbW9iKTtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblxuXG5cdFx0LmV4dHJhLWxpbmtzIHsgZGlzcGxheTogbm9uZSB9XG5cdFx0Z2xvYmFsLXNlYXJjaC1kZXNrdG9wXHQgeyBkaXNwbGF5OiBub25lIH1cblxuXHRcdC5uYXZpZ2F0aW9uLWNvbnRhaW5lciwgZ2xvYmFsLXNlYXJjaC1tb2JpbGUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iKTtcblx0XHR9XG5cblx0XHRnbG9iYWwtc2VhcmNoLW1vYmlsZSAge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1yb3ctcGFkZGluZyk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpO1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpIC0gMHB4KTtcblx0XHRcdHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb24tc2VhcmNoLW9wZW47XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyKTtcblx0XHRcdHotaW5kZXg6ICR6LWluZGV4LWdsb2JhbC1zZWFyY2gtbW9iaWxlO1xuXG5cdFx0XHRmb3JtIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdFx0aW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7IGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0LS1mb250LWNvbG91cjogI3skd2hpdGV9O1xuXHRcdFx0XHRcdC0tYmFja2dyb3VuZC1jb2xvdXI6ICN7JHJlZH07XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9ybS1hcnJvdy1kb3duLWltYWdlKCR3aGl0ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuXHRcdFx0cGFkZGluZzogdmFyKC0tcm93LXBhZGRpbmcpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cik7XG5cdFx0XHR6LWluZGV4OiAkei1pbmRleC1uYXZpZ2F0aW9uLWJhci1jb250YWluZXI7XG5cdFx0XHRcblx0XHRcdGEubG9nbyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblxuXHRcdFx0XHQmLmxvZ28tZGVza3RvcCB7IGRpc3BsYXk6IG5vbmUgfVxuXHRcdFx0XHQmLmxvZ28tbW9iaWxlICB7IFxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtM3JlbTtcblx0XHRcdFx0fVxuXHRcblx0XHRcdFx0c3ZnIHsgXG5cdFx0XHRcdFx0d2lkdGg6IHVuc2V0O1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdG5hdiB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IGNhbGMoMTAwJSArIDBweCk7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdFx0cGFkZGluZzogdmFyKC0tZ2FwLXkpIHZhcigtLWdhcC14KSB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iKTtcblx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLW5hdi1iYWNrZ3JvdW5kO1xuXG5cdFx0XHQudG9wLWxldmVsLWxpbmtzIHsgb3BhY2l0eTogMCB9XG5cdFx0fVxuXHR9XG5cblxuXG5cblxuXG5cdC8vIEFjdGl2YXRlZCBjb21wb25lbnRzXG5cblx0Ym9keSB7XG5cdFx0Ji5tb2JpbGUtc2VhcmNoLW9wZW4ge1xuXHRcdFx0bmF2aWdhdGlvbi1iYXIge1xuXHRcdFx0XHRnbG9iYWwtc2VhcmNoLW1vYmlsZSB7IG1hcmdpbi10b3A6IDAgfVxuXHRcdFx0fVxuXHRcdH1cblx0XG5cdFx0Ji5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIHtcblx0XHRcdG5hdmlnYXRpb24tYmFyIHtcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogdmFyKC0tYWN0aXZhdGVkLWJhY2tncm91bmQpO1xuXG5cdFx0XHRcdG5hdiB7XG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXG5cdFx0XHRcdFx0LnRvcC1sZXZlbC1saW5rcyB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3MgJGVhc2Utb3V0LXF1YXJ0IDAuM3M7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YnV0dG9uLm1lbnUge1xuXHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHQtLWNvcm5lci1vZmZzZXQ6IDA7XG5cdFx0XHRcdFxuXHRcdFx0XHRcdFx0cG9seWdvbiB7XG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGVZKDgwJSk7XG5cdFx0XHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGVZKDgwJSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGVZKDgwJSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLmhlYXRzaW5rcy1ob21lLFxuLmNvbXBvbmVudHMtaG9tZSB7XG4gIGhlYWRlci5oZWFkZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIDAuMnM7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogJHotaW5kZXgtaGVhZGVyO1xuXG4gIC5oZWFkaW5nLFxuICAuc3ViaGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBvcmRlcjogMjtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG5cbiAgLnN1YmhlYWRpbmcge1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG5cbiAgICBhIHtcbiAgICAgIC0taGVhZGluZy1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgICAvLyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgICBjb2xvcjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICB9XG4gIH1cblxuICAuc25pcHBldCB7XG4gICAgb3JkZXI6IDM7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCgnc21hbGwtbWVkaXVtJykge1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgfVxuICB9XG5cbiAgJi50cmFuc2l0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgfVxufVxuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbm1haW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xuXHR6LWluZGV4OiAkei1pbmRleC1tYWluO1xuXHQvLyBoZWlnaHQ6IDEwMCU7XG5cblx0Y29udGVudC1ibG9ja3Mge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC1nYXA6IHZhcigtLWdhcC15KTtcblxuXHRcdHNlY3Rpb24ge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgY29tcG9uZW50LWRvZXNudC1leGlzdCgnc2Nyb2xsLWJhcicpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVhay1vdXQoJ2xhcmdlJykge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAteSk7XG5cdH1cbn0iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5cbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBjb21wb25lbnQtZXhpc3RzKCdiYWNrZ3JvdW5kLWltYWdlJykgeyBvcGFjaXR5OjAuNTsgfVxuLy8vIFBhc3MgaW4gbXVsdHVpcGxlIGNvbXBlbmVudCBuYW1lcyBpZiB5b3Ugd2FudCB0byBjaGVjayB0aGV5IGFsbCBleGlzdFxuXG5AbWl4aW4gZXhpc3RzKCRuYW1lcy4uLikge1xuXG4gICRzZWxlY3RvciA6ICdib2R5JztcbiAgJHBhcmVudCA6aWYoc2FzcyhsaXN0Lm50aChsaXN0Lm50aCgmLCAxKSwgMSkgPT0gJzpyb290Jyk6ICcnOyBlbHNlOiAmKTtcblxuICBAZWFjaCAkbmFtZSBpbiAkbmFtZXMge1xuICAgICRzZWxlY3RvciA6ICRzZWxlY3RvciArICdbZGF0YS1jb21wb25lbnRzKj1cIiN7JG5hbWV9XCJdJztcbiAgfVxuXG4gIEBhdC1yb290ICN7JHNlbGVjdG9yfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGNvbXBvbmVudC1kb2VzbnQtZXhpc3RzKCdiYWNrZ3JvdW5kLWltYWdlJykgeyBvcGFjaXR5OjAuNTsgfVxuLy8vIFBhc3MgaW4gbXVsdHVpcGxlIGNvbXBlbmVudCBuYW1lcyBpZiB5b3Ugd2FudCB0byBjaGVjayBub25lIGV4aXN0XG5cbkBtaXhpbiBkb2VzbnQtZXhpc3QoJG5hbWVzLi4uKSB7XG5cbiAgJHNlbGVjdG9yIDogJ2JvZHknO1xuICAkcGFyZW50IDppZihzYXNzKGxpc3QubnRoKGxpc3QubnRoKCYsIDEpLCAxKSA9PSAnOnJvb3QnKTogJyc7IGVsc2U6ICYpO1xuICBcbiAgQGVhY2ggJG5hbWUgaW4gJG5hbWVzIHtcbiAgICAkc2VsZWN0b3IgOiAkc2VsZWN0b3IgKyAnOm5vdChbZGF0YS1jb21wb25lbnRzKj1cIiN7JG5hbWV9XCJdKSc7XG4gIH1cblxuICBAYXQtcm9vdCAjeyRzZWxlY3Rvcn0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuc2lkZS1iYXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcblx0bWF4LXdpZHRoOiB2YXIoLS1zaWRlYmFyLW1heC13aWR0aCk7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogJHotaW5kZXgtbWFpbjtcblxuXHRkaXYuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb257XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblxuXHRcdEBtZWRpYSh3aWR0aCA+IDE0MDBweCl7XG5cdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHRvcDogdW5zZXQ7XG5cblx0XHR9XG5cdFx0QG1lZGlhKG1heC13aWR0aDogOTgwcHgpe1xuXHRcdFx0Ly8gcmlnaHQ6IDA7XG5cdFx0fVxuXHRcdEBtZWRpYShtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KXtcblx0XHRcdC8vIG1hcmdpbi1sZWZ0OiBjYWxjKGNsYW1wKDJyZW0sIDV2dywgOHJlbSkgKiAtMSk7XG5cdFx0fVxuXHR9XG5cblxuXG5cdCYuZnJlZSB7XG5cdFx0LS1jb250YWluZXItcGFkZGluZzogNHJlbTtcblx0fVxuXG5cdCYuY29udGFpbiB7XG5cdFx0PiBkaXYge1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXgpO1xuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1iZWhhdmlvdXI9XCJzdGlja3lcIl0ge1xuXHRcdC0tc3RpY2t5LXNwYWNpbmc6IDA7XG5cblx0XHQmLmNvbnRhaW4ge1xuXHRcdFx0LS1zdGlja3ktc3BhY2luZzogdmFyKC0tZ2FwLXkpO1xuXHRcdH1cblxuXHRcdD4gZGl2IHtcblx0XHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0XHR0b3A6IHZhcigtLXN0aWNreS1zcGFjaW5nKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0QGluY2x1ZGUgYnJlYWstaW4oJ2xhcmdlJykge1xuXHRcdCY6bm90KFtkYXRhLWJlaGF2aW91cj1cImZvbGRvdXRcIl0pIHtcblx0XHRcdC0tc2lkZWJhci1tYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHQtLXNpZGViYXItd2lkdGg6IDEwMCU7XG5cdFx0XHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAteSkgKiAyKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmNvbnRhaW4ge1xuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0JltkYXRhLWJlaGF2aW91cj1cImZvbGRvdXRcIl0ge1xuXHRcdHotaW5kZXg6ICR6LWluZGV4LXNpZGUtYmFyO1xuXHRcdHRyYW5zaXRpb246IG1heC13aWR0aCAwLjdzICRlYXNlLWluLW91dCwgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXNpZGViYXItb3BlbiwgdG9wICR0cmFuc2l0aW9uLXNlYXJjaC1vcGVuLCBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuXG5cdFx0PiBkaXYge1xuXHRcdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHRcdHRvcDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRcdC8vIGhlaWdodDogY2FsYygxMDAlICsgdmFyKC0tZ2FwLXkpKTtcblx0XHRcdC8vIEN1c3RvbSBwcm9wcyBkaWRuJ3Qgd29yayBmb3Igc29tZSByZWFzb24uXG5cdFx0XHQvLyBJZGVhbGx5IEkgd291bGQgaGF2ZSBsaWtlZCB0byBqdXN0IHNldCAtLXNpZGViYXItd2lkdGggdG8gdGhpcyB2YWx1ZS5cblx0XHRcdHdpZHRoOiBtaW4oY2FsYygxMDB2dyksIDQwMHB4KTtcblx0XHRcdG1heC13aWR0aDogbWluKGNhbGMoMTAwdncpLCA0MDBweCk7XG5cdFxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXHRcdFx0fVxuXHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG5cdFx0XHQub3Blbi10cmlnZ2VyICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudCB9XG5cdFx0XHQuY2xvc2UtdHJpZ2dlciB7IGRpc3BsYXk6IGJsb2NrIH1cblx0XHR9XG5cdH1cblxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5wYWdlLWJhY2tncm91bmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG5cbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogJHotaW5kZXgtcGFnZS1iYWNrZ3JvdW5kO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCk7XG4gICAgei1pbmRleDogJHotaW5kZXgtcGFnZS1iYWNrZ3JvdW5kICsgMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCgnc21hbGwtbWVkaXVtJykge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY2FsYyh2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCkpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgdmlkZW97XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC8vICYuZGVmYXVsdCB7IG9iamVjdC1wb3NpdGlvbjogMHB4IDIxdm1pbiB9XG5cbiAgICAmLmxvZ28ge1xuICAgICAgb3BhY2l0eTogMC4wMztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDQwJSwgIzEyMTUyQiAxMDAlKTtcbiAgICAgIHotaW5kZXg6ICR6LWluZGV4LXBhZ2UtYmFja2dyb3VuZCAtMTtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuYm9keTpub3QoI2hvbWUpIHtcbiAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbiAgICAgIFxuICAgICAgJjpub3QoLmhhcy1zdWJoZWFkaW5nKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpO1xuICAgICAgfVxuXG4gICAgICAmLmhhcy1zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMS44NSAqIHZhcigtLWdhcC15KSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrLWluKHNtYWxsLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXkpO1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tZ2FwLXkpKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21le1xuICAuY29udGVudC13cmFwcGVye1xuICAgIGhlYWRlcntcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG5cbiAgICAgID4gaDEsIHB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICBcbiAgICAgIH1cblxuICAgICAgaDF7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA0MDBweCl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyXG4gICAgICB9XG4gICAgICBpbWd7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgJiArIG1haW57XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCl7XG4gICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbi1tYXgoMjAwcHggLDI1JSkpO1xuXG4gICAgICAgIHB7bWFyZ2luLXRvcDogMDt9XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdXQtdXMtYmxvY2t7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDIwJSwgIzEzMWY2YiA4MCUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgPiBkaXY6bGFzdC1vZi10eXBle1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjVweCwgMWZyKSk7XG4gICAgICB9XG5cbiAgICAgID4gZGl2e1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBwYWRkaW5nOiAkZ2FwMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBncmlkLWdhcDogJGdhcDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJGdhcDtcbiAgICAgICAgICA+IGRpdntcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgICAgICAgICBnYXA6JGdhcDsgXG4gICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAmLndpcmUtZWFydGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOjYwJTsgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgIGp1c3RpZnktc2VsZjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6YXV0bztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1pbjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZXZlcnNlLWdyYWRpZW50O1xuICAgICAgcGFkZGluZzogJGdhcDIgMCAwICRnYXAyO1xuICAgIFxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBcbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1oZWFkaW5nLCAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgXG4gICAgICAuY2FsbC10by1hY3Rpb24taGVhZGluZyB7XG4gICAgICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICAgICAgLy8gZm9udC1zaXplOiAkZm9udC1zaXplLWgzO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDI7XG4gICAgICB9XG4gICAgICAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gICAgICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHJlZH07XG4gICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiAgICAgIH1cbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDM7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2Nyb2xsLWJhcntcbiAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHtcblxuICAgICAgLmFib3V0LXVzLWJsb2Nre1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICA+IGRpdntcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXIyO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCA3NSUgMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTI1cHgsIDFmcikpO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gICAgICAuYWJvdXQtdXMtYmxvY2sge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBle1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOjEyMDFweCkge1xuICAgICAgaGVhZGVyLCBzY3JvbGwtYmFyLCAuYWJvdXQtdXMtYmxvY2ssIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiwgLm1hcmtldC1zZWN0b3JzXFw6bGlzdCB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuZm9vdGVyIHtcbiAgICBwb3NpdGlvbjpzdGlja3k7XG4gICAgdG9wOjEwMGR2aDtcbiAgICBvcmRlcjo5OTtcbiAgICBwYWRkaW5nLWJvdHRvbTokc3BhY2VyOyBcbiAgICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLWNvbnRlbnQpO1xuICAgIHotaW5kZXg6MTAwMDsgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6MTIwMXB4KSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jaG9tZSBmb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6aW5pdGlhbDtcbiAgICAgICAgZ3JpZC1yb3c6IC0xO1xufSIsIkB1c2UgJ21vZHVsZXMnIGFzICo7XG5cbmNvbnRlbnQtYmxvY2tzIHtcblxuICAvLyAuLi4gQ29sdW1uIGxheW91dFxuXG4gICRjb2x1bW4tY29uZmlnOiAoXG4gICAgJzInIDogKFxuICAgICAgNzY4IDogMixcbiAgICAgIDk3OTogMSxcbiAgICAgIDEyMDA6IDIsXG4gICAgICAxNDAwOiAxLCAvLyAuLi4gVE9ETzogY2hlY2sgdGhpcyBkb2Vzbid0IHJ1aW4gcGFnZXMgd2l0aG91dCBzaWRlYmFyIGNvbXBvbmVudHNcbiAgICAgIDE3OTk6IDJcbiAgICApXG4gICk7XG5cbiAgW2RhdGEtY29sdW1uc10ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMsIDEpLCAxZnIpO1xuICAgIGdyaWQtZ2FwOiAkZ2FwMjtcbiAgfVxuXG4gIEBlYWNoICRjb2x1bW4tbnVtYmVyLCAkbWFwIGluICRjb2x1bW4tY29uZmlnIHtcbiAgICBbZGF0YS1jb2x1bW5zPVwiI3skY29sdW1uLW51bWJlcn1cIl0ge1xuXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtY29sdW1ucyBpbiAkbWFwIHtcblxuICAgICAgICBAaW5jbHVkZSBicmVhay1vdXQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAtLWNvbHVtbnMgOiAjeyRicmVha3BvaW50LWNvbHVtbnN9O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5zZWFyY2gtZWxlbWVudHtcbiAgLnNlYXJjaC1pbnB1dHtcbiAgICBzdmd7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuICB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbm1vZGFsLXdyYXBwZXIge1xuXG4gIC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91ciAgIDogI3tyZ2JhKCR3aGl0ZSwgMC45NSl9O1xuICAtLW1vZGFsLWNsb3NlLWNvbG91ciAgICAgICAgICA6ICRibGFjaztcbiAgLS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIgOiB3aGl0ZTtcblxuICAtLW1pbi13aWR0aDozMDBweDtcbiAgLS1tYXgtd2lkdGg6I3skYnJlYWstbWVkaXVtfTtcbiAgLS13aWR0aDpjbGFtcCh2YXIoLS1taW4td2lkdGgpLCA5MHZ3LCBmaXQtY29udGVudCk7XG5cbiAgLS1taW4taGVpZ2h0OjYwMHB4O1xuICAtLW1heC1oZWlnaHQ6Y2FsYygxMDB2aCAtICN7JGd1dHRlcjJ9KTtcbiAgXG4gIC0taGVpZ2h0OmNsYW1wKHZhcigtLW1pbi1oZWlnaHQpLCA5MHZ3LCBmaXQtY29udGVudCk7XG5cbiAgQHN1cHBvcnRzICggLS12Oi13ZWJraXQtZmlsbC1hdmFpbGFibGUgKSB7XG4gICAgLS1tYXgtaGVpZ2h0Oi13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIH1cblxuICAtLWNsb3NlLWJ1dHRvbi1zaXplIDogMzBweDsgXG4gIC0tbmF2LWJ1dHRvbi1zaXplIDogNDBweDsgXG5cbiAgcG9zaXRpb246Zml4ZWQ7XG4gIGluc2V0OjA7XG4gIGhlaWdodDoxMDB2aDsgXG4gIHdpZHRoOjEwMCU7IFxuICBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICB6LWluZGV4OiR6LWluZGV4LW1vZGFsO1xuICBkaXNwbGF5OmZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzICRlYXNlLWluLW91dDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuICAmLmxvYWRpbmcgeyBcbiAgICBvcGFjaXR5OjA7IFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAkZWFzZS1pbi1vdXQgMC4zcztcbiAgICBtb2RhbC1jb250YWluZXIge1xuICAgICAgb3BhY2l0eTowOyBcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDJ2aCk7IFxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzICRlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgJGVhc2UtaW4tcXVhcnQ7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLmNsb3NlIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6JGd1dHRlcjsgXG4gICAgcmlnaHQ6JGd1dHRlcjsgXG4gICAgd2lkdGg6dmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpOyBcbiAgICBoZWlnaHQ6dmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpOyBcbiAgICBzdmcgeyBcbiAgICAgIC8vIGJvcmRlcjoycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcbiAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNpcmNsZSwgcGF0aCB7IHRyYW5zaXRpb246MC4zcyAkZWFzZS1pbi1vdXQ7IH1cbiAgICAgIGNvbG9yOiB2YXIoLS1tb2RhbC1jbG9zZS1jb2xvdXIsICN7JHJlZH0pO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBzdmcgeyBcbiAgICAgICAgLS1maWxsOndoaXRlO1xuICAgICAgICAtLXN0cm9rZTp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDp2YXIoLS1uYXYtYnV0dG9uLXNpemUpOyBcbiAgICBoZWlnaHQ6dmFyKC0tbmF2LWJ1dHRvbi1zaXplKTsgXG4gICAgdG9wOmNhbGMoNTAlIC0gKHZhcigtLW5hdi1idXR0b24tc2l6ZSkgLyAyKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6MnB4IHNvbGlkIHZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgY29sb3I6d2hpdGU7IFxuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOmNvbG9yICR0cmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1vdXQtYmFjaztcbiAgICAmLnByZXZpb3VzIHsgbGVmdCA6ICRndXR0ZXI7IH1cbiAgICAmLm5leHQgeyByaWdodCA6ICRndXR0ZXI7IH1cbiAgICBzdmcgeyBcbiAgICAgIHdpZHRoOjUwJTtcbiAgICAgIGhlaWdodDo1MCU7IFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICBjb2xvcjp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbm1vZGFsLWNvbnRhaW5lciB7XG5cbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyAkZWFzZS1pbi1vdXQgMC4zcywgdHJhbnNmb3JtIDAuNXMgJGVhc2Utb3V0LXF1YXJ0IDAuM3M7XG4gIHdpZHRoOnZhcigtLXdpZHRoKTtcbiAgaGVpZ2h0OnZhcigtLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6dmFyKC0tbWF4LWhlaWdodCk7XG4gIG1heC13aWR0aDp2YXIoLS1tYXgtd2lkdGgpO1xuICBib3JkZXI6MXB4IHNvbGlkICRncmV5NDsgXG4gIGJvcmRlci1yYWRpdXM6JGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6dmFyKC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46JGd1dHRlcjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuICBAc3VwcG9ydHMgbm90ICggd2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG5cbiAgICAtLXdpZHRoIDogNjB2dztcbiAgICBtYXgtd2lkdGg6dmFyKC0tbWF4LXdpZHRoKTtcbiAgICBtaW4td2lkdGg6dmFyKC0tbWluLXdpZHRoKTtcblxuICAgIC0taGVpZ2h0IDogODB2dztcbiAgICBtYXgtaGVpZ2h0OnZhcigtLW1heC1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6dmFyKC0tbWluLWhlaWdodCk7XG4gIH1cblxuICAmOmVtcHR5IHtcbiAgICB3aWR0aDpjYWxjKHZhcigtLW1heC13aWR0aCkgLyAyKTtcbiAgICBoZWlnaHQ6Y2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAvIDIpO1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbG9hZGVyKDIwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9hZGVyLWFuaW1hdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gID4gYnV0dG9uLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3JkZXI6LTE7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdG9wOmluaXRpYWw7XG4gICAgcmlnaHQ6aW5pdGlhbDtcbiAgICBtYXJnaW4tdG9wOmNhbGMoKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpKSAvIDIpO1xuICAgIG1hcmdpbi1ib3R0b206Y2FsYygoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OmNhbGMoKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpKSAvIDIpO1xuICB9XG5cbn1cblxubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB3aWR0aDppbmhlcml0O1xuICBoZWlnaHQ6aW5oZXJpdDtcbiAgbWF4LWhlaWdodDppbmhlcml0O1xuICBtYXgtd2lkdGg6aW5oZXJpdDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiRndXR0ZXI7XG4gID4gKiB7IG1heC13aWR0aDoxMDAlOyB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwiaW1hZ2VcIl0gLmltYWdlIHsgXG4gIG1heC1oZWlnaHQ6Y2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAtICN7JGd1dHRlcjZ9KTtcbiAgYm9yZGVyOm5vbmU7XG4gIGltZyB7XG4gICAgbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gI3skZ3V0dGVyM30gLSAjeyRndXR0ZXI0fSk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjphdXRvO1xuICB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwiZGVmYXVsdFwiXSB7XG4gIG1vZGFsLWNvbnRlbnQgPiBpbWcge1xuICAgICZbc3JjKj1cIi5zdmdcIl0geyB3aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxuICB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwidmlkZW9cIl0ge1xuICAtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIgOiAje3JnYmEoYmxhY2ssIDAuOTUpfTtcbiAgLS1tb2RhbC1jbG9zZS1jb2xvdXIgICAgICAgIDogI3skd2hpdGV9O1xuICBtb2RhbC1jb250YWluZXIgeyBcbiAgICBAaW5jbHVkZSB2aWRlby1jb250YWluZXIoKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuICAgIHBhZGRpbmc6JGdhcDsgXG4gICAgbW9kYWwtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cblxuLm9wZW4taW4tbW9kYWwge1xuICBjdXJzb3I6cG9pbnRlcjtcbiAgdHJhbnNpdGlvbjpvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAmOmFmdGVyIHsgQGluY2x1ZGUgbG9hZGVyKDIwcHgsIHdoaXRlKTsgfVxuICAmLmxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICY6YWZ0ZXIgeyBAaW5jbHVkZSBsb2FkZXItYW5pbWF0aW9uKCk7IH1cbiAgfVxufVxuXG5pbWcub3Blbi1pbi1tb2RhbCwgLm9wZW4taW4tbW9kYWwgaW1nIHsgXG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAta2h0bWwtdXNlci1kcmFnOiBub25lO1xuICAtbW96LXVzZXItZHJhZzogbm9uZTtcbiAgLW8tdXNlci1kcmFnOiBub25lO1xuICB1c2VyLWRyYWc6IG5vbmU7XG59XG4iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cblxuQG1peGluIGxvYWRlcigkc2l6ZSA6IDEycHgsICRib3JkZXItdGhpY2tuZXNzIDogMnB4LCAkY29sb3VyIDogJGdyZXkpIHtcbiAgLS1zaXplIDogI3skc2l6ZX07IFxuICBjb250ZW50OlwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOmNhbGMoNTAlIC0gKHZhcigtLXNpemUpIC8gMikpOyBcbiAgbGVmdDpjYWxjKDUwJSAtICh2YXIoLS1zaXplKSAvIDIpKTsgXG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOnZhcigtLXNpemUpOyBcbiAgaGVpZ2h0OnZhcigtLXNpemUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjokYm9yZGVyLXRoaWNrbmVzcyBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAkY29sb3VyKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICRlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgQGtleWZyYW1lcyBsb2FkZXItcm90YXRlIHtcbiAgICBmcm9tIHt0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgdG8ge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIH1cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBsb2FkZXItYW5pbWF0aW9uIHsgXG4gIG9wYWNpdHk6MTsgXG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICBAY29udGVudDtcbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLmJhY2stdG8tdG9wIHtcbiAgLS1oaWRlLW9mZnNldCAgIDogLTEwcHg7XG4gIC0tc3ZnLXdpZHRoICAgICA6IDE4cHg7XG4gIC0tZWRnZS1kaXN0YW5jZSA6IDE1cHg7XG4gIC0tcmlnaHQtb2Zmc2V0ICA6IDBweDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogY2FsYyh2YXIoLS1yaWdodC1vZmZzZXQpICsgdmFyKC0tZWRnZS1kaXN0YW5jZSkpO1xuICBib3R0b206IGNhbGModmFyKC0tZWRnZS1kaXN0YW5jZSkgKyB2YXIoLS1oaWRlLW9mZnNldCkpO1xuICBAaW5jbHVkZSBzcXVhcmUoY2FsYyh2YXIoLS1zdmctd2lkdGgpICsgMTJweCkpO1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6ICR6LWluZGV4LW1haW4rMTtcbiAgLy8gb3BhY2l0eTogMDtcbiAgLy8gcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtIDAuMnMgJHRyYW5zaXRpb247XG5cbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIEBpbmNsdWRlIHNxdWFyZSh2YXIoLS1zdmctd2lkdGgpKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJjpub3QoLmhpZGUpIHsgICAgXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0taGlkZS1vZmZzZXQpKTtcbiAgfVxuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbn1cblxuQGluY2x1ZGUgYnJlYWstb3V0KGxhcmdlKSB7XG4gIHNpZGUtYmFyIH4gLmJhY2stdG8tdG9wIHtcbiAgICAtLXJpZ2h0LW9mZnNldDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxubG9nby1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogJGd1dHRlcjsgXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDokc3BhY2VyOyBcbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OjYwcHg7IFxuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVhay1vdXQoODAwcHggKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG4iXX0= */