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);
  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;
}
.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 .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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Q0Usb0NBQUE7RTNDKzFGRjtBQUNGO0E0Q3g0RkE7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLG1COUIrSE87RThCOUhQLG1CQUFBO0VBQ0EsMkI5QmtHTztBZHd5Rlg7QTRDeDRGSTtFQUNJLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7S0FBQSxtQkFBQTtBNUMwNEZSO0FVcDVGRTtFa0NIRjtJQWdCUSw4QkFBQTtFNUMyNEZOO0FBQ0YiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBOb3JtYWxpc2Vyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2Vcbi8vLyBAYXV0aG9yIEF1dGhvcnMgbmFtZVxuLy8vIEBzZWUgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuJG5vcm1hbGlzZSAgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRiYXNlLWVsZW1lbnRzICAgICA6IHRydWUgIWRlZmF1bHQ7XG4kc2VjdGlvbi1lbGVtZW50cyAgOiB0cnVlICFkZWZhdWx0O1xuJGhlYWRlci1lbGVtZW50cyAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRncm91cGluZy1lbGVtZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4kdGFibGUtZWxlbWVudHMgICAgOiB0cnVlICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudHMgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRlbWJlZGRlZC1lbGVtZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4kdGV4dC1lbGVtZW50cyAgICAgOiB0cnVlICFkZWZhdWx0O1xuJGRldi1lbGVtZW50cyAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcblxuQGlmICRub3JtYWxpc2Uge1xuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBCYXNlIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkYmFzZS1lbGVtZW50cyB7XG5cblx0XHRodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG5cdFx0YmxvY2txdW90ZSwgcHJlLCBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsIGRlbCwgZGZuLCBlbSxcblx0XHRpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLFxuXHRcdGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLFxuXHRcdGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsXG5cdFx0ZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksXG5cdFx0c2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdFx0fVxuXG5cdFx0OnJvb3Qge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0XHR9XG5cblx0XHQqLCAqOmFmdGVyLCAqOmJlZm9yZSB7XG5cdFx0XHQmOmZvY3VzIHsgb3V0bGluZTowOyB9O1xuXHRcdFx0Ym94LXNpemluZzppbmhlcml0O1xuXHRcdH1cblxuXHRcdGh0bWwgeyBcblx0XHRcdGhlaWdodDoxMDAlOyBcblx0XHRcdGZvbnQtc2l6ZTo2Mi41JTsgXG5cdFx0XHRibG9jay1zaXplOiAxMDAlO1xuXHRcdFx0aW5saW5lLXNpemU6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ym9keSB7IFxuXHRcdFx0bWluLWJsb2NrLXNpemU6IDEwMCU7XG5cdFx0XHRtaW4taW5saW5lLXNpemU6IDEwMCU7XG5cdFx0fVxuXG5cdFx0aHRtbCwgYm9keSB7XG5cdFx0XHRtaW4taGVpZ2h0OjEwMCU7XG5cdFx0fVxuXG5cdFx0cCwgcHJlLCBibG9ja3F1b3RlLCBvbCwgdWwsIGxpLCBsZWdlbmQsIGZpZ2NhcHRpb24sIGJvZHksIGFydGljbGUsIG5hdiwgYXNpZGUsIHNlY3Rpb24sIGhlYWRlciwgZm9vdGVyLCBhZGRyZXNzIHtcblx0XHRcdCY6ZW1wdHkgeyBkaXNwbGF5Om5vbmU7IH1cblx0XHR9XG5cblx0XHRhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdHN2Zywgc3ltYm9sIHsgb3ZlcmZsb3c6dmlzaWJsZTsgfVxuXG5cdFx0ZGV0YWlscyB7IGRpc3BsYXk6IGJsb2NrO1x0fVxuXG5cdFx0c3VtbWFyeSB7XG5cdFx0XHRkaXNwbGF5OiBsaXN0LWl0ZW07XG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcblx0XHRcdCY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsICY6Om1hcmtlciB7IGRpc3BsYXk6bm9uZTsgfVxuXHRcdH1cblxuXHRcdHRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTtcdH1cblxuXHRcdFtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gU2VjdGlvbiBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHNlY3Rpb24tZWxlbWVudHMge1xuXG5cdFx0Ym9keSB7XG5cdFx0XHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHRcdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdH1cblxuXHRcdGFkZHJlc3Mge1xuXHRcdFx0Zm9udC1zdHlsZTpub3JtYWw7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gSGVhZGVyIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkaGVhZGVyLWVsZW1lbnRzIHtcblxuXHRcdGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tYmVmb3JlOjBlbTtcblx0XHRcdC13ZWJraXQtbWFyZ2luLWFmdGVyOjBlbTtcblx0XHRcdC13ZWJraXQtbWFyZ2luLXN0YXJ0OjBweDtcblx0XHRcdC13ZWJraXQtbWFyZ2luLWVuZDowcHg7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEdyb3VwaW5nIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZ3JvdXBpbmctZWxlbWVudHMge1xuXG5cdFx0aHIge1xuXHRcdFx0Ym9yZGVyOm5vbmU7XG5cdFx0XHRoZWlnaHQ6MXB4O1xuXHRcdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cblx0XHRibG9ja3F1b3RlLCBxIHtcblx0XHRcdHF1b3Rlczogbm9uZTtcblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cHJlIHtcblx0XHRcdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRjb2xvcjogYmxhY2s7XG5cdFx0XHRwYWRkaW5nOjE2cHg7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6OTk5OTtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBUYWJsZSBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHRhYmxlLWVsZW1lbnRzIHtcblxuXHRcdHRhYmxlIHtcblx0XHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0XHRib3JkZXItc3BhY2luZzogMDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBGb3JtIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZm9ybS1lbGVtZW50cyB7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0fVxuXG5cdFx0YnV0dG9uLFx0aW5wdXQsIG9wdGdyb3VwLFx0c2VsZWN0LFx0dGV4dGFyZWEge1xuXHRcdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0XHRmb250LXNpemU6IDEwMCU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRidXR0b24sXHRpbnB1dCB7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cblx0XHRidXR0b24sXHRzZWxlY3Qge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0fVxuXG5cdFx0YnV0dG9uLFxuXHRcdFt0eXBlPVwiYnV0dG9uXCJdLFxuXHRcdFt0eXBlPVwicmVzZXRcIl0sXG5cdFx0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG5cdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0XHRib3JkZXI6bm9uZTtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHQmOmZvY3VzIHsgb3V0bGluZTowOyB9XG5cdFx0fVxuXG5cdFx0YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuXHRcdFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuXHRcdFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5cdFx0W3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHRidXR0b246LW1vei1mb2N1c3JpbmcsXG5cdFx0W3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5cdFx0W3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblx0XHRbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdFx0XHRvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG5cdFx0fVxuXG5cdFx0ZmllbGRzZXQge1xuXHRcdFx0cGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuXHRcdH1cblxuXHRcdGxlZ2VuZCB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdH1cblxuXHRcdHByb2dyZXNzIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHRbdHlwZT1cImNoZWNrYm94XCJdLFxuXHRcdFt0eXBlPVwicmFkaW9cIl0ge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5cdFx0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdFt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdH1cblx0XHQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuXHRcdFx0Zm9udDogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRbZGlzYWJsZWRdIHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBFbWJlZGRlZCBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJGVtYmVkZGVkLWVsZW1lbnRzIHtcblxuXHRcdGltZyB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gVGV4dCBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHRleHQtZWxlbWVudHMge1xuXG5cdFx0ZW0ge1xuXHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdFx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHR9XG5cblx0XHRhYmJyW3RpdGxlXSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG5cdFx0fVxuXG5cdFx0Yiwgc3Ryb25nIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblxuXHRcdGNvZGUsXHRrYmQsIHNhbXAge1xuXHRcdFx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0fVxuXG5cdFx0c21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiA4MCU7XG5cdFx0fVxuXG5cdFx0c3ViLCBzdXAge1xuXHRcdFx0Zm9udC1zaXplOiA3NSU7XG5cdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHRzdWIge1xuXHRcdFx0Ym90dG9tOiAtMC4yNWVtO1xuXHRcdH1cblxuXHRcdHN1cCB7XG5cdFx0XHR0b3A6IC0wLjVlbTtcblx0XHR9XG5cblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRyZXNpemU6bm9uZTtcblx0XHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIERldmVsb3BtZW50IEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZGV2LWVsZW1lbnRzIHtcblxuXHRcdHByZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRcdFx0Y29sb3I6YmxhY2s7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTpub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRwYWRkaW5nOjE2cHg7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6OTk5O1xuXHRcdH1cblx0XHRcblx0XHRib2R5LmRldm1vZGUge1xuXHRcdFx0aW1nOm5vdChbYWx0XSkge1xuXHRcdFx0XHRib3JkZXI6IDJweCByZWQgZGFzaGVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG4iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG5ibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLFxuaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCwgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYiwgdSwgaSxcbmNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLFxuY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscyxcbmVtYmVkLCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LFxuc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuOnJvb3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbio6Zm9jdXMsICo6YWZ0ZXI6Zm9jdXMsICo6YmVmb3JlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbiosICo6YWZ0ZXIsICo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtaW4tYmxvY2stc2l6ZTogMTAwJTtcbiAgbWluLWlubGluZS1zaXplOiAxMDAlO1xufVxuXG5odG1sLCBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxucDplbXB0eSwgcHJlOmVtcHR5LCBibG9ja3F1b3RlOmVtcHR5LCBvbDplbXB0eSwgdWw6ZW1wdHksIGxpOmVtcHR5LCBsZWdlbmQ6ZW1wdHksIGZpZ2NhcHRpb246ZW1wdHksIGJvZHk6ZW1wdHksIGFydGljbGU6ZW1wdHksIG5hdjplbXB0eSwgYXNpZGU6ZW1wdHksIHNlY3Rpb246ZW1wdHksIGhlYWRlcjplbXB0eSwgZm9vdGVyOmVtcHR5LCBhZGRyZXNzOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdmcsIHN5bWJvbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgLXdlYmtpdC1tYXJnaW4tYmVmb3JlOiAwZW07XG4gIC13ZWJraXQtbWFyZ2luLWFmdGVyOiAwZW07XG4gIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAwcHg7XG4gIC13ZWJraXQtbWFyZ2luLWVuZDogMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5ociB7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLCBxOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5OTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuYnV0dG9uIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLCBpbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b24sIHNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYnV0dG9uOmZvY3VzLFxuW3R5cGU9YnV0dG9uXTpmb2N1cyxcblt0eXBlPXJlc2V0XTpmb2N1cyxcblt0eXBlPXN1Ym1pdF06Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuY29kZSwga2JkLCBzYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbnByZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xufVxuXG5ib2R5LmRldm1vZGUgaW1nOm5vdChbYWx0XSkge1xuICBib3JkZXI6IDJweCByZWQgZGFzaGVkO1xufVxuXG4vKiB6LWluZGV4ZXMgYXJlIGxhcmdlIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoaW5ncyBtaWdodCBjaGFuZ2VcbiAqIGluIHRoZSBmdXR1cmUuIEluIG9yZGVyIHRvIGFjY291bnQgZm9yIHNjYWxhYmlsaXR5LCB0aGlzIGdpdmVzXG4gKiByb29tIHRvIG1ha2UgY2hhbmdlcyBhbmQgbm90IGJyZWFrIHRoZSBlbnRpcmUgc2l0ZSwgbWVhbmluZyBcbiAqIHdlIHdvbid0IGhhdmUgdG8gZ28gaW4gYW5kIHJlZmFjdG9yIGEgbG90IG9mIG91ciBjb2RlLlxuICovXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIElOUFVUU1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDT05UQUlORVJTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdEJhc2UgcmVzdWx0IHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0VmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJhc2Ugc3R5bGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFdpdGggc2Vjb25kYXJ5IHNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDaGVja2JveCB0YWdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtcmVndWxhci5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1leHRyYWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xufVxuOnJvb3Qge1xuICAtLXByaW1hcnk6ICNGRkZGRkY7XG4gIC0tc2Vjb25kYXJ5OiAjMTMxZjZiO1xufVxuOnJvb3QgYm9keVtkYXRhLXRoZW1lPWRlZmF1bHRdIHtcbiAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICMxMzFmNmIgNSUsICMxRTFBMUEgNjYlKTtcbiAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZTogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQ6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQtbW9iOiAjMTMxZjZiO1xuICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cjogcmdiYSgxOSwgMzEsIDEwNywgMC4zKTtcbiAgLS10aGVtZS1hY2NlbnQ6ICNERjMwMzU7XG4gIC0tdGhlbWUtbG9nbzogI0ZGRkZGRjtcbiAgLS1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbn1cbjpyb290IGJvZHlbZGF0YS10aGVtZT13aGl0ZV0ge1xuICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20sICMxMDEyNGQgNTUlLCAjMTcyNTgyIDEwMCUpO1xuICAtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgLS10aGVtZS1jb250ZW50LW9wcG9zaXRlOiAjRkZGRkZGO1xuICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYjogIzEzMWY2YjtcbiAgLS10aGVtZS1uYXYtZm9udDogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtZm9udC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIC0tdGhlbWUtYWNjZW50OiAjREYzMDM1O1xuICAtLXRoZW1lLWxvZ286ICNGRkZGRkY7XG4gIC0tZm9udC1jb2xvdXI6ICMxRTFBMUE7XG4gIC0taGVhZGluZy1jb2xvdXI6ICMxMzFmNmI7XG59XG46cm9vdCBib2R5W2RhdGEtdGhlbWU9YmxhY2tdIHtcbiAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICMxMzFmNmIgNSUsICMxRTFBMUEgNjYlKTtcbiAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQ6ICMxRTFBMUE7XG4gIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZTogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2I6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQ6ICMxMzFmNmI7XG4gIC0tdGhlbWUtbmF2LWZvbnQtbW9iOiAjMTMxZjZiO1xuICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cjogcmdiYSgxOSwgMzEsIDEwNywgMC4zKTtcbiAgLS10aGVtZS1mb250OiAjRkZGRkZGO1xuICAtLXRoZW1lLWFjY2VudDogI0RGMzAzNTtcbiAgLS10aGVtZS1sb2dvOiAjMTMxZjZiO1xuICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWhlYWRpbmctY29sb3VyOiAjRkZGRkZGO1xufVxuOnJvb3Qge1xuICAtLWJyZWFrcG9pbnQtbWluOiAzMjBweDtcbiAgLS1icmVha3BvaW50LXNtYWxsOiA0ODBweDtcbiAgLS1icmVha3BvaW50LXNtYWxsLW1lZGl1bTogOTgwcHg7XG4gIC0tYnJlYWtwb2ludC1tZWRpdW06IDExMjBweDtcbiAgLS1icmVha3BvaW50LWxhcmdlOiAxNDAwcHg7XG4gIC0tYnJlYWtwb2ludC1tYXg6IDE2ODBweDtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtZm9udCwgIzZBNkE2QSk7XG4gIC0taGVhZGluZy1jb2xvdXI6IHZhcigtLXRoZW1lLWhlYWRpbmcsICNGRkZGRkYpO1xuICAtLXN1Yi1oZWFkaW5nLWNvbG91cjogdmFyKC0tc2Vjb25kYXJ5LCAjMTMxZjZiKTtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAtLXRyYW5zaXRpb24tZWFzZTogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xuICAtLXRyYW5zaXRpb24tZGVsYXk6IDtcbiAgLS1nYXA6IDE2cHg7XG4gIC0tZ3V0dGVyOiAzdnc7XG4gIC0tc3BhY2VyOiA0dmg7XG4gIC0tZ3V0dGVyMDogY2xhbXAoOHB4LCB2YXIoLS1ndXR0ZXIpICogMC41LCAxMnB4KTtcbiAgLS1ndXR0ZXIwLTogY2FsYygtMSAqIGNsYW1wKDhweCwgdmFyKC0tZ3V0dGVyKSAqIDAuNSwgMTJweCkpO1xuICAtLXNwYWNlcjA6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlciksIDMycHgpO1xuICAtLXNwYWNlcjAtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSwgMzJweCkpO1xuICAtLWd1dHRlcjE6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlciksIDMycHgpO1xuICAtLWd1dHRlcjEtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSwgMzJweCkpO1xuICAtLXNwYWNlcjE6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KTtcbiAgLS1zcGFjZXIxLTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KSk7XG4gIC0tZ3V0dGVyMjogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpO1xuICAtLWd1dHRlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpKTtcbiAgLS1zcGFjZXIyOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogNiwgMTEycHgpO1xuICAtLXNwYWNlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDYsIDExMnB4KSk7XG4gIC0tZ3V0dGVyMzogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpO1xuICAtLWd1dHRlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpKTtcbiAgLS1zcGFjZXIzOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogOSwgMTYwcHgpO1xuICAtLXNwYWNlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDksIDE2MHB4KSk7XG4gIC0tZ3V0dGVyNDogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpO1xuICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpKTtcbiAgLS1zcGFjZXI0OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTIsIDIwOHB4KTtcbiAgLS1zcGFjZXI0LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxMiwgMjA4cHgpKTtcbiAgLS1ndXR0ZXI1OiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCk7XG4gIC0tZ3V0dGVyNS06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCkpO1xuICAtLXNwYWNlcjU6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxNSwgMjU2cHgpO1xuICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDE1LCAyNTZweCkpO1xuICAtLWd1dHRlcjY6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlcikgKiA2LCAxMTJweCk7XG4gIC0tZ3V0dGVyNi06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNiwgMTEycHgpKTtcbiAgLS1zcGFjZXI2OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTgsIDMwNHB4KTtcbiAgLS1zcGFjZXI2LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxOCwgMzA0cHgpKTtcbn1cbkBzdXBwb3J0cyBub3QgKHdpZHRoOiBjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgOnJvb3Qge1xuICAgIC0tZ3V0dGVyMDogY2FsYyh2YXIoLS1ndXR0ZXIpICogMC41ICsgOHB4KTtcbiAgICAtLWd1dHRlcjAtOiBjYWxjKC0xICogY2FsYyh2YXIoLS1ndXR0ZXIpICogMC41ICsgOHB4KSk7XG4gICAgLS1zcGFjZXIwOiBjYWxjKHZhcigtLXNwYWNlcikgKiAyICsgMTZweCk7XG4gICAgLS1zcGFjZXIwLTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDIgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIxOiBjYWxjKHZhcigtLWd1dHRlcikgKiAxICsgMTZweCk7XG4gICAgLS1ndXR0ZXIxLTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDEgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIxOiBjYWxjKHZhcigtLXNwYWNlcikgKiA0ICsgMTZweCk7XG4gICAgLS1zcGFjZXIxLTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDQgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIyOiBjYWxjKHZhcigtLWd1dHRlcikgKiAyICsgMTZweCk7XG4gICAgLS1ndXR0ZXIyLTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDIgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIyOiBjYWxjKHZhcigtLXNwYWNlcikgKiA4ICsgMTZweCk7XG4gICAgLS1zcGFjZXIyLTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDggKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIzOiBjYWxjKHZhcigtLWd1dHRlcikgKiAzICsgMTZweCk7XG4gICAgLS1ndXR0ZXIzLTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDMgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIzOiBjYWxjKHZhcigtLXNwYWNlcikgKiAxMiArIDE2cHgpO1xuICAgIC0tc3BhY2VyMy06IGNhbGMoLTEgKiBjYWxjKHZhcigtLXNwYWNlcikgKiAxMiArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjQ6IGNhbGModmFyKC0tZ3V0dGVyKSAqIDQgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2FsYyh2YXIoLS1ndXR0ZXIpICogNCArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjQ6IGNhbGModmFyKC0tc3BhY2VyKSAqIDE2ICsgMTZweCk7XG4gICAgLS1zcGFjZXI0LTogY2FsYygtMSAqIGNhbGModmFyKC0tc3BhY2VyKSAqIDE2ICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyNTogY2FsYyh2YXIoLS1ndXR0ZXIpICogNSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyNS06IGNhbGMoLTEgKiBjYWxjKHZhcigtLWd1dHRlcikgKiA1ICsgMTZweCkpO1xuICAgIC0tc3BhY2VyNTogY2FsYyh2YXIoLS1zcGFjZXIpICogMjAgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2FsYyh2YXIoLS1zcGFjZXIpICogMjAgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXI2OiBjYWxjKHZhcigtLWd1dHRlcikgKiA2ICsgMTZweCk7XG4gICAgLS1ndXR0ZXI2LTogY2FsYygtMSAqIGNhbGModmFyKC0tZ3V0dGVyKSAqIDYgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXI2OiBjYWxjKHZhcigtLXNwYWNlcikgKiAyNCArIDE2cHgpO1xuICAgIC0tc3BhY2VyNi06IGNhbGMoLTEgKiBjYWxjKHZhcigtLXNwYWNlcikgKiAyNCArIDE2cHgpKTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyLCAjNkE2QTZBKTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5Ac3VwcG9ydHMgKHdpZHRoOiBjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjRyZW0sIDEuNXZ3LCAxLjZyZW0pO1xuICB9XG59XG5Ac3VwcG9ydHMgbm90ICh3aWR0aDogY2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NTBweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbiAgfVxufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMy4xMjVlbTtcbiAgZm9udC1zaXplOiBjbGFtcCgyLjVlbSwgNXZ3LCAzLjEyNWVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuaDMge1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyLCB2YXIoLS1mb250LWNvbG91cikpO1xufVxuaDEuc3ViLWhlYWRpbmcsIGgyLnN1Yi1oZWFkaW5nLCBoMy5zdWItaGVhZGluZywgaDQuc3ViLWhlYWRpbmcsIGg1LnN1Yi1oZWFkaW5nLCBoNi5zdWItaGVhZGluZyB7XG4gIGNvbG9yOiB2YXIoLS1zdWItaGVhZGluZy1jb2xvdXIpO1xuICBmb250LWZhbWlseTogbGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuaDEgc3BhbiwgaDEgc3Ryb25nLCBoMSBwLCBoMiBzcGFuLCBoMiBzdHJvbmcsIGgyIHAsIGgzIHNwYW4sIGgzIHN0cm9uZywgaDMgcCwgaDQgc3BhbiwgaDQgc3Ryb25nLCBoNCBwLCBoNSBzcGFuLCBoNSBzdHJvbmcsIGg1IHAsIGg2IHNwYW4sIGg2IHN0cm9uZywgaDYgcCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbn1cbmEuZXh0ZXJuYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmEuZXh0ZXJuYWwgc3ZnLmV4dGVybmFsLWxpbmsge1xuICBvcGFjaXR5OiAwLjY7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xufVxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBoMSBhOmhvdmVyLCBoMiBhOmhvdmVyLCBoMyBhOmhvdmVyLCBoNCBhOmhvdmVyLCBoNiBhOmhvdmVyLCBoNiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbiAgfVxufVxuXG5wLCBhIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbn1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG5saSBhIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xuICBsaW5lLWhlaWdodDogMS44O1xufVxuXG5ociB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oci1jb2xvdXIsICNCMUIxQjEpO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuYm9keSB7XG4gIC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IGNsYW1wKDI1MHB4LCAyNXZ3LCAzMDBweCk7XG4gIC0tbmF2aWdhdGlvbi1iYXItaGVpZ2h0OiAxMDB2aDtcbiAgLS1zaWRlYmFyLXdpZHRoOiAzMHZ3O1xuICAtLXNpZGViYXItbWF4LXdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgLS1sb2dvLWhlaWdodDogMjAwcHg7XG4gIC0tZ2FwLXg6IGNsYW1wKDJyZW0sIDV2dywgOHJlbSk7XG4gIC0tZ2FwLXk6IDUwcHg7XG4gIC0tcm93LWNvbnRlbnQ6IDEgLyAtMTtcbiAgLS1yb3ctaGVhZGVyOiBjYWxjKDEgKyB2YXIoLS1jb250ZW50LW9mZnNldCwgMCkpO1xuICAtLXJvdy1tYWluOiBjYWxjKDIgKyB2YXIoLS1jb250ZW50LW9mZnNldCwgMCkpO1xufVxuYm9keVtkYXRhLXNpZGViYXI9dG9wXSB7XG4gIC0tcm93LXNpZGViYXI6IDEgLyAtMTtcbn1cbmJvZHlbZGF0YS1zaWRlYmFyPWhlYWRlcl0ge1xuICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctaGVhZGVyKSAvIC0yO1xufVxuYm9keVtkYXRhLXNpZGViYXI9Y29udGVudF0ge1xuICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctbWFpbikgLyAtMjtcbn1cbmJvZHkge1xuICAtLWNvbHVtbi1uYXZpZ2F0aW9uOiAxO1xuICAtLWNvbHVtbi1jb250ZW50OiAyO1xuICAtLWNvbHVtbi1oZWFkZXI6IDI7XG4gIC0tY29sdW1uLW1haW46IDI7XG4gIC0tY29sdW1uLXNpZGViYXI6IDM7XG4gIC0tcm93czogdmFyKC0tbG9nby1oZWlnaHQpIGF1dG8gMWZyO1xuICAtLWNvbHVtbnM6IHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpIHZhcigtLWdhcC14KTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB2YXIoLS1yb3dzKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW5zKTtcbn1cbmJvZHkgbmF2aWdhdGlvbi1iYXIge1xuICBncmlkLXJvdzogdmFyKC0tcm93LW5hdmlnYXRpb24pO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLW5hdmlnYXRpb24pO1xufVxuYm9keSBtYWluIHtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICBjb250YWluZXItbmFtZTogbWFpbjtcbn1cbmJvZHkgLmNvbnRlbnQtd3JhcHBlciB7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctY29udGVudCk7XG4gIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tY29udGVudCk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5ib2R5IHNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IHZhcigtLXJvdy1zaWRlYmFyKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbn1cbmJvZHkuaGVhdHNpbmtzLWhvbWUsIGJvZHkuY29tcG9uZW50cy1ob21lIHtcbiAgLS1yb3ctY29udGVudDogMjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgYm9keVtkYXRhLXNpZGViYXI9dG9wXSwgYm9keVtkYXRhLXNpZGViYXI9aGVhZGVyXSwgYm9keVtkYXRhLXNpZGViYXI9Y29udGVudF0ge1xuICAgIC0tY29sdW1uLXNpZGViYXI6IDI7XG4gICAgLS1yb3ctY29udGVudDogMSAvIC0yO1xuICB9XG4gIGJvZHlbZGF0YS1zaWRlYmFyPXRvcF0gc2lkZS1iYXIsIGJvZHlbZGF0YS1zaWRlYmFyPWhlYWRlcl0gc2lkZS1iYXIsIGJvZHlbZGF0YS1zaWRlYmFyPWNvbnRlbnRdIHNpZGUtYmFyIHtcbiAgICAtLXJvdy1zaWRlYmFyOiBjYWxjKHZhcigtLXJvdy1jb250ZW50KSArIDMpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keSB7XG4gICAgcGxhY2UtY29udGVudDogc3RhcnQ7XG4gICAgLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQ6IDYwcHg7XG4gICAgLS1uYXZpZ2F0aW9uLW1vYmlsZS1zZWFyY2gtaGVpZ2h0OiA2MXB4O1xuICAgIC0tcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgIC0tY29sdW1uczogMCBtaW5tYXgoMCwgMWZyKSAwO1xuICAgIC0tcm93LW5hdmlnYXRpb246IDE7XG4gICAgLS1jb2x1bW4tbmF2aWdhdGlvbjogMSAvIC0xO1xuICB9XG4gIGJvZHk6bm90KC5oZWF0c2lua3MtaG9tZSwgLmNvbXBvbmVudHMtaG9tZSkge1xuICAgIC0tcm93LWNvbnRlbnQ6IDIgLyBzcGFuIDMgIWltcG9ydGFudDtcbiAgfVxuICBib2R5ID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgYm9keSBtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgfVxufVxuYm9keS5tb2JpbGUtb3BlbiwgYm9keS5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS43O1xufVxuLmNvbnRlbnQgdWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzREE0QjBGJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uY29udGVudCB1bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcbn1cbi5jb250ZW50IHVsID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgY2FsYyh2YXIoLS1nYXApICogMC41KSk7XG59XG4uY29udGVudCB1bCA+IGxpOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMC4xZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbiAgaGVpZ2h0OiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG59XG4uY29udGVudCBvbCB7XG4gIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XG59XG4uY29udGVudCBvbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbGlzdC1zdHlsZS1vZmZzZXQsIDApO1xufVxuLmNvbnRlbnQgb2wgPiBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbi5jb250ZW50IG9sID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoY291bnRlcikgXCIuXCI7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBjb3VudGVyO1xuICBjb2xvcjogdmFyKC0tbGlzdC1zdHlsZS1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi5jb250ZW50IGgzIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4uY29udGVudCA+ICoge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuLmNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNvbnRlbnQgPiB1bCwgLmNvbnRlbnQgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG4uY29udGVudCBoMSwgLmNvbnRlbnQgaDIsIC5jb250ZW50IGgzLCAuY29udGVudCBoNCwgLmNvbnRlbnQgaDYsIC5jb250ZW50IGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbn1cbi5jb250ZW50IGgxICsgaDEsIC5jb250ZW50IGgxICsgaDIsIC5jb250ZW50IGgxICsgaDMsIC5jb250ZW50IGgxICsgaDQsIC5jb250ZW50IGgxICsgaDUsIC5jb250ZW50IGgxICsgaDYsIC5jb250ZW50IGgyICsgaDEsIC5jb250ZW50IGgyICsgaDIsIC5jb250ZW50IGgyICsgaDMsIC5jb250ZW50IGgyICsgaDQsIC5jb250ZW50IGgyICsgaDUsIC5jb250ZW50IGgyICsgaDYsIC5jb250ZW50IGgzICsgaDEsIC5jb250ZW50IGgzICsgaDIsIC5jb250ZW50IGgzICsgaDMsIC5jb250ZW50IGgzICsgaDQsIC5jb250ZW50IGgzICsgaDUsIC5jb250ZW50IGgzICsgaDYsIC5jb250ZW50IGg0ICsgaDEsIC5jb250ZW50IGg0ICsgaDIsIC5jb250ZW50IGg0ICsgaDMsIC5jb250ZW50IGg0ICsgaDQsIC5jb250ZW50IGg0ICsgaDUsIC5jb250ZW50IGg0ICsgaDYsIC5jb250ZW50IGg2ICsgaDEsIC5jb250ZW50IGg2ICsgaDIsIC5jb250ZW50IGg2ICsgaDMsIC5jb250ZW50IGg2ICsgaDQsIC5jb250ZW50IGg2ICsgaDUsIC5jb250ZW50IGg2ICsgaDYsIC5jb250ZW50IGg2ICsgaDEsIC5jb250ZW50IGg2ICsgaDIsIC5jb250ZW50IGg2ICsgaDMsIC5jb250ZW50IGg2ICsgaDQsIC5jb250ZW50IGg2ICsgaDUsIC5jb250ZW50IGg2ICsgaDYge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuLmNvbnRlbnQgYSB7XG4gIC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCkgO1xufVxuXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT1udW1iZXJdLCBpbnB1dFt0eXBlPXNlYXJjaF0sIHNlbGVjdCwgdGV4dGFyZWEge1xuICAtLWZvbnQtY29sb3VyOiAjNkE2QTZBO1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjRkZGRkZGO1xuICAtLXBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDEuNSkgdmFyKC0tZ2FwKTtcbiAgLS1ib3JkZXItY29sb3VyOiAjZTllOWU5O1xuICAtLWJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTsgLyogT3BlcmEgMTAuNSwgSUUgOSwgU2FmYXJpIDUsIENocm9tZSwgRmlyZWZveCA0LCBpT1MgNCwgQW5kcm9pZCAyLjErICovXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsgLyogU2FmYXJpIDMtNCwgaU9TIDEtMy4yLCBBbmRyb2lkIDEuNi0gKi9cbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwOyAvKiBGaXJlZm94IDEtMy42ICovXG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZyk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCB0cmFuc3BhcmVudDtcbn1cbmlucHV0W3R5cGU9dGV4dF06OnBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPWVtYWlsXTo6cGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9bnVtYmVyXTo6cGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIsIHNlbGVjdDo6cGxhY2Vob2xkZXIsIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuaW5wdXRbdHlwZT10ZXh0XTpub3Qoc2VsZWN0KSwgaW5wdXRbdHlwZT1lbWFpbF06bm90KHNlbGVjdCksIGlucHV0W3R5cGU9bnVtYmVyXTpub3Qoc2VsZWN0KSwgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdChzZWxlY3QpLCBzZWxlY3Q6bm90KHNlbGVjdCksIHRleHRhcmVhOm5vdChzZWxlY3QpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbmlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLFxuc2VsZWN0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAxcHggcmdiYSgyMjMsIDQ4LCA1MywgMC4zKTtcbn1cblxuaW5wdXRbdHlwZT1zdWJtaXRdLCBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0taWNvbi1zaXplOiAwLjhlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMS4yNXJlbSAzcmVtIDEuMjVyZW0gNHJlbTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAxNXB4IDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdID4gc3ZnLCBidXR0b25bdHlwZT1zdWJtaXRdID4gc3ZnIHtcbiAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcbn1cbmlucHV0W3R5cGU9c3VibWl0XVtkaXNhYmxlZF0sIGJ1dHRvblt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmlucHV0W3R5cGU9c3VibWl0XTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGJ1dHRvblt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpiZWZvcmUsIGJ1dHRvblt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlIC0gMTVweCkpO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdLnNtYWxsLCBidXR0b25bdHlwZT1zdWJtaXRdLnNtYWxsIHtcbiAgcGFkZGluZzogMC45cmVtIDJyZW0gMC45cmVtIDNyZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XS5sYXJnZSwgYnV0dG9uW3R5cGU9c3VibWl0XS5sYXJnZSB7XG4gIHBhZGRpbmc6IDEuNHJlbSAzcmVtIDEuNHJlbSA0LjI1cmVtO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF06OmJlZm9yZSwgYnV0dG9uW3R5cGU9c3VibWl0XTo6YmVmb3JlIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCBjYWxjKDEwMCUgLSAxNXB4KSAxMDAlKTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM2QTZBNkEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gdmFyKC0tZ2FwKSkgY2VudGVyO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG59XG5zZWxlY3Qgb3B0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmlucHV0LWNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbiAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uaW5wdXQtY29udGFpbmVyOm5vdCgucmFkaW8sIC5jaGVja2JveCkge1xuICAtLWxhYmVsLWNvbG91cjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWxhYmVsLWFjdGl2ZS1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxcmVtO1xufVxuLmlucHV0LWNvbnRhaW5lcjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWxhYmVsLWNvbG91cik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLmlucHV0LWNvbnRhaW5lcjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIHtcbiAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbn1cbi5pbnB1dC1jb250YWluZXI6bm90KC5yYWRpbywgLmNoZWNrYm94KSBpbnB1dFttYXhsZW5ndGhdLCAuaW5wdXQtY29udGFpbmVyOm5vdCgucmFkaW8sIC5jaGVja2JveCkgaW5wdXRbc2l6ZV0ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IHtcbiAgLS1sYWJlbC1jb2xvdXI6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgLS1sYWJlbC1hY3RpdmUtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMXJlbTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWwsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWwge1xuICBjb2xvcjogdmFyKC0tbGFiZWwtY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IHtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgLS1pbnB1dC13aWR0aDogMS4yZW07XG4gIC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzczogMXB4O1xuICAtLWlucHV0LWFjdGl2ZS1jb2xvdXI6ICNERjMwMzU7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGxhYmVsIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDo6YWZ0ZXIsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBncmlkLXJvdzogMTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjpiZWZvcmUsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIHdpZHRoOiB2YXIoLS1pbnB1dC13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0taW5wdXQtd2lkdGgpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci10aGlja25lc3MsIDFweCkgc29saWQgIzk2OTY5NTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjphZnRlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogY2FsYyh2YXIoLS1pbnB1dC13aWR0aCkgLSB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzKSAqIDYpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0taW5wdXQtd2lkdGgpIC0gdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcykgKiA2KTtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG4gIG9wYWNpdHk6IDA7XG4gIGxlZnQ6IC0xMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6aG92ZXIsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICAtLWxhYmVsLWNvbG91cjogdmFyKC0tbGFiZWwtYWN0aXZlLWNvbG91cik7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOmhvdmVyOjpiZWZvcmUsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGlucHV0LCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBpbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDo6YmVmb3JlLCAuaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm11bHRpLWlucHV0IHtcbiAgLS1pbnB1dC1zcGFjaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLWlucHV0LXNwYWNpbmcpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG59XG4ubXVsdGktaW5wdXQgaW5wdXRbdHlwZT10ZXh0XTpub3Qoc2VsZWN0KSwgLm11bHRpLWlucHV0IGlucHV0W3R5cGU9ZW1haWxdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgaW5wdXRbdHlwZT1udW1iZXJdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgc2VsZWN0Om5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgdGV4dGFyZWE6bm90KHNlbGVjdCkge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLm11bHRpLWlucHV0ID4gKjpub3Qoc2VsZWN0LCBidXR0b24sIGEpIHtcbiAgZmxleDogMTtcbn1cbi5tdWx0aS1pbnB1dCBzZWxlY3QsIC5tdWx0aS1pbnB1dCBidXR0b24sIC5tdWx0aS1pbnB1dCBhIHtcbiAgLS1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLm11bHRpLWlucHV0IHNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNGRkZGRkYnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5yYWRpby10YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwO1xufVxucmFkaW8tdGFicyByYWRpby10YWIgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWFjY2VudCk7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dDpub3QoOmNoZWNrZWQpICsgbGFiZWw6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtYWNjZW50KTtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxucmFkaW8tdGFicyByYWRpby10YWIgbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuZm9ybSBbdHlwZT1zdWJtaXRdIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbmZvcm0gW2RhdGEtZnJlZWZvcm0tY29udHJvbHNdIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbmZvcm06aW52YWxpZCBbdHlwZT1zdWJtaXRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG5mb3JtW2RhdGEtZnJlZWZvcm1dIGgzLCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg0LCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg1LCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg2IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mZi1mb3JtLXN1Y2Nlc3Mge1xuICAtLWZvbnQtY29sb3VyOiAjNTBCQzA4O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjM1MEJDMDgnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwKTtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxLjI1ZW07XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mZi1mb3JtLWVycm9ycyB7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZmYtZXJyb3JzIHtcbiAgLS1mb250LWNvbG91cjogI0RGMzAzNTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMnJlbTtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBoMywgZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uIGg0LCBmb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gaDUsIGZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBoNiB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uLmZyZWVmb3JtLWNvbHVtbi1jb250ZW50LWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gIG9wYWNpdHk6IDAuNztcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpICsgLmZyZWVmb3JtLWlucHV0IHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyByZXF1aXJlZC1ub3RpY2Uge1xuICAtLW5vdGljZS1jb2xvdXI6ICNERjMwMzU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiB2YXIoLS1ub3RpY2UtY29sb3VyKTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIHJlcXVpcmVkLW5vdGljZSBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgb3BhY2l0eTogMDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMsIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB7XG4gIG9yZGVyOiAxMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjApIHZhcigtLWd1dHRlcjEpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tZXJyb3JzIHAsIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMgdWwgbGksIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB1bCBsaSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tZXJyb3JzIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMyMThiMDA7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIHtcbiAgLS1zdWJtaXQtaGVpZ2h0OiA0MXB4O1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyAubWVzc2FnZSwgZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgLnN1Ym1pdC1yb3csIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5tZXNzYWdlLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyB7XG4gIGdyaWQtcm93OiA1O1xuICBncmlkLWNvbHVtbjogMTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5tZXNzYWdlIC5mcmVlZm9ybS1jb2x1bW4sIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5tZXNzYWdlIC5mcmVlZm9ybS1jb2x1bW4ge1xuICBkaXNwbGF5OiBncmlkO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgdGV4dGFyZWFbbmFtZT1tZXNzYWdlXSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgdGV4dGFyZWFbbmFtZT1tZXNzYWdlXSB7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDQxcHggKyB2YXIoLS1nYXApKTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93LCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyB7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IGF1dG8gMCAwIGF1dG87XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyBidXR0b24sIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93IGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB6LWluZGV4OiAyO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jcmVkaXRBcHBsaWNhdGlvbl0gLmZyZWVmb3JtLXJvdzpudGgtbGFzdC1vZi10eXBlKC1uKzIpLCBmb3JtW2RhdGEtaGFuZGxlPWNyZWRpdEFwcGxpY2F0aW9uXSAuZnJlZWZvcm0tcm93Om50aC1sYXN0LW9mLXR5cGUoLW4rMSkge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jcmVkaXRBcHBsaWNhdGlvbl0gLmZyZWVmb3JtLXJvdzpsYXN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5odG1sIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcbn1cbmJvZHkjc2VhcmNoIC5zdWJoZWFkaW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtO1xufVxuYm9keSNzZWFyY2ggLnN1YmhlYWRpbmcgdSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuZmlndXJlLmltYWdlLCBwaWN0dXJlLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLXBvc2l0aW9uLCBjZW50ZXIgMzMlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZmlndXJlLmltYWdlIGltZywgcGljdHVyZS5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS1pbWFnZS1wb3NpdGlvbiwgY2VudGVyIDMzLjMzJSk7XG4gIHdpZHRoOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG4gIGhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG4gIG1heC1oZWlnaHQ6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxudmlkZW8tY29udGFpbmVyIHtcbiAgLS1hc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0LXJhdGlvKTtcbn1cbkBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYvOSkge1xuICB2aWRlby1jb250YWluZXIge1xuICAgIGFzcGVjdC1yYXRpbzogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gKHZhcigtLWFzcGVjdC1yYXRpbykpKTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgdmlkZW8tY29udGFpbmVyID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG52aWRlby1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG52aWRlby1jb250YWluZXIgaWZyYW1lLCB2aWRlby1jb250YWluZXIgY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk1RkY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpIC8gMik7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuZGV0YWlscyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5kZXRhaWxzW29wZW5dIHN1bW1hcnkgPiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbnN1bW1hcnkge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRlIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0taWNvbi1zaXplOiAwLjhlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMS4yNXJlbSAzcmVtIDEuMjVyZW0gNHJlbTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAxNXB4IDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xufVxuLmJ1dHRvbiA+IHN2ZyB7XG4gIHdpZHRoOiB2YXIoLS1pY29uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSk7XG59XG4uYnV0dG9uW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDEwMCUgLSAxNXB4KSk7XG59XG4uYnV0dG9uLnNtYWxsIHtcbiAgcGFkZGluZzogMC45cmVtIDJyZW0gMC45cmVtIDNyZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5idXR0b24ubGFyZ2Uge1xuICBwYWRkaW5nOiAxLjRyZW0gM3JlbSAxLjRyZW0gNC4yNXJlbTtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLmJ1dHRvbjo6YmVmb3JlIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCBjYWxjKDEwMCUgLSAxNXB4KSAxMDAlKTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuLmJ1dHRvbiBzdmcsIGJ1dHRvbiBzdmcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxucGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVzdWx0LWl0ZW0ge1xuICAtLWhlYWRpbmctY29sb3VyOiAjMTMxZjZiO1xuICAtLWJvcmRlci10aGlja25lc3M6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHg7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6IHdoaXRlO1xuICAtLXBhZGRpbmc6IDJyZW07XG4gIC0tcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmcpO1xuICAtLWltYWdlLXdpZHRoOiAxMDBweDtcbiAgLS1pbWFnZS1oZWlnaHQ6IDEwMHB4O1xuICAtLWdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctdG9wKSB2YXIoLS1wYWRkaW5nLXJpZ2h0KSB2YXIoLS1wYWRkaW5nLWJvdHRvbSkgdmFyKC0tcGFkZGluZy1sZWZ0KTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItdGhpY2tuZXNzKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJvcmRlciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdyaWQtZ2FwKSB2YXIoLS1ncmlkLWdhcCk7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC1pbWFnZSB7XG4gIGdyaWQtYXJlYTogaW1hZ2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtaW1hZ2UgcGljdHVyZSB7XG4gIGhlaWdodDogdmFyKC0taW1hZ2UtaGVpZ2h0KTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LWltYWdlIHBpY3R1cmUgaW1nIHtcbiAgd2lkdGg6IHZhcigtLWltYWdlLWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0taW1hZ2Utd2lkdGgpO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtdGl0bGUge1xuICBncmlkLWFyZWE6IHRpdGxlO1xuICBjb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIpO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtdGl0bGUgYSB7XG4gIGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cik7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC1zdWJ0aXRsZSB7XG4gIGdyaWQtYXJlYTogc3VidGl0bGU7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC1ib2R5IHtcbiAgZ3JpZC1hcmVhOiBib2R5O1xufVxuLnJlc3VsdC1pdGVtLmJsb2cge1xuICAtLXBhZGRpbmc6IDRyZW07XG4gIC0tYm9yZGVyLXRoaWNrbmVzczogMDtcbiAgLS1ib3JkZXItcmFkaXVzOiAwO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInN1YnRpdGxlXCIgXCJ0aXRsZVwiIFwiYm9keVwiO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtaW1hZ2U6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCB3aGl0ZSA0NSUsIHRyYW5zcGFyZW50IDEyMCUpO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0RGMzAzNTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUgaDQsIC5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUgdGltZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlIHRpbWUge1xuICBjb2xvcjogIzk2OTY5NTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtYm9keSB7XG4gIC0tZm9udC1jb2xvdXI6ICMxRTFBMUE7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZy5mZWF0dXJlZCB7XG4gIC0tcGFkZGluZy1yaWdodDogNXJlbTtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cuZmVhdHVyZWQgLnJlc3VsdC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cuZmVhdHVyZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiRkVBVFVSRURcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAycmVtIDAuN3JlbSAzcmVtO1xuICBoZWlnaHQ6IDM5cHg7XG4gIGJhY2tncm91bmQ6ICNlZDYyMjQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMC41cHgpIHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAxNXB4IDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSwgLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1ib2R5IHtcbiAgei1pbmRleDogMjtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjp0cmFuc3BhcmVudDtcbiAgLS1mb250LWNvbG91cjp3aGl0ZTtcbiAgLS1oZWFkaW5nLWNvbG91cjogd2hpdGU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMCAwIHZhcigtLWd1dHRlcjApIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1yZXN1bHQtaXRlbS1ib3JkZXItYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikpO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3IgLnJlc3VsdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNsYW1wKDE0MHB4LCA0MHZ3LCAxODBweCk7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pbWFnZS1vdXRsaW5lLWNvbG91ciwgdHJhbnNwYXJlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogdmFyKC0taW1hZ2Utb3V0bGluZS1vZmZzZXQsIDAuMWVtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvdXRsaW5lLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBvdXRsaW5lLW9mZnNldCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIC5yZXN1bHQtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3I6aG92ZXIge1xuICAtLWltYWdlLW91dGxpbmUtY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIC0taW1hZ2Utb3V0bGluZS1vZmZzZXQ6IDAuM2VtO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3I6aG92ZXIgLnJlc3VsdC10aXRsZSBhIHtcbiAgY29sb3I6ICNERjMwMzU7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciAucmVzdWx0LXRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIC5yZXN1bHQtdGl0bGUgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3IgLnJlc3VsdC10aXRsZSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbn1cbmJvZHlbZGF0YS10aGVtZT13aGl0ZV0gLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3Ige1xuICAtLXJlc3VsdC1pdGVtLWJvcmRlci1ib3R0b206IHJnYmEoMTksIDMxLCAxMDcsIDAuMik7XG4gIC0tZm9udC1jb2xvdXI6IzEzMWY2YjtcbiAgLS1oZWFkaW5nLWNvbG91cjogIzEzMWY2Yjtcbn1cbmJvZHlbZGF0YS10aGVtZT13aGl0ZV0gLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3I6aG92ZXIge1xuICAtLWltYWdlLW91dGxpbmUtY29sb3VyOiByZ2JhKDE5LCAzMSwgMTA3LCAwLjIpO1xufVxuXG5ib2R5I21hcmtldC1zZWN0b3JzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBtYXJrZXQtc2VjdG9yO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAucmVzdWx0LWl0ZW0ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAucmVzdWx0LWl0ZW0gYS5kZXRhaWxzOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzOmhvdmVyIC5yZXN1bHQtaW1hZ2Uge1xuICAtLWltYWdlLW91dGxpbmUtY29sb3VyOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAtLWltYWdlLW91dGxpbmUtb2Zmc2V0OjAgIWltcG9ydGFudDtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNS45NjA3ODQzMTM3JSwgOS43MjU0OTAxOTYxJSwgMzMuNTY4NjI3NDUxJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjIwcHg7XG4gIHdpZHRoOiB2YXIoLS1tYXJrZXQtc2VjdG9yLWFydGljbGUtd2lkdGgsIGNhbGMoMjAwJSArIHZhcigtLWd1dHRlcjEpICsgMnB4KSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGRpc3BsYXkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICkgYWxsb3ctZGlzY3JldGU7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLXRleHQge1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMgLmRldGFpbHMtaGVhZGluZyB7XG4gIGNvbG9yOiAjREYzMDM1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1pbWFnZSB7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAzNSUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1pbWFnZSAuZGV0YWlscy1saW5rIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuQGNvbnRhaW5lciBtYXJrZXQtc2VjdG9yICggd2lkdGggPCA0MjBweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIHtcbiAgICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIC5kZXRhaWxzLWxpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSAuZGV0YWlscyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIEBzdGFydGluZy1zdHlsZSB7XG4gICAgYm9keSNtYXJrZXQtc2VjdG9ycyAucmVzdWx0LWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgLmRldGFpbHMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHdpZHRoID4gMjA1MHB4KSB7XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIC5kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuYm9keSNtYXJrZXQtc2VjdG9ycyBhcnRpY2xlLWdyaWQ6aGFzKC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSkgLnJlc3VsdC1pdGVtOm5vdCg6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkpIHtcbiAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG59XG5AY29udGFpbmVyIG1haW4gKCB3aWR0aCA8IDY2MHB4KSB7XG4gIGJvZHkjbWFya2V0LXNlY3RvcnMgYXJ0aWNsZS1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICAgIC0tbWFya2V0LXNlY3Rvci1hcnRpY2xlLXdpZHRoOiAxMDAlO1xuICB9XG59XG5AY29udGFpbmVyIG1haW4gKDY2MHB4IDwgd2lkdGggPCA5NjRweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIGFydGljbGUtZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDJuKSAuZGV0YWlscyB7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQGNvbnRhaW5lciBtYWluICggd2lkdGggPiA5NjRweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIGFydGljbGUtZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDNuKSAuZGV0YWlscyB7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCB7XG4gIC0tYmFkZ2Utc3BhY2luZzogM3JlbTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1pbWFnZS13aWR0aCkgYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSB0aXRsZVwiIFwiaW1hZ2UgdGl0bGVcIiBcImltYWdlIGRhdGFcIiBcImltYWdlIGRhdGFcIjtcbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0IC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtaXRlbS5wcm9kdWN0IC5yZXN1bHQtYm9keSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYmFkZ2Utc3BhY2luZykgKiAyKTtcbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0IC5wcm9kdWN0LWRhdGEge1xuICBncmlkLWFyZWE6IGRhdGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpIHZhcigtLWdhcCk7XG59XG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgLnJlc3VsdC1pdGVtLnByb2R1Y3Qge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaW1hZ2UgXCIgXCJ0aXRsZVwiIFwiZGF0YVwiO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdW5zZXQ7XG4gIH1cbiAgLnJlc3VsdC1pdGVtLnByb2R1Y3QgLnByb2R1Y3QtZGF0YSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LWJvZHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi5yZXN1bHQtaXRlbS5wcm9kdWN0LmluLXN0b2NrOjpiZWZvcmUge1xuICAtLXBhZGRpbmcteTogMC4yZW07XG4gIC0tcGFkZGluZy14OiAxMGVtO1xuICBjb250ZW50OiBcImluIHN0b2NrXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDFlbSArIHZhcigtLXBhZGRpbmcteSkpO1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLXBhZGRpbmcteCkpO1xuICBwYWRkaW5nOiAwLjVlbSB2YXIoLS1wYWRkaW5nLXgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnJlc3VsdC1pdGVtLnBhZ2Uge1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlIHRpdGxlXCIgXCJpbWFnZSBib2R5XCIgXCJpbWFnZSBib2R5XCIgXCJpbWFnZSBib2R5XCI7XG59XG4ucmVzdWx0LWl0ZW0ucGFnZSAucmVzdWx0LWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4udGFnW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udGFnLmNhdGVnb3J5IHtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHg7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG4gIC0tYmctY29sb3VyOiB3aGl0ZTtcbiAgLS1zZWNvbmRhcnktd2lkdGg6IDNjaDtcbiAgLS1zZWNvbmRhcnktcGFkZGluZy14OiAzcHg7XG4gIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG91cik7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnRhZy5jYXRlZ29yeSAudGFnLWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IHZhcigtLWdhcCkgM3B4IHZhcigtLWdhcCk7XG59XG4udGFnLmNhdGVnb3J5IHtcbiAgLS1ib3JkZXItY29sb3VyOiAjREYzMDM1O1xuICAtLXN5bWJvbC1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNhdGVnb3J5IC50YWctc2Vjb25kYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgdmFyKC0tc2Vjb25kYXJ5LXBhZGRpbmcteCk7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDNjaDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4udGFnLmNhdGVnb3J5IC50YWctc2Vjb25kYXJ5IHN2ZyB7XG4gIHdpZHRoOiA1MCU7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLnRhZy5jYXRlZ29yeSAudGFnLXNlY29uZGFyeTpob3ZlciB7XG4gIC0tc3ltYm9sLWNvbG91cjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCB7XG4gIC0tYm9yZGVyLXJhZGl1czogMHB4O1xuICAtLWZvbnQtY29sb3VyOiAjREYzMDM1O1xuICAtLWJnLWNvbG91cjogd2hpdGU7XG4gIC0tc2Vjb25kYXJ5LXdpZHRoOiAzY2g7XG4gIC0tc2Vjb25kYXJ5LXBhZGRpbmcteDogM3B4O1xuICAtLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCAudGFnLWxhYmVsIHtcbiAgcGFkZGluZzogM3B4IHZhcigtLWdhcCkgM3B4IHZhcigtLWdhcCk7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwge1xuICAtLXN5bWJvbC1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwgLnRhZy1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCB2YXIoLS1zZWNvbmRhcnktcGFkZGluZy14KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogM2NoO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCAudGFnLXNlY29uZGFyeSBzdmcge1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbDpob3ZlciB7XG4gIC0tYm9yZGVyLWNvbG91cjogI0RGMzAzNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRhZy5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gbGFiZWwge1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1iZy1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiBsYWJlbCAudGFnLXNlY29uZGFyeSB7XG4gIC0tc3ltYm9sLWNvbG91cjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cblxudGFibGUtY29udGFpbmVyIC5oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB7XG4gIC0tY2VsbC1wYWRkaW5nLXk6IDFyZW07XG4gIC0tY2VsbC1wYWRkaW5nLXg6IDEuNXJlbTtcbiAgLS1jZWxsLXBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZy15KSB2YXIoLS1jZWxsLXBhZGRpbmcteCk7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSk7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkKCkge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTY5Njk1O1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZyk7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlIHRoIHtcbiAgcGFkZGluZzogdmFyKC0tY2VsbC1wYWRkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUudmVydGljYWwgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZS5wcm9kdWN0LXNwZWNzIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUucHJvZHVjdC1zcGVjcyB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlLnJlbGF0ZWQtcHJvZHVjdHMgYSB7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG59XG5cbm1haW4gPiAuc25pcHBldCBhIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KSA7XG59XG5cbm5hdmlnYXRpb24tYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1nYXApICogMikgdmFyKC0tZ2FwLXkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZCk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgei1pbmRleDogMTUwMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG5uYXZpZ2F0aW9uLWJhciBhLCBuYXZpZ2F0aW9uLWJhciBidXR0b24ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG59XG5uYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiA5NSU7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWxvZ28taGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1sb2dvLWhlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbn1cbm5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28gPiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWxvZ28pO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGEubG9nby5sb2dvLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIgZ2xvYmFsLXNlYXJjaC1kZXNrdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB7XG4gIC0tZmFsbGJhY2stbWF4LWhlaWdodDogNjAwcHg7XG4gIC0tYmFzZS1zcGFjaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGluayB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSkgMDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGluazpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLnRvcC1sZXZlbC1saW5rLmhhcy1jaGlsZHJlbiA+IGE6aG92ZXIgc3ZnIHtcbiAgb3BhY2l0eTogMTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC5zdWItbWVudSBsaSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSAvIDIpIDA7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyAuc3ViLW1lbnUgbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC5zdWItbWVudSBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSBhIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIGE6bm90KC5hY3RpdmUpIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYS5hY3RpdmUge1xuICAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYS5hY3RpdmU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYSA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1uYXYtZm9udCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG9wYWNpdHk6IDAuMjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIHVsIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjMyNXM7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgdWwgbGkgYTpub3QoLmFjdGl2ZSkge1xuICBvcGFjaXR5OiAwLjU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBuYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSB1bCBsaSBhOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkuaGFzLWNoaWxkcmVuID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpLmhhcy1jaGlsZHJlbi5vcGVuID4gYSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpLmhhcy1jaGlsZHJlbi5vcGVuID4gdWwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1saW5rLW1heC1oZWlnaHQsIHZhcigtLWZhbGxiYWNrLW1heC1oZWlnaHQpKTtcbiAgb3BhY2l0eTogMTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGlua3MgPiBsaSA+IGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLm1vYmlsZS1saW5rLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWd1dHRlcjMpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBhLCBuYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBhIHN2ZywgbmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24gc3ZnIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjVweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uLm1lbnUge1xuICAtLXN5bWJvbC1jb2xvdXI6IHZhcigtLXRoZW1lLW5hdi1mb250LCB3aGl0ZSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbi5tZW51IHN2ZyB7XG4gIC0tY29ybmVyLW9mZnNldDogMTBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uLm1lbnUgc3ZnIHBvbHlnb24ge1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMTQwcHggMjBweCwgMCAyMHB4LCB2YXIoLS1jb3JuZXItb2Zmc2V0LCAxMHB4KSAwLCAxNDBweCAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgMzAlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMikge1xuICBvcGFjaXR5OiAxO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMykge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgNzAlO1xufVxubmF2aWdhdGlvbi1iYXIgLmV4dHJhLWxpbmtzIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuICAtLWxpbmstc3BhY2luZzogdmFyKC0tZ2FwKTtcbiAgLS1vcGFjaXR5OiAwLjY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5KTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDFyZW07XG59XG5uYXZpZ2F0aW9uLWJhciAuZXh0cmEtbGlua3MgbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxY2g7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5uYXZpZ2F0aW9uLWJhciAuZXh0cmEtbGlua3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIge1xuICAgIC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IDEwMCU7XG4gICAgLS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIC0tbG9nby1oZWlnaHQ6IDEwMCU7XG4gICAgLS1yb3ctcGFkZGluZzogMXJlbSB2YXIoLS1nYXAteCk7XG4gICAgLS10aGVtZS1uYXYtZm9udDogdmFyKC0tdGhlbWUtbmF2LWZvbnQtbW9iKTtcbiAgICAtLXRoZW1lLWxvZ286IHZhcigtLXRoZW1lLW5hdi1mb250LW1vYik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyLCBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcbiAgICBoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1uYXZpZ2F0aW9uLW1vYmlsZS1zZWFyY2gtaGVpZ2h0KSAtIDBweCk7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSBmb3JtIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIGZvcm0gc2VsZWN0IHtcbiAgICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAgIC0tYmFja2dyb3VuZC1jb2xvdXI6ICNERjMwMzU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyKTtcbiAgICB6LWluZGV4OiAxNTAwO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ubG9nby1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ubG9nby1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIgYS5sb2dvIHN2ZyB7XG4gICAgd2lkdGg6IHVuc2V0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDBweCk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC15KSB2YXIoLS1nYXAteCkgdmFyKC0tbmF2aWdhdGlvbi1jb250YWluZXItaGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYgLnRvcC1sZXZlbC1saW5rcyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBib2R5Lm1vYmlsZS1zZWFyY2gtb3BlbiBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgbmF2IHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIG5hdiAudG9wLWxldmVsLWxpbmtzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSkgMC4zcztcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUgc3ZnIHtcbiAgICAtLWNvcm5lci1vZmZzZXQ6IDA7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgxKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlWSg4MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlWSg4MCUpO1xuICB9XG4gIGJvZHkubW9iaWxlLW5hdmlnYXRpb24tb3BlbiBuYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMikge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgzKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZVkoODAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGVZKDgwJSk7XG4gIH1cbn1cbi5oZWF0c2lua3MtaG9tZSBoZWFkZXIuaGVhZGVyLFxuLmNvbXBvbmVudHMtaG9tZSBoZWFkZXIuaGVhZGVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHMgMC4ycztcbn1cblxuLmhlYWRlciB7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogMTAwMDtcbn1cbi5oZWFkZXIgLmhlYWRpbmcsXG4uaGVhZGVyIC5zdWJoZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5oZWFkZXIgLmhlYWRpbmcge1xuICBvcmRlcjogMjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi5oZWFkZXIgLnN1YmhlYWRpbmcge1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cbi5oZWFkZXIgLnN1YmhlYWRpbmcgYSB7XG4gIC0taGVhZGluZy1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xufVxuLmhlYWRlciAuc25pcHBldCB7XG4gIG9yZGVyOiAzO1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIC5oZWFkZXIgLnNuaXBwZXQge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICB9XG59XG4uaGVhZGVyLnRyYW5zaXRpb24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xuICB6LWluZGV4OiAxMDAwO1xufVxubWFpbiBjb250ZW50LWJsb2NrcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG59XG5tYWluIGNvbnRlbnQtYmxvY2tzIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xufVxuYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9c2Nyb2xsLWJhcl0pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMXB4KSB7XG4gIG1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAteSk7XG4gIH1cbn1cblxuc2lkZS1iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaWRlYmFyLW1heC13aWR0aCk7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbn1cbnNpZGUtYmFyIGRpdi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuQG1lZGlhICh3aWR0aCA+IDE0MDBweCkge1xuICBzaWRlLWJhciBkaXYuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiB1bnNldDtcbiAgfVxufVxuc2lkZS1iYXIuZnJlZSB7XG4gIC0tY29udGFpbmVyLXBhZGRpbmc6IDRyZW07XG59XG5zaWRlLWJhci5jb250YWluID4gZGl2IHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXgpO1xufVxuc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9c3RpY2t5XSB7XG4gIC0tc3RpY2t5LXNwYWNpbmc6IDA7XG59XG5zaWRlLWJhcltkYXRhLWJlaGF2aW91cj1zdGlja3ldLmNvbnRhaW4ge1xuICAtLXN0aWNreS1zcGFjaW5nOiB2YXIoLS1nYXAteSk7XG59XG5zaWRlLWJhcltkYXRhLWJlaGF2aW91cj1zdGlja3ldID4gZGl2IHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiB2YXIoLS1zdGlja3ktc3BhY2luZyk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPXN0aWNreV0gPiBkaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgc2lkZS1iYXI6bm90KFtkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSkge1xuICAgIC0tc2lkZWJhci1tYXgtd2lkdGg6IDEwMCU7XG4gICAgLS1zaWRlYmFyLXdpZHRoOiAxMDAlO1xuICB9XG4gIHNpZGUtYmFyOm5vdChbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0pID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcC15KSAqIDIpO1xuICB9XG4gIHNpZGUtYmFyLmNvbnRhaW4gPiBkaXYge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbnNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdIHtcbiAgei1pbmRleDogMTc1MDtcbiAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuN3MgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpLCB0cmFuc2Zvcm0gMC43cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpLCB0b3AgMC40cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbnNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdID4gZGl2IHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgd2lkdGg6IG1pbigxMDB2dywgNDAwcHgpO1xuICAgIG1heC13aWR0aDogbWluKDEwMHZ3LCA0MDBweCk7XG4gIH1cbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0uYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSAub3Blbi10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0gLmNsb3NlLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbnBhZ2UtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZCk7XG4gIHotaW5kZXg6IDUwMDtcbn1cbnBhZ2UtYmFja2dyb3VuZDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogNTAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIHBhZ2UtYmFja2dyb3VuZDo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5wYWdlLWJhY2tncm91bmQgdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvcGFjaXR5OiAwLjM7XG59XG5wYWdlLWJhY2tncm91bmQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbnBhZ2UtYmFja2dyb3VuZCBpbWcubG9nbyB7XG4gIG9wYWNpdHk6IDAuMDM7XG59XG5wYWdlLWJhY2tncm91bmQgaW1nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDQwJSwgIzEyMTUyQiAxMDAlKTtcbiAgei1pbmRleDogNTAwIC0xO1xufVxuXG5ib2R5Om5vdCgjaG9tZSkgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbn1cbmJvZHk6bm90KCNob21lKSAuY29udGVudC13cmFwcGVyIGhlYWRlcjpub3QoLmhhcy1zdWJoZWFkaW5nKSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpO1xufVxuYm9keTpub3QoI2hvbWUpIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyLmhhcy1zdWJoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtMS44NSAqIHZhcigtLWdhcC15KSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keTpub3QoI2hvbWUpIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyID4gaDEsIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgcCB7XG4gIGdyaWQtY29sdW1uOiAxLzM7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIGgxIHtcbiAgZ3JpZC1yb3c6IDE7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBoMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHAge1xuICBncmlkLWNvbHVtbjogMS8tMTtcbiAgZ3JpZC1yb3c6IDI7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIGltZyB7XG4gIGdyaWQtY29sdW1uOiAzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciArIG1haW4ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIge1xuICAgIGdyaWQtZ2FwOiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWluLW1heCgyMDBweCwgMjUlKSk7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzEwMTI0ZCAyMCUsICMxMzFmNmIgODAlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTI1cHgsIDFmcikpO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERjMwMzU7XG4gIGdhcDogMTZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWdhcCk7XG4gIGdhcDogdmFyKC0tZ2FwKTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlID4gZGl2IHN2ZyB7XG4gIHdpZHRoOiA4MCU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWF4LXdpZHRoOiA4MHB4O1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUgPiBkaXYgc3ZnLndpcmUtZWFydGgge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSA+IGRpdiBwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI0RGMzAzNTtcbiAganVzdGlmeS1zZWxmOiBiYXNlbGluZTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDAlLCAjMTMxZjZiIDgwJSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDIpIDAgMCBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLWhlYWRpbmcsIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLXN1YmhlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24taGVhZGluZyB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0RGMzAzNTtcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgKiAzKTtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBzY3JvbGwtYmFyIHtcbiAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWF4LXdpZHRoOiAzNSU7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2VyMik7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCA3NSUgMTAwJSk7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjVweCwgMWZyKSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2VyMSk7XG4gICAgbWFyZ2luLWxlZnQ6IC01JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIGNsaXAtcGF0aDogdW5zZXQ7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlcjEpO1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDFweCkge1xuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyLCBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgc2Nyb2xsLWJhciwgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jaywgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiwgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5tYXJrZXQtc2VjdG9yc1xcOmxpc3Qge1xuICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAxMDBkdmg7XG4gIG9yZGVyOiA5OTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlcjEpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLWNvbnRlbnQpO1xuICB6LWluZGV4OiAxMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDFweCkge1xuICBmb290ZXIge1xuICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2hvbWUgZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGluaXRpYWw7XG4gIGdyaWQtcm93OiAtMTtcbn1cblxuY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1uc10ge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zLCAxKSwgMWZyKTtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIGNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnM9XCIyXCJdIHtcbiAgICAtLWNvbHVtbnM6IDI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODBweCkge1xuICBjb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zPVwiMlwiXSB7XG4gICAgLS1jb2x1bW5zOiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIGNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnM9XCIyXCJdIHtcbiAgICAtLWNvbHVtbnM6IDI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAxcHgpIHtcbiAgY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1ucz1cIjJcIl0ge1xuICAgIC0tY29sdW1uczogMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE4MDBweCkge1xuICBjb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zPVwiMlwiXSB7XG4gICAgLS1jb2x1bW5zOiAyO1xuICB9XG59XG5cbnNlYXJjaC1lbGVtZW50IC5zZWFyY2gtaW5wdXQgc3ZnIHtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuXG5tb2RhbC13cmFwcGVyIHtcbiAgLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAtLW1vZGFsLWNsb3NlLWNvbG91cjogJGJsYWNrO1xuICAtLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0tbWluLXdpZHRoOjMwMHB4O1xuICAtLW1heC13aWR0aDoxMTIwcHg7XG4gIC0td2lkdGg6Y2xhbXAodmFyKC0tbWluLXdpZHRoKSwgOTB2dywgZml0LWNvbnRlbnQpO1xuICAtLW1pbi1oZWlnaHQ6NjAwcHg7XG4gIC0tbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gdmFyKC0tZ3V0dGVyMikpO1xuICAtLWhlaWdodDpjbGFtcCh2YXIoLS1taW4taGVpZ2h0KSwgOTB2dywgZml0LWNvbnRlbnQpO1xufVxuQHN1cHBvcnRzICgtLXY6LXdlYmtpdC1maWxsLWF2YWlsYWJsZSApIHtcbiAgbW9kYWwtd3JhcHBlciB7XG4gICAgLS1tYXgtaGVpZ2h0Oi13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIH1cbn1cbm1vZGFsLXdyYXBwZXIge1xuICAtLWNsb3NlLWJ1dHRvbi1zaXplOiAzMHB4O1xuICAtLW5hdi1idXR0b24tc2l6ZTogNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxubW9kYWwtd3JhcHBlci5sb2FkaW5nIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkgMC4zcztcbn1cbm1vZGFsLXdyYXBwZXIubG9hZGluZyBtb2RhbC1jb250YWluZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnZoKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSwgdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbiAgcmlnaHQ6IHZhcigtLWd1dHRlcjEpO1xuICB3aWR0aDogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlIHN2ZyBjaXJjbGUsIG1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlIHN2ZyBwYXRoIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSBzdmcge1xuICBjb2xvcjogdmFyKC0tbW9kYWwtY2xvc2UtY29sb3VyLCAjREYzMDM1KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlOmhvdmVyIHN2ZyB7XG4gICAgLS1maWxsOndoaXRlO1xuICAgIC0tc3Ryb2tlOnZhcigtLXNlY29uZGFyeSwgI0RGMzAzNSk7XG4gIH1cbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiB2YXIoLS1uYXYtYnV0dG9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLW5hdi1idXR0b24tc2l6ZSk7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1uYXYtYnV0dG9uLXNpemUpIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI0RGMzAzNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjREYzMDM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uLnByZXZpb3VzIHtcbiAgbGVmdDogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uLm5leHQge1xuICByaWdodDogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uIHN2ZyB7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbW9kYWwtd3JhcHBlciBidXR0b24ubmF2aWdhdGlvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNERjMwMzUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbm1vZGFsLWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSAwLjNzLCB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpIDAuM3M7XG4gIHdpZHRoOiB2YXIoLS13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgbWF4LWhlaWdodDogdmFyKC0tbWF4LWhlaWdodCk7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IHZhcigtLWd1dHRlcjEpO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuQHN1cHBvcnRzIG5vdCAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICBtb2RhbC1jb250YWluZXIge1xuICAgIC0td2lkdGg6IDYwdnc7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDogdmFyKC0tbWluLXdpZHRoKTtcbiAgICAtLWhlaWdodDogODB2dztcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1tYXgtaGVpZ2h0KTtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1taW4taGVpZ2h0KTtcbiAgfVxufVxubW9kYWwtY29udGFpbmVyOmVtcHR5IHtcbiAgd2lkdGg6IGNhbGModmFyKC0tbWF4LXdpZHRoKSAvIDIpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWF4LWhlaWdodCkgLyAyKTtcbn1cbm1vZGFsLWNvbnRhaW5lcjplbXB0eTphZnRlciB7XG4gIC0tc2l6ZTogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgbGVmdDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbG9hZGVyLWNvbG91ciwgIzk2OTY5NSk7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlci1yb3RhdGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5Aa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxubW9kYWwtY29udGFpbmVyOmVtcHR5OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG59XG5tb2RhbC1jb250YWluZXIgPiBidXR0b24uY2xvc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9yZGVyOiAtMTtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIHRvcDogaW5pdGlhbDtcbiAgcmlnaHQ6IGluaXRpYWw7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkgLyAyKTtcbn1cblxubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC1jb250ZW50ID4gKiB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9aW1hZ2VdIC5pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IGNhbGModmFyKC0tbWF4LWhlaWdodCkgLSB2YXIoLS1ndXR0ZXI2KSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPWltYWdlXSAuaW1hZ2UgaW1nIHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWd1dHRlcjMpIC0gdmFyKC0tZ3V0dGVyNCkpO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPWRlZmF1bHRdIG1vZGFsLWNvbnRlbnQgPiBpbWdbc3JjKj1cIi5zdmdcIl0ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10ge1xuICAtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIC0tbW9kYWwtY2xvc2UtY29sb3VyOiAjRkZGRkZGO1xufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciB7XG4gIC0tYXNwZWN0LXJhdGlvOiAxNi85O1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWFzcGVjdC1yYXRpbyk7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDE2LzkpIHtcbiAgbW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciB7XG4gICAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLyAodmFyKC0tYXNwZWN0LXJhdGlvKSkpO1xuICAgIGhlaWdodDogMDtcbiAgfVxuICBtb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciBpZnJhbWUsIG1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgbW9kYWwtY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbn1cblxuLm9wZW4taW4tbW9kYWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4ub3Blbi1pbi1tb2RhbDphZnRlciB7XG4gIC0tc2l6ZTogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgbGVmdDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiB3aGl0ZSBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAjOTY5Njk1KTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbkBrZXlmcmFtZXMgbG9hZGVyLXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG4ub3Blbi1pbi1tb2RhbC5sb2FkaW5nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ub3Blbi1pbi1tb2RhbC5sb2FkaW5nOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG59XG5cbmltZy5vcGVuLWluLW1vZGFsLCAub3Blbi1pbi1tb2RhbCBpbWcge1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLWtodG1sLXVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLWRyYWc6IG5vbmU7XG4gIC1vLXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuXG4uYmFjay10by10b3Age1xuICAtLWhpZGUtb2Zmc2V0OiAtMTBweDtcbiAgLS1zdmctd2lkdGg6IDE4cHg7XG4gIC0tZWRnZS1kaXN0YW5jZTogMTVweDtcbiAgLS1yaWdodC1vZmZzZXQ6IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IGNhbGModmFyKC0tcmlnaHQtb2Zmc2V0KSArIHZhcigtLWVkZ2UtZGlzdGFuY2UpKTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWVkZ2UtZGlzdGFuY2UpICsgdmFyKC0taGlkZS1vZmZzZXQpKTtcbiAgd2lkdGg6IGNhbGModmFyKC0tc3ZnLXdpZHRoKSArIDEycHgpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tc3ZnLXdpZHRoKSArIDEycHgpO1xuICBiYWNrZ3JvdW5kOiAjMTMxZjZiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6IDEwMDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgdHJhbnNmb3JtIDAuMnMgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4uYmFjay10by10b3Agc3ZnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHdpZHRoOiB2YXIoLS1zdmctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXN2Zy13aWR0aCk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJhY2stdG8tdG9wOm5vdCguaGlkZSkge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1oaWRlLW9mZnNldCkpO1xufVxuLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICBzaWRlLWJhciB+IC5iYWNrLXRvLXRvcCB7XG4gICAgLS1yaWdodC1vZmZzZXQ6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuICB9XG59XG5sb2dvLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1ndXR0ZXIxKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlcjEpO1xufVxubG9nby1iYXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxNDBweDtcbiAgbWF4LWhlaWdodDogOTBweDtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MDFweCkge1xuICBsb2dvLWJhciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59IiwiLyogei1pbmRleGVzIGFyZSBsYXJnZSBkdWUgdG8gdGhlIGZhY3QgdGhhdCB0aGluZ3MgbWlnaHQgY2hhbmdlXG4gKiBpbiB0aGUgZnV0dXJlLiBJbiBvcmRlciB0byBhY2NvdW50IGZvciBzY2FsYWJpbGl0eSwgdGhpcyBnaXZlc1xuICogcm9vbSB0byBtYWtlIGNoYW5nZXMgYW5kIG5vdCBicmVhayB0aGUgZW50aXJlIHNpdGUsIG1lYW5pbmcgXG4gKiB3ZSB3b24ndCBoYXZlIHRvIGdvIGluIGFuZCByZWZhY3RvciBhIGxvdCBvZiBvdXIgY29kZS5cbiAqL1xuXG4kcGFnZS1iYWNrZ3JvdW5kICAgICAgICAgIDogNTAwO1xuXG4kbmF2aWdhdGlvbi1iYXIgICAgICAgICAgIDogMTUwMDtcbiRuYXZpZ2F0aW9uLWJhci1jb250YWluZXIgOiAkbmF2aWdhdGlvbi1iYXI7XG4kZ2xvYmFsLXNlYXJjaC1tb2JpbGUgICAgIDogLTE7XG5cbiRzY3JvbGwtYmFyICAgICAgICAgICAgICAgOiAxMTAwO1xuXG4kbWFpbiAgICAgICAgICAgICAgICAgICAgIDogMTAwMDtcbiRoZWFkZXIgICAgICAgICAgICAgICAgICAgOiAxMDAwO1xuJHNpZGUtYmFyICAgICAgICAgICAgICAgICA6IDE3NTA7XG5cbiRtb2RhbCAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDsiLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5AdXNlIFwiZm9udFwiO1xuQHVzZSAnLi4vX2hlbHBlcnMvbWlzYy5zY3NzJyBhcyAqO1xuXG4kYmFzZS1pbnB1dC1wYWRkaW5nOiAkZ2FwO1xuXG5cbkBtaXhpbiBhcnJvdy1kb3duLWltYWdlKCRzdHJva2UgOiB2YXIoLS1mb250LWNvbG91cikpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgSU5QVVRTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBjaGFyYWN0ZXItaW5wdXRzKCkge1xuICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYWxsLWlucHV0cygpIHtcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNoYXJhY3Rlci1pbnB1dCgpIHtcbiAgLS1mb250LWNvbG91ciAgICAgICA6ICN7JGZvbnQtY29sb3VyfTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7JHdoaXRlfTtcbiAgLS1wYWRkaW5nICAgICAgICAgICA6IGNhbGMoI3skYmFzZS1pbnB1dC1wYWRkaW5nfSAvIDEuNSkgI3skYmFzZS1pbnB1dC1wYWRkaW5nfTtcbiAgLS1ib3JkZXItY29sb3VyICAgICA6ICN7JGdyZXk3fTtcbiAgLS1ib3JkZXItcmFkaXVzICAgICA6IDA7XG5cbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1czsgIC8qIE9wZXJhIDEwLjUsIElFIDksIFNhZmFyaSA1LCBDaHJvbWUsIEZpcmVmb3ggNCwgaU9TIDQsIEFuZHJvaWQgMi4xKyAqL1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7ICAvKiBTYWZhcmkgMy00LCBpT1MgMS0zLjIsIEFuZHJvaWQgMS42LSAqLyAgICBcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwOyAgLyogRmlyZWZveCAxLTMuNiAqLyAgICAgXG5cbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50O1xuXG4gICY6OnBsYWNlaG9sZGVyIHsgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24gfVxuXG4gIC8vICY6bm90KDplbXB0eSkge1xuICAvLyAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICR0cmFuc3BhcmVudCB9XG4gIC8vIH1cbn1cblxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENPTlRBSU5FUlNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGNvbnRhaW5lcigpIHtcbiAgLS1sYWJlbC1jb2xvdXIgICAgICAgIDogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWxhYmVsLWFjdGl2ZS1jb2xvdXIgOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxcmVtO1xuXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tbGFiZWwtY29sb3VyKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbjtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dC1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xufVxuXG5cbkBtaXhpbiByYWRpby1jaGVja2JveC1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuXG4gIC0taW5wdXQtd2lkdGg6IDEuMmVtO1xuICAtLWlucHV0LWJvcmRlci10aGlja25lc3M6IDFweDtcbiAgLS1pbnB1dC1hY3RpdmUtY29sb3VyOiAjeyRyZWR9O1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUodmFyKC0taW5wdXQtd2lkdGgpKTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcywgMXB4KSBzb2xpZCAkZ3JleTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUoY2FsYyh2YXIoLS1pbnB1dC13aWR0aCkgLSB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzKSAqIDYpKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlucHV0LWFjdGl2ZS1jb2xvdXIpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC0tbGFiZWwtY29sb3VyOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnB1dC1hY3RpdmUtY29sb3VyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWxhYmVsLWFjdGl2ZS1jb2xvdXIpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmFkaW8tY29udGFpbmVyKCkge1xuICBsYWJlbCB7XG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtdWx0aS1pbnB1dCgpIHtcbiAgLS1pbnB1dC1zcGFjaW5nOiAwO1xuICBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1pbnB1dC1zcGFjaW5nKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gIEBpbmNsdWRlIGNoYXJhY3Rlci1pbnB1dHMoKSB7XG4gICAgJjpub3Qoc2VsZWN0KSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICA+ICo6bm90KHNlbGVjdCwgYnV0dG9uLCBhKSB7XG4gICAgZmxleDogMTtcbiAgfVxuICBcbiAgc2VsZWN0LCBidXR0b24sIGEge1xuICAgIC0tZm9udC1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICAtLWJhY2tncm91bmQtY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBzZWxlY3QgeyBAaW5jbHVkZSBhcnJvdy1kb3duLWltYWdlKCR3aGl0ZSkgfTtcbn1cblxuQG1peGluIGJhc2UtcmVxdWlyZWQoKSB7XG4gIHJlcXVpcmVkLW5vdGljZSB7XG4gICAgLS1ub3RpY2UtY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTBweDtcbiAgICBjb2xvcjogdmFyKC0tbm90aWNlLWNvbG91cik7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcblxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJhZGlvLXRhYnMoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgcmFkaW8tdGFiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ2FwMDtcbiAgICBcbiAgICBpbnB1dCB7IFxuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpjaGVja2VkKSB7XG4gICAgICAgICsgbGFiZWw6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgICAgXG5cbiAgICB9XG5cbiAgfVxufVxuXG5cbkBtaXhpbiBpbnB1dC1mb2N1cygpIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMXB4IHJnYmEoJHJlZCwgMC4zKTtcbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzLycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzLycgYXMgKjtcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdEJhc2UgcmVzdWx0IHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5AbWl4aW4gYmFzZSgpIHtcblxuICAtLWhlYWRpbmctY29sb3VyICAgIDogI3skYmx1ZX07XG5cbiAgLS1ib3JkZXItdGhpY2tuZXNzICA6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzICAgICA6IDBweDtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6IHdoaXRlO1xuXG4gIC0tcGFkZGluZyAgICAgICAgICAgOiAycmVtO1xuXG4gIC0tcGFkZGluZy1sZWZ0ICAgICAgOiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXJpZ2h0ICAgICA6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctdG9wICAgICAgIDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy1ib3R0b20gICAgOiB2YXIoLS1wYWRkaW5nKTtcblxuICAtLWltYWdlLXdpZHRoICAgICAgIDogMTAwcHg7XG4gIC0taW1hZ2UtaGVpZ2h0ICAgICAgOiAxMDBweDtcblxuICAtLWdyaWQtZ2FwICAgICAgICAgIDogI3skZ2FwfTtcblxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZy10b3ApIHZhcigtLXBhZGRpbmctcmlnaHQpIHZhcigtLXBhZGRpbmctYm90dG9tKSB2YXIoLS1wYWRkaW5nLWxlZnQpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGlja25lc3MpIHNvbGlkICR0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgLy8gYm94LXNoYWRvdzogMHB4IDBweCA1cHggMXB4IHJnYmEoJGdyZXksIDAuMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ncmlkLWdhcCkgdmFyKC0tZ3JpZC1nYXApO1xuICAvLyBwbGFjZS1jb250ZW50OiBzdGFydDtcblxuICAucmVzdWx0LWltYWdlIHtcbiAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgcGljdHVyZSB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWltYWdlLWhlaWdodCk7XG4gICAgICBcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pbWFnZS1oZWlnaHQpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWltYWdlLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmVzdWx0LXRpdGxlIHtcbiAgICBncmlkLWFyZWE6IHRpdGxlO1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cik7XG4gICAgYSB7IGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cikgfVxuICB9XG5cbiAgLnJlc3VsdC1zdWJ0aXRsZSB7IGdyaWQtYXJlYTogc3VidGl0bGUgfVxuICAucmVzdWx0LWJvZHkgICAgIHsgZ3JpZC1hcmVhOiBib2R5IH1cblxuICAmLmJsb2cgICAgeyBAaW5jbHVkZSBibG9nKCkgfVxuICAmLm1hcmtldC1zZWN0b3IgICAgeyBAaW5jbHVkZSBtYXJrZXQtc2VjdG9yKCkgfVxuICAmLnByb2R1Y3QgeyBAaW5jbHVkZSBwcm9kdWN0KCkgfVxuICAmLnBhZ2UgICAgeyBAaW5jbHVkZSBwYWdlKCkgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0VmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIG1hcmtldC1zZWN0b3IoKSB7XG5cbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjp0cmFuc3BhcmVudDsgXG4gIC0tZm9udC1jb2xvdXI6d2hpdGU7IFxuICAtLWhlYWRpbmctY29sb3VyIDogd2hpdGU7IFxuXG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzowIDAgJGd1dHRlcjAgMCA7IFxuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1yZXN1bHQtaXRlbS1ib3JkZXItYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikpO1xuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2xhbXAoMTQwcHgsIDQwdncsIDE4MHB4KTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0taW1hZ2Utb3V0bGluZS1jb2xvdXIsIHRyYW5zcGFyZW50KTtcbiAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0taW1hZ2Utb3V0bGluZS1vZmZzZXQsIDAuMWVtKTsgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUtY29sb3IgJHRyYW5zaXRpb24sIG91dGxpbmUtb2Zmc2V0ICR0cmFuc2l0aW9uO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICB9XG5cbiAgJjpob3ZlciB7IFxuICAgIC0taW1hZ2Utb3V0bGluZS1jb2xvdXIgOiAje3JnYmEod2hpdGUsIDAuMil9O1xuICAgIC0taW1hZ2Utb3V0bGluZS1vZmZzZXQgOiAwLjNlbTtcbiAgICAucmVzdWx0LXRpdGxlIGEgeyBjb2xvcjokcmVkOyB9XG4gIH1cblxuICAucmVzdWx0LXRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgJjo6YWZ0ZXIgeyBcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBpbnNldDowOyBcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OjE7IFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290IGJvZHlbZGF0YS10aGVtZT0nd2hpdGUnXSAmIHtcbiAgICAtLXJlc3VsdC1pdGVtLWJvcmRlci1ib3R0b20gOiAje3JnYmEoJGJsdWUsIDAuMil9O1xuICAgIC0tZm9udC1jb2xvdXI6I3skYmx1ZX07IFxuICAgIC0taGVhZGluZy1jb2xvdXIgOiAjeyRibHVlfTsgXG4gICAgJjpob3ZlciB7IFxuICAgICAgLS1pbWFnZS1vdXRsaW5lLWNvbG91ciA6ICN7cmdiYSgkYmx1ZSwgMC4yKX07XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgYm9keSNtYXJrZXQtc2VjdG9ycyB7XG4gICAgJiB7XG4gICAgICAvLyBpc29sYXRpb246IGluaXRpYWw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgICBjb250YWluZXItbmFtZSA6IG1hcmtldC1zZWN0b3I7XG4gICAgICAucmVzdWx0LWl0ZW0ge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAgICAgICBhLmRldGFpbHM6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIC5yZXN1bHQtaW1hZ2Uge1xuICAgICAgICAtLWltYWdlLW91dGxpbmUtY29sb3VyIDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLS1pbWFnZS1vdXRsaW5lLW9mZnNldCA6MCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmRldGFpbHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1kYXJrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjIwcHg7XG4gICAgICAgIHdpZHRoOnZhcigtLW1hcmtldC1zZWN0b3ItYXJ0aWNsZS13aWR0aCwgY2FsYygyMDAlICsgI3skZ3V0dGVyfSArIDJweCkpO1xuXG4gICAgICAgIC8vIERpc2NyZXRlIGFuaW1hdGlvbiBzZXR1cFxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG9wYWNpdHkgJHRyYW5zaXRpb24sXG4gICAgICAgICAgZGlzcGxheSAkdHJhbnNpdGlvbiBhbGxvdy1kaXNjcmV0ZTtcbiAgICAgICAgLmRldGFpbHMtdGV4dCB7XG4gICAgICAgICAgcGFkZGluZzokZ3V0dGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWxzLWhlYWRpbmcge1xuICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MWVtO1xuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWxzLWltYWdlIHtcbiAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMzUlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kZXRhaWxzLWxpbmsge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWxzLWxpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICByaWdodDowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGV0YWlscyB7XG4gICAgICAgIEBjb250YWluZXIgbWFya2V0LXNlY3RvciAoIHdpZHRoIDwgNDIwcHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAuZGV0YWlscy1pbWFnZSB7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBoZWlnaHQ6MTAwcHg7XG4gICAgICAgICAgICAuZGV0YWlscy1saW5rIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAoIHdpZHRoID4gMjA1MHB4KSB7XG4gICAgICAgICAgd2lkdGg6MTAwJTsgXG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhcnRpY2xlLWdyaWQ6aGFzKC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSkge1xuICAgICAgLnJlc3VsdC1pdGVtOm5vdCg6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkpIHsgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7fVxuICAgIH1cblxuICAgIEBjb250YWluZXIgbWFpbiAoIHdpZHRoIDwgNjYwcHgpIHtcbiAgICAgIGFydGljbGUtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tbWFya2V0LXNlY3Rvci1hcnRpY2xlLXdpZHRoIDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhcnRpY2xlLWdyaWQge1xuICAgICAgQGNvbnRhaW5lciBtYWluICg2NjBweCA8IHdpZHRoIDwgOTY0cHgpICB7XG4gICAgICAgIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQoMm4pIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgICByaWdodDowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAY29udGFpbmVyIG1haW4gKCB3aWR0aCA+IDk2NHB4KSAge1xuICAgICAgICAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDNuKSAuZGV0YWlscyB7XG4gICAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmxvZygpIHtcbiAgLS1wYWRkaW5nICAgICAgICAgIDogNHJlbTtcbiAgLS1ib3JkZXItdGhpY2tuZXNzIDogMDtcbiAgLS1ib3JkZXItcmFkaXVzICAgIDogMDtcbiAgLy8gLS1iYWNrZ3JvdW5kLWNvbG91ciA6IHRyYW5zcGFyZW50O1xuXG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgXCJzdWJ0aXRsZVwiXG4gICAgXCJ0aXRsZVwiXG4gICAgXCJib2R5XCI7XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCByZ2JhKHdoaXRlLCAxKSA0NSUsIHRyYW5zcGFyZW50IDEyMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtc3VidGl0bGUgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIH1cblxuICAucmVzdWx0LXRpdGxlIHsgICAgIFxuICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gIC5yZXN1bHQtc3VidGl0bGUge1xuICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHJlZH07XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBoNCwgdGltZSB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgdGltZSB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdC1ib2R5IHsgLS1mb250LWNvbG91cjogI3skYmxhY2t9OyB9XG5cbiAgJi5mZWF0dXJlZCB7XG4gICAgLS1wYWRkaW5nLXJpZ2h0OiA1cmVtO1xuXG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG5cbiAgICAucmVzdWx0LXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtaDI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdGRUFUVVJFRCc7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlZC1iYWRnZSgpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1zdWJ0aXRsZSwgLnJlc3VsdC1ib2R5IHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG59XG5cblxuXG5AbWl4aW4gcGFnZSgpIHtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgXCJpbWFnZSB0aXRsZVwiXG4gIFwiaW1hZ2UgYm9keVwiXG4gIFwiaW1hZ2UgYm9keVwiXG4gIFwiaW1hZ2UgYm9keVwiO1xuXG4gIC5yZXN1bHQtaW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBwcm9kdWN0KCkge1xuICAtLWJhZGdlLXNwYWNpbmcgOiAzcmVtO1xuXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0taW1hZ2Utd2lkdGgpIGF1dG87XG5cbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICBcImltYWdlIHRpdGxlXCJcbiAgICBcImltYWdlIHRpdGxlXCJcbiAgICBcImltYWdlIGRhdGFcIlxuICAgIFwiaW1hZ2UgZGF0YVwiO1xuXG4gIC8vIC5yZXN1bHQtdGl0bGUge1xuICAvLyAgIG1hcmdpbi10b3A6ICRnYXA7XG4gIC8vIH1cblxuICAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWJvZHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYmFkZ2Utc3BhY2luZykgKiAyKTtcbiAgfVxuXG4gIC5wcm9kdWN0LWRhdGEge1xuICAgIGdyaWQtYXJlYTogZGF0YTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdyaWQtZ2FwOiBjYWxjKCRnYXAgLyAyKSAkZ2FwO1xuICB9XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBicmVhay1pbig0NTApIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgIFwiaW1hZ2UgXCJcbiAgICBcInRpdGxlXCJcbiAgICBcImRhdGFcIjtcblxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdW5zZXQ7XG5cbiAgICAucHJvZHVjdC1kYXRhIHtcbiAgICAgIC8vIG1hcmdpbi10b3A6ICRnYXAtO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuXG4gICAgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1ib2R5IHsgcGFkZGluZy1yaWdodDogMCB9XG4gICAgLy8gLnJlc3VsdC10aXRsZSB7IGFsaWduLXNlbGY6IGNlbnRlciB9XG4gIH1cblxuXG4gICYuaW4tc3RvY2s6OmJlZm9yZSB7XG4gICAgLS1wYWRkaW5nLXkgOiAwLjJlbTtcbiAgICAtLXBhZGRpbmcteCA6IDEwZW07XG5cbiAgICBjb250ZW50OiAnaW4gc3RvY2snO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMWVtICsgdmFyKC0tcGFkZGluZy15KSk7XG4gICAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1wYWRkaW5nLXgpKTtcbiAgICBwYWRkaW5nOiAwLjVlbSB2YXIoLS1wYWRkaW5nLXgpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnLi4vX2hlbHBlcnMvbWlzYy5zY3NzJyBhcyAqO1xuXG5AbWl4aW4gdGFnKCkge1xuICAmW2Rpc2FibGVkXSB7IEBpbmNsdWRlIGRpc2FibGVkKCkgfVxuICAmLmNhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSB0YWctYmFzZSgpO1xuICAgIC0tYm9yZGVyLWNvbG91cjogI3skcmVkfTtcbiAgICBAaW5jbHVkZSB0YWctd2l0aC1zZWNvbmRhcnkoKTtcbiAgICAudGFnLXNlY29uZGFyeTpob3ZlciB7IEBpbmNsdWRlIHNlY29uZGFyeS1ob3ZlcigpIH1cbiAgfVxuXG4gICYuY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIHRhZy1jaGVja2JveCgpO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJhc2Ugc3R5bGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctYmFzZSgpIHtcbiAgLS1ib3JkZXItcmFkaXVzICAgICAgIDogMHB4O1xuICAtLWZvbnQtY29sb3VyICAgICAgICAgOiAjeyRyZWR9O1xuICAtLWJnLWNvbG91ciAgICAgICAgICAgOiB3aGl0ZTtcbiAgLS1zZWNvbmRhcnktd2lkdGggICAgIDogM2NoO1xuICAtLXNlY29uZGFyeS1wYWRkaW5nLXggOiAzcHg7XG4gIC0tYm9yZGVyLWNvbG91ciAgICAgICA6IHRyYW5zcGFyZW50O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG91cik7XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gIC50YWctbGFiZWwge1xuICAgIHBhZGRpbmc6IDNweCAkZ2FwIDNweCAkZ2FwO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFdpdGggc2Vjb25kYXJ5IHNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gdGFnLXdpdGgtc2Vjb25kYXJ5KCkge1xuICAtLXN5bWJvbC1jb2xvdXIgOiAjeyRyZWR9O1xuXG4gIC50YWctc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zZWNvbmRhcnktcGFkZGluZy14KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDNjaDtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQ2hlY2tib3ggdGFnc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctY2hlY2tib3goKSB7XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYgfiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSB0YWctYmFzZSgpO1xuICAgICAgQGluY2x1ZGUgdGFnLXdpdGgtc2Vjb25kYXJ5KCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAtLWJvcmRlci1jb2xvdXI6ICN7JHJlZH07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgICAgIC0tYmctY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgICAudGFnLXNlY29uZGFyeSB7IEBpbmNsdWRlIHNlY29uZGFyeS1ob3ZlcihyZ2JhKHdoaXRlLCAwLjMpKSB9XG4gICAgfVxuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHNlY29uZGFyeS1ob3ZlcigkY29sb3VyIDogJHJlZCkge1xuICAtLXN5bWJvbC1jb2xvdXI6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTpcImxhdG9cIjtcbiAgc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NzAwO1xufVxuXG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OlwibGF0b1wiO1xuc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXNlbWlib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXNlbWlib2xkLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJsYXRvXCI7XG4gIHNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtcbiAgfVxuXG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OlwibW9udHNlcnJhdFwiO1xuc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO1xufVxuXG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OlwibW9udHNlcnJhdFwiO1xuc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS1pdGFsaWMub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwO1xufVxuXG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OlwibW9udHNlcnJhdFwiO1xuc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXNlbWlib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXNlbWlib2xkLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtc2VtaWJvbGQub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJtb250c2VycmF0XCI7XG4gIHNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtcmVndWxhci53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtcmVndWxhci5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OlwibW9udHNlcnJhdFwiO1xuICBzcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtZXh0cmFib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtZXh0cmFib2xkLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1leHRyYWJvbGQub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo4MDA7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEN1c3RvbSBQcm9wZXJ0aWVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdfbW9kdWxlcycgYXMgKjtcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbjpyb290IHtcblxuICAvLyBDb2xvdXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAtLXByaW1hcnkgICAgICAgICA6ICN7JHdoaXRlfTsgXG4gIC0tc2Vjb25kYXJ5ICAgICAgIDogI3skYmx1ZX07XG5cbiAgYm9keSB7XG5cbiAgICAmW2RhdGEtdGhlbWU9XCJkZWZhdWx0XCJdIHtcbiAgICAgIC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kICAgIDogI3skdGhlbWUtZGVmYXVsdC1wYWdlLWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQgOiAjeyR0aGVtZS1kZWZhdWx0LWNvbnRlbnQtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtb3Bwb3NpdGUgICA6ICN7JHdoaXRlfTtcbiAgICAgIC0tdGhlbWUtbmF2LWJhY2tncm91bmQgICAgIDogI3skdGhlbWUtZGVmYXVsdC1uYXYtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYiA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LWJhY2tncm91bmQtbW9ifTtcbiAgICAgIC0tdGhlbWUtbmF2LWZvbnQgICAgICAgICAgIDogI3skdGhlbWUtZGVmYXVsdC1uYXYtZm9udH07XG4gICAgICAtLXRoZW1lLW5hdi1mb250LW1vYiAgICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtbmF2LWZvbnQtbW9ifTtcbiAgICAgIC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyIDogI3skdGhlbWUtZGVmYXVsdC1uYXYtc3BhY2luZy1jb2xvdXJ9O1xuICAgICAgLS10aGVtZS1hY2NlbnQgICAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LWFjY2VudH07XG4gICAgICAtLXRoZW1lLWxvZ28gICAgICAgICAgICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtbG9nb307XG4gICAgICAtLWZvbnQtY29sb3VyICAgICAgICAgICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtZm9udH07XG4gICAgICAtLWhlYWRpbmctY29sb3VyICAgICAgICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtaGVhZGluZ307XG4gICAgfVxuXG4gICAgJltkYXRhLXRoZW1lPVwid2hpdGVcIl0ge1xuICAgICAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQgICAgOiAjeyR0aGVtZS13aGl0ZS1wYWdlLWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQgOiAjeyR0aGVtZS13aGl0ZS1jb250ZW50LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1jb250ZW50LW9wcG9zaXRlICAgOiAjeyR3aGl0ZX07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kICAgICA6ICN7JHRoZW1lLXdoaXRlLW5hdi1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iIDogI3skdGhlbWUtd2hpdGUtbmF2LWJhY2tncm91bmQtbW9ifTtcbiAgICAgIC0tdGhlbWUtbmF2LWZvbnQgICAgICAgICAgIDogI3skdGhlbWUtd2hpdGUtbmF2LWZvbnR9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udC1tb2IgICAgICAgOiAjeyR0aGVtZS13aGl0ZS1uYXYtZm9udC1tb2J9O1xuICAgICAgLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIgOiAjeyR0aGVtZS13aGl0ZS1uYXYtc3BhY2luZy1jb2xvdXJ9O1xuICAgICAgLS10aGVtZS1hY2NlbnQgICAgICAgICAgICAgOiAjeyR0aGVtZS13aGl0ZS1hY2NlbnR9O1xuICAgICAgLS10aGVtZS1sb2dvICAgICAgICAgICAgICAgOiAjeyR0aGVtZS13aGl0ZS1sb2dvfTtcbiAgICAgIC0tZm9udC1jb2xvdXIgICAgICAgICAgICAgIDogI3skdGhlbWUtd2hpdGUtZm9udH07XG4gICAgICAtLWhlYWRpbmctY29sb3VyICAgICAgICAgICA6ICN7JHRoZW1lLXdoaXRlLWhlYWRpbmd9O1xuICAgIH1cblxuICAgICZbZGF0YS10aGVtZT1cImJsYWNrXCJdIHtcbiAgICAgIC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kICAgIDogI3skdGhlbWUtYmxhY2stcGFnZS1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kIDogI3skdGhlbWUtYmxhY2stY29udGVudC1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSAgIDogI3skd2hpdGV9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZCAgICAgOiAjeyR0aGVtZS1ibGFjay1uYXYtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kLW1vYiA6ICN7JHRoZW1lLWJsYWNrLW5hdi1iYWNrZ3JvdW5kLW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1mb250ICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLW5hdi1mb250fTtcbiAgICAgIC0tdGhlbWUtbmF2LWZvbnQtbW9iICAgICAgIDogI3skdGhlbWUtYmxhY2stbmF2LWZvbnQtbW9ifTtcbiAgICAgIC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyIDogI3skdGhlbWUtYmxhY2stbmF2LXNwYWNpbmctY29sb3VyfTtcbiAgICAgIC0tdGhlbWUtZm9udCAgICAgICAgICAgICAgIDogI3skdGhlbWUtYmxhY2stZm9udH07XG4gICAgICAtLXRoZW1lLWFjY2VudCAgICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLWFjY2VudH07XG4gICAgICAtLXRoZW1lLWxvZ28gICAgICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLWxvZ299O1xuICAgICAgLS1mb250LWNvbG91ciAgICAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1mb250fTtcbiAgICAgIC0taGVhZGluZy1jb2xvdXIgICAgICAgICAgIDogI3skdGhlbWUtYmxhY2staGVhZGluZ307XG4gICAgfVxuICB9XG5cblxuICAvLyBCcmVha3BvaW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skbmFtZX0gOiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBGb250cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgXG4gIC0tZm9udC1jb2xvdXIgICAgICAgIDogI3t2YXIoLS10aGVtZS1mb250LCAkZm9udC1jb2xvdXIpfTtcbiAgLS1oZWFkaW5nLWNvbG91ciAgICAgOiAje3ZhcigtLXRoZW1lLWhlYWRpbmcsICR3aGl0ZSl9O1xuICAtLXN1Yi1oZWFkaW5nLWNvbG91ciA6ICN7dmFyKC0tc2Vjb25kYXJ5LCAkYmx1ZSl9O1xuXG4gIC8vIFRyYW5zaXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC0tdHJhbnNpdGlvbi1kdXJhdGlvbiA6ICN7JHRyYW5zaXRpb24tZHVyYXRpb259O1xuICAtLXRyYW5zaXRpb24tZWFzZSAgICAgOiAjeyR0cmFuc2l0aW9uLWVhc2V9O1xuICAtLXRyYW5zaXRpb24tZGVsYXkgICAgOiAjeyR0cmFuc2l0aW9uLWRlbGF5fTtcblxuICAvLyBVbml0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAtLWdhcCAgICA6ICN7JGJhc2UtZ2FwfTtcbiAgLS1ndXR0ZXIgOiAjeyRiYXNlLWd1dHRlcn07XG4gIC0tc3BhY2VyIDogI3skYmFzZS1zcGFjZXJ9O1xuIFxuICAvLy8gU2V0IHRoZSBndXR0ZXJzIGFuZCBzcGFjZXJzIHdpdGggY2xhbXAgXG4gIC8vLyBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9jbGFtcFxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDYge1xuXG4gICAgLS1ndXR0ZXIjeyRpfSAgOiAje2d1dHRlcigkaSl9OyBcbiAgICAtLWd1dHRlciN7JGl9LSA6ICN7Z3V0dGVyKCRpLCAkdXNlLW5lZ2F0aXZlIDogdHJ1ZSl9O1xuXG4gICAgJHNwYWNlci1ncm93dGggOiBpZihzYXNzKCRpID09IDApOiAxOyBlbHNlOiAkaSAqIDMpO1xuICAgIC0tc3BhY2VyI3skaX0gIDogI3tzcGFjZXIoJHNwYWNlci1ncm93dGgpfTsgXG4gICAgLS1zcGFjZXIjeyRpfS0gOiAje3NwYWNlcigkc3BhY2VyLWdyb3d0aCwgJHVzZS1uZWdhdGl2ZSA6IHRydWUpfTtcbiAgfVxuICBcbiAgLy8vIFNldHMgdGhlIGd1dHRlcnMgYW5kIHNwYWNlcnMgdXNpbmcgdGhlIGNhbGMgXG4gIC8vLyBtZXRob2QgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBjbGFtcFxuICBAc3VwcG9ydHMgbm90ICggd2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCA2IHtcblxuICAgICAgLS1ndXR0ZXIjeyRpfSAgOiAje2d1dHRlcigkaSwgJHVzZS1jbGFtcCA6IGZhbHNlICl9OyBcbiAgICAgIC0tZ3V0dGVyI3skaX0tIDogI3tndXR0ZXIoJGksICR1c2UtY2xhbXAgOiBmYWxzZSwgJHVzZS1uZWdhdGl2ZSA6IHRydWUgKX07XG5cbiAgICAgICRzcGFjZXItZ3Jvd3RoIDogaWYoc2FzcygkaSA9PSAwKTogMjsgZWxzZTogJGkgKiA0KTtcbiAgICAgIC0tc3BhY2VyI3skaX0gIDogI3tzcGFjZXIoJHNwYWNlci1ncm93dGgsICR1c2UtY2xhbXAgOiBmYWxzZSApfTsgXG4gICAgICAtLXNwYWNlciN7JGl9LSA6ICN7c3BhY2VyKCRzcGFjZXItZ3Jvd3RoLCAkdXNlLWNsYW1wIDogZmFsc2UsICR1c2UtbmVnYXRpdmUgOiB0cnVlICl9O1xuICAgIH0gICAgXG4gIH1cbn0iLCIvLy8gR2xvYmFsIHR5cG9ncmFwaGljIHN0eWxpbmcgdGhhdCBlZmZlY3RzIGV2ZXJ5dGhpbmcuIFxuLy8vIElmIHlvdSB3YW50IHRvIHVwZGF0ZSBzdHlsaW5nIGZvciBjb250ZW50IGJsb2NrIHRleHQgZmllbGRzLCBpbnRyb2R1Y3Rpb24gZmllbGRzLCBcbi8vLyBvciBhbnl0aGluZyBhc3NpZ25lZCBhIC50ZXh0IGNsYXNzIG9uIGl0J3MgY29udGFpbmVyIHRoZW4gZWRpdCB0aGlzIGZpbGU6XG4vLy8gQHNlZSAvc3JjL3Nhc3MvY29tcG9uZW50cy90ZXh0XG5cbkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5cbmJvZHkge1xuICBAaW5jbHVkZSBmb250LW1vbnRzZXJyYXQoKTtcblx0Y29sb3IgICAgICAgOiB2YXIoLS1mb250LWNvbG91ciwgJGZvbnQtY29sb3VyKTtcbiAgbGluZS1oZWlnaHQgOiAkZm9udC1saW5lLWhlaWdodDtcbiAgZm9udC1zaXplICAgOiAkZm9udC1zaXplO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnRzaXplKCRmb250LXNpemUtbWluLCAkZm9udC1zaXplLW1heCk7XG59XG5cbmgxIHsgQGluY2x1ZGUgaGVhZGluZy1oMTsgfVxuaDIgeyBAaW5jbHVkZSBoZWFkaW5nLWgyOyB9XG5oMyB7IEBpbmNsdWRlIGhlYWRpbmctaDM7IH1cbmg0IHsgQGluY2x1ZGUgaGVhZGluZy1oNDsgfVxuaDUgeyBAaW5jbHVkZSBoZWFkaW5nLWg1OyB9XG5oNiB7IEBpbmNsdWRlIGhlYWRpbmctaDY7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IFxuXG4gIEBpbmNsdWRlIGZvbnQtbW9udHNlcnJhdChib2xkKTtcbiAgY29sb3I6dmFyKC0taGVhZGluZy1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7XG4gIFxuICAmLnN1Yi1oZWFkaW5nIHtcbiAgICBjb2xvcjp2YXIoLS1zdWItaGVhZGluZy1jb2xvdXIpOyBcbiAgICBAaW5jbHVkZSBmb250LWxhdG8oc2VtaS1ib2xkKTtcbiAgfVxuXG4gIHNwYW4sIHN0cm9uZywgcCB7XG4gICAgY29sb3IgICAgICAgOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5IDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodCA6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gcSwgYmxvY2txdW90ZSB7XG4vLyAgIHF1b3RlczogXCLigJxcIiBcIuKAnVwiIFwi4oCYXCIgXCLigJlcIjtcbi8vICAgJjo6YmVmb3JlIHsgY29udGVudDogb3Blbi1xdW90ZTsgfVxuLy8gICAmOjphZnRlciB7IGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG4vLyB9XG5cbmEgeyBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgJHRyYW5zaXRpb24sIGNvbG9yICR0cmFuc2l0aW9uO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICR0cmFuc3BhcmVudDtcbiAgJi5leHRlcm5hbCB7XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDsgXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBzdmcuZXh0ZXJuYWwtbGluayB7XG4gICAgICBvcGFjaXR5OjAuNjsgXG4gICAgICB3aWR0aDowLjhlbTtcbiAgICAgIGhlaWdodDowLjhlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OjAuNWVtOyBcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIH1cbn1cblxuQGluY2x1ZGUgaGVhZGluZy1hbGwoKSB7XG4gIGEge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cik7XG4gICAgfVxuICB9XG59XG5cblxuXG5wLCBhIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbn1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG5saSB7IFxuXHRhIHsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OjJweDsgfVxufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTpmb250LXNpemUoMTApO1xuICBsaW5lLWhlaWdodDoxLjg7XG59XG5cbmhyIHsgXG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oci1jb2xvdXIsICRncmV5NSk7XG4gIG1hcmdpbi10b3A6JGdhcDI7IFxuICBtYXJnaW4tYm90dG9tOiRnYXAyOyBcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEZvbnRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ2NvbG91cnMnIGFzICo7XG5cbiRjb2xvdXIgICAgICA6ICRncmV5MjtcbiRzaXplICAgICAgICA6IDEuNXJlbSAhZGVmYXVsdDtcbiRzaXplLW1pbiAgICA6IDEuNHJlbSAhZGVmYXVsdDsgXG4kc2l6ZS1tYXggICAgOiAxLjZyZW0gIWRlZmF1bHQ7IFxuJGxpbmUtaGVpZ2h0IDogMS42ICFkZWZhdWx0OyBcblxuJHNpemUtaDEgICAgIDogNWVtICFkZWZhdWx0O1xuJHNpemUtaDEtbWluIDogNGVtICFkZWZhdWx0O1xuJHNpemUtaDIgICAgIDogMmVtICFkZWZhdWx0O1xuJHNpemUtaDMgICAgIDogMS41ZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oNCAgICAgOiAxLjNlbSAhZGVmYXVsdDtcbiRzaXplLWg1ICAgICA6IDEuM2VtICFkZWZhdWx0O1xuJHNpemUtaDYgICAgIDogMS4zZW0gIWRlZmF1bHQ7XG4gIFxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBMYXRvIEZvbnRcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhpcyBmb250IGl0IHByaW1hcmlseSB1c2VkIGZvciBoZWFkaW5ncyAoPGgqPiB0YWdzKVxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGZvbnQtbGF0byhib2xkKVxuXG5AbWl4aW4gbGF0bygkd2VpZ2h0OnJlZ3VsYXIpIHtcblxuICBmb250LWZhbWlseTpsYXRvLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgQGlmICggJHdlaWdodCA9PSAncmVndWxhcicpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnc2VtaS1ib2xkJyBvciAkd2VpZ2h0ID09ICdzZW1pYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBNb250c2VycmF0IEZvbnRcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhpcyBpcyB0aGUgYmFzZSBmb250IHVzZWQgZm9yIGFsbCBzdGFuZGFyZCBjb3B5IHRocm91Z2hvdXQgdGhlIHNpdGUuXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1tb250c2VycmF0KClcblxuQG1peGluIG1vbnRzZXJyYXQoJHdlaWdodDpyZWd1bGFyKSB7XG5cbiAgZm9udC1mYW1pbHk6bW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgXG4gIEBpZiAoICR3ZWlnaHQgPT0gJ3JlZ3VsYXInKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdpdGFsaWMnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdib2xkJykge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gUmVzcG9uc2l2ZSBGb250c2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcmVzcG9uc2l2ZS1mb250c2l6ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnLi4vaGVscGVycy9icmVhayc7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQG1peGluIHJlc3BvbnNpdmUtZm9udHNpemUoJG1pbiwgJG1heCwgJHNjYWxlciA6IDEuNXZ3LCAkYnJlYWtwb2ludHMgOiAobWluOjk1MHB4LCBtYXg6MTYwMHB4KSkge1xuICBcblx0Ly8gUmVzcG9uc2l2ZSBmb250c2l6ZVxuICBAc3VwcG9ydHMgKCB3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgICBmb250LXNpemU6Y2xhbXAoI3skbWlufSwgI3skc2NhbGVyfSwgI3skbWF4fSk7ICAgXG5cdH1cblxuXHQvLyBSZXNwb25zaXZlIGZvbnRzaXplIGZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgJ2NsYW1wJ1xuXHRAc3VwcG9ydHMgbm90ICh3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcblx0XHRAaW5jbHVkZSBicmVhay5pbihtYXAuZ2V0KCRicmVha3BvaW50cywgJ21pbicpKSB7IGZvbnQtc2l6ZTokbWluOyB9XG5cdFx0QGluY2x1ZGUgYnJlYWsub3V0KG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAnbWF4JykpIHsgZm9udC1zaXplOiRtYXg7IH1cblx0fVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQnJlYWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNicmVha1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIG91dCgkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRicmVha3BvaW50ICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW4oJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6I3skYnJlYWtwb2ludH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiN7JG1heH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIZWFkaW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczptZXRhJztcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICcuL2NvbGxlY3Rpb25zL2ZvbnQnO1xuQHVzZSAnLi9tb2R1bGVzL3VuaXQnO1xuXG4vLyBEZWZhdWx0IEhlYWRpbmcgVmFsdWVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaDEgOiAoXG4gICdmb250LXNpemUnICAgOiAzLjByZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjFcbikgIWRlZmF1bHQ7XG5cbiRoMiA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuNXJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuM1xuKSAhZGVmYXVsdDtcblxuJGgzIDogKFxuICAnZm9udC1zaXplJyAgIDogMi4ycmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDQgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjByZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNSA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDEuOHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg2IDogKFxuICAnZm9udC1zaXplJyAgIDogMS42cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kYmFzZSA6IDYyLjUgIWRlZmF1bHQ7XG4kc2NhbGVyIDogMS41dncgIWRlZmF1bHQ7XG4kZW5hYmxlLWNyb3BwaW5nIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhbGxiYWNrIExpbmUtaGVpZ2h0cyBzaG91bGQgdGhleSBub3QgaGF2ZSBiZWVuIHBhc3NlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGgxLCBcImxpbmUtaGVpZ2h0XCIpIHsgJGgxIDogbWFwLnNldCgkaDEsICdsaW5lLWhlaWdodCcsIDEuMSk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGgyLCBcImxpbmUtaGVpZ2h0XCIpIHsgJGgyIDogbWFwLnNldCgkaDIsICdsaW5lLWhlaWdodCcsIDEuMyk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGgzLCBcImxpbmUtaGVpZ2h0XCIpIHsgJGgzIDogbWFwLnNldCgkaDMsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGg0LCBcImxpbmUtaGVpZ2h0XCIpIHsgJGg0IDogbWFwLnNldCgkaDQsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGg1LCBcImxpbmUtaGVpZ2h0XCIpIHsgJGg1IDogbWFwLnNldCgkaDUsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGg2LCBcImxpbmUtaGVpZ2h0XCIpIHsgJGg2IDogbWFwLnNldCgkaDYsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cblxuLy8gRGVmaW5lIHRoZSB2YXJpYWJsZXMgc28gdGhleSBhcmUgc3RpbGwgYWNjZXNpYmxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGgxLWZvbnQtc2l6ZSAgICAgOiBtYXAuZ2V0KCRoMSwgJ2ZvbnQtc2l6ZScpO1xuJGgxLWxpbmUtaGVpZ2h0ICAgOiBtYXAuZ2V0KCRoMSwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDEtZm9udC1zaXplLW1pbiA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgxLCBcImZvbnQtc2l6ZS1taW5cIikpOiBtYXAuZ2V0KCRoMSwgXCJmb250LXNpemUtbWluXCIpOyBlbHNlOiBmYWxzZSk7XG4kaDEtc2NhbGVyICAgICAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgxLCBcInNjYWxlclwiKSk6IG1hcC5nZXQoJGgxLCBcInNjYWxlclwiKTsgZWxzZTogJHNjYWxlcik7XG5cbiRoMi1mb250LXNpemUgICAgIDogbWFwLmdldCgkaDIsICdmb250LXNpemUnKTtcbiRoMi1saW5lLWhlaWdodCAgIDogbWFwLmdldCgkaDIsICdsaW5lLWhlaWdodCcpO1xuJGgyLWZvbnQtc2l6ZS1taW4gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMiwgXCJmb250LXNpemUtbWluXCIpKTogbWFwLmdldCgkaDIsIFwiZm9udC1zaXplLW1pblwiKTsgZWxzZTogZmFsc2UpO1xuJGgyLXNjYWxlciAgICAgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMiwgXCJzY2FsZXJcIikpOiBtYXAuZ2V0KCRoMiwgXCJzY2FsZXJcIik7IGVsc2U6ICRzY2FsZXIpO1xuXG4kaDMtZm9udC1zaXplICAgICA6IG1hcC5nZXQoJGgzLCAnZm9udC1zaXplJyk7XG4kaDMtbGluZS1oZWlnaHQgICA6IG1hcC5nZXQoJGgzLCAnbGluZS1oZWlnaHQnKTtcbiRoMy1mb250LXNpemUtbWluIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDMsIFwiZm9udC1zaXplLW1pblwiKSk6IG1hcC5nZXQoJGgzLCBcImZvbnQtc2l6ZS1taW5cIik7IGVsc2U6IGZhbHNlKTtcbiRoMy1zY2FsZXIgICAgICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDMsIFwic2NhbGVyXCIpKTogbWFwLmdldCgkaDMsIFwic2NhbGVyXCIpOyBlbHNlOiAkc2NhbGVyKTtcblxuJGg0LWZvbnQtc2l6ZSAgICAgOiBtYXAuZ2V0KCRoNCwgJ2ZvbnQtc2l6ZScpO1xuJGg0LWxpbmUtaGVpZ2h0ICAgOiBtYXAuZ2V0KCRoNCwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDQtZm9udC1zaXplLW1pbiA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg0LCBcImZvbnQtc2l6ZS1taW5cIikpOiBtYXAuZ2V0KCRoNCwgXCJmb250LXNpemUtbWluXCIpOyBlbHNlOiBmYWxzZSk7XG4kaDQtc2NhbGVyICAgICAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg0LCBcInNjYWxlclwiKSk6IG1hcC5nZXQoJGg0LCBcInNjYWxlclwiKTsgZWxzZTogJHNjYWxlcik7XG5cbiRoNS1mb250LXNpemUgICAgIDogbWFwLmdldCgkaDUsICdmb250LXNpemUnKTtcbiRoNS1saW5lLWhlaWdodCAgIDogbWFwLmdldCgkaDUsICdsaW5lLWhlaWdodCcpO1xuJGg1LWZvbnQtc2l6ZS1taW4gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNSwgXCJmb250LXNpemUtbWluXCIpKTogbWFwLmdldCgkaDUsIFwiZm9udC1zaXplLW1pblwiKTsgZWxzZTogZmFsc2UpO1xuJGg1LXNjYWxlciAgICAgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNSwgXCJzY2FsZXJcIikpOiBtYXAuZ2V0KCRoNSwgXCJzY2FsZXJcIik7IGVsc2U6ICRzY2FsZXIpO1xuXG4kaDYtZm9udC1zaXplICAgICA6IG1hcC5nZXQoJGg2LCAnZm9udC1zaXplJyk7XG4kaDYtbGluZS1oZWlnaHQgICA6IG1hcC5nZXQoJGg2LCAnbGluZS1oZWlnaHQnKTtcbiRoNi1mb250LXNpemUtbWluIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDYsIFwiZm9udC1zaXplLW1pblwiKSk6IG1hcC5nZXQoJGg2LCBcImZvbnQtc2l6ZS1taW5cIik7IGVsc2U6IGZhbHNlKTtcbiRoNi1zY2FsZXIgICAgICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDYsIFwic2NhbGVyXCIpKTogbWFwLmdldCgkaDYsIFwic2NhbGVyXCIpOyBlbHNlOiAkc2NhbGVyKTtcblxuLy8gSGFuZGxlcyBDcm9wcyBzaG91bGQgdGhleSBub3QgaGF2ZSBiZWVuIHBhc3NlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJF9oMS1jcm9wLXRvcCAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgxLCBcImNyb3AtdG9wXCIpKTogbWFwLmdldCgkaDEsIFwiY3JvcC10b3BcIik7IGVsc2U6IGZhbHNlKTtcbiRfaDItY3JvcC10b3AgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMiwgXCJjcm9wLXRvcFwiKSk6IG1hcC5nZXQoJGgyLCBcImNyb3AtdG9wXCIpOyBlbHNlOiBmYWxzZSk7XG4kX2gzLWNyb3AtdG9wICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDMsIFwiY3JvcC10b3BcIikpOiBtYXAuZ2V0KCRoMywgXCJjcm9wLXRvcFwiKTsgZWxzZTogZmFsc2UpO1xuJF9oNC1jcm9wLXRvcCAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg0LCBcImNyb3AtdG9wXCIpKTogbWFwLmdldCgkaDQsIFwiY3JvcC10b3BcIik7IGVsc2U6IGZhbHNlKTtcbiRfaDUtY3JvcC10b3AgICAgOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNSwgXCJjcm9wLXRvcFwiKSk6IG1hcC5nZXQoJGg1LCBcImNyb3AtdG9wXCIpOyBlbHNlOiBmYWxzZSk7XG4kX2g2LWNyb3AtdG9wICAgIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDYsIFwiY3JvcC10b3BcIikpOiBtYXAuZ2V0KCRoNiwgXCJjcm9wLXRvcFwiKTsgZWxzZTogZmFsc2UpO1xuXG4kX2gxLWNyb3AtYm90dG9tIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC1ib3R0b21cIikpOiBtYXAuZ2V0KCRoMSwgXCJjcm9wLWJvdHRvbVwiKTsgZWxzZTogZmFsc2UpO1xuJF9oMi1jcm9wLWJvdHRvbSA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtYm90dG9tXCIpKTogbWFwLmdldCgkaDIsIFwiY3JvcC1ib3R0b21cIik7IGVsc2U6IGZhbHNlKTtcbiRfaDMtY3JvcC1ib3R0b20gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLWJvdHRvbVwiKSk6IG1hcC5nZXQoJGgzLCBcImNyb3AtYm90dG9tXCIpOyBlbHNlOiBmYWxzZSk7XG4kX2g0LWNyb3AtYm90dG9tIDogaWYoc2FzcyhtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC1ib3R0b21cIikpOiBtYXAuZ2V0KCRoNCwgXCJjcm9wLWJvdHRvbVwiKTsgZWxzZTogZmFsc2UpO1xuJF9oNS1jcm9wLWJvdHRvbSA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtYm90dG9tXCIpKTogbWFwLmdldCgkaDUsIFwiY3JvcC1ib3R0b21cIik7IGVsc2U6IGZhbHNlKTtcbiRfaDYtY3JvcC1ib3R0b20gOiBpZihzYXNzKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSk6IG1hcC5nZXQoJGg2LCBcImNyb3AtYm90dG9tXCIpOyBlbHNlOiBmYWxzZSk7XG5cblxuLy8gTWl4aW5zIGZvciBlYWNoIGhlYWRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIF9zZXQtY3JvcCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjcm9wKSB7XG5cbiAgQGlmIChtZXRhLnR5cGUtb2YoJGNyb3ApID09ICdtYXAnKSB7XG5cbiAgICAkZm9udC1zaXplICAgOiB1bml0LnN0cmlwKCRmb250LXNpemUpICogMTA7XG4gICAgJGxpbmUtaGVpZ2h0IDogdW5pdC5zdHJpcCgkbGluZS1oZWlnaHQpO1xuICAgICR0b3AgICAgICAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGNyb3AsIFwidG9wXCIpKTogdW5pdC5zdHJpcChtYXAuZ2V0KCRjcm9wLCBcInRvcFwiKSk7IGVsc2U6IDApO1xuICAgICRib3R0b20gICAgICA6IGlmKHNhc3MobWFwLmhhcy1rZXkoJGNyb3AsIFwiYm90dG9tXCIpKTogdW5pdC5zdHJpcChtYXAuZ2V0KCRjcm9wLCBcImJvdHRvbVwiKSk7IGVsc2U6IDApO1xuXG4gICAgQGluY2x1ZGUgZm9udC5jcm9wKCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJHRvcCwgJGJvdHRvbSk7XG5cbiAgfVxuXG59XG5cbkBtaXhpbiBoMSgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMS1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMS1mb250LXNpemUtbWluIGFuZCAkaDEtZm9udC1zaXplLW1pbiA8ICRoMS1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgxLWZvbnQtc2l6ZS1taW4pfSwgI3skaDEtc2NhbGVyfSwgI3tmb250LnNpemUoJGgxLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgxLWZvbnQtc2l6ZSwgJGgxLWxpbmUtaGVpZ2h0LCAkX2gxLWNyb3AtdG9wLCAkX2gxLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDEtbGluZS1oZWlnaHQ7IFxuICAgIH1cblxuICB9XG5cbn1cblxuQG1peGluIGgyKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgyLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgyLWZvbnQtc2l6ZS1taW4gYW5kICRoMi1mb250LXNpemUtbWluIDwgJGgyLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDItZm9udC1zaXplLW1pbil9LCAjeyRoMi1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDItZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDItZm9udC1zaXplLCAkaDItbGluZS1oZWlnaHQsICRfaDItY3JvcC10b3AsICRfaDItY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMi1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGgzKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgzLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgzLWZvbnQtc2l6ZS1taW4gYW5kICRoMy1mb250LXNpemUtbWluIDwgJGgzLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDMtZm9udC1zaXplLW1pbil9LCAjeyRoMy1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDMtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDMtZm9udC1zaXplLCAkaDMtbGluZS1oZWlnaHQsICRfaDMtY3JvcC10b3AsICRfaDMtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMy1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGg0KCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGg0LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGg0LWZvbnQtc2l6ZS1taW4gYW5kICRoNC1mb250LXNpemUtbWluIDwgJGg0LWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDQtZm9udC1zaXplLW1pbil9LCAjeyRoNC1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDQtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDQtZm9udC1zaXplLCAkaDQtbGluZS1oZWlnaHQsICRfaDQtY3JvcC10b3AsICRfaDQtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNC1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGg1KCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGg1LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGg1LWZvbnQtc2l6ZS1taW4gYW5kICRoNS1mb250LXNpemUtbWluIDwgJGg1LWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDUtZm9udC1zaXplLW1pbil9LCAjeyRoNS1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDUtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDUtZm9udC1zaXplLCAkaDUtbGluZS1oZWlnaHQsICRfaDUtY3JvcC10b3AsICRfaDUtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNS1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGg2KCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGg2LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGg2LWZvbnQtc2l6ZS1taW4gYW5kICRoNi1mb250LXNpemUtbWluIDwgJGg2LWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDYtZm9udC1zaXplLW1pbil9LCAjeyRoNi1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDYtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcDIoJGg2LWZvbnQtc2l6ZSwgJGg2LWxpbmUtaGVpZ2h0LCAkX2g2LWNyb3AtdG9wLCAkX2g2LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDYtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91cnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBFeHBsaWNpdCBDb2xvdXJzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gRXhwbGljaXQgY29sb3VycyBhcmUgYSB3aGF0IHRoZXkgYXJlLiBHcmVlbiBpcyBncmVlbiwgYmx1ZSBpcyBibHVlLi4uIG5vIG9ic2N1cml0eS5cbi8vLyBXZSBzdWZmaXggbnVtYmVycyB0byBkZWZpbmUgdmFyaWF0aW9ucyBvZiBjb2xvdXJzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgb2Ygc2hhZGUuIFxuLy8vIEV4YW1wbGU6IGdyZWVuMSwgZ3JlZW4yLCBncmVlbjMsIGdyZWVuNC4gVGhpcyBpcyBzbyB3ZSBjYW4gaW1taWRpYXRlbHkgc2VlIGhvdyBcbi8vLyBtYW55IG9wdGlvbnMgd2UgaGF2ZSBmb3IgYSBzaW5nbGUgY29sb3VyIGF0IGEgZ2xhbmNlLiBJZiB5b3Ugc2VlICRncmVlbjQsIHlvdSBrbm93IHRoaXNcbi8vLyBwcm9qZWN0IGlzIHVzaW5nIGZvdXIgdmFyaWF0aW9ucyBvZiBncmVlbi4gVGhpcyBpcyBhbHNvIG9mdGVuIHVzZWZ1bCBiZWNhdXNlIG1hbnkgZGV2ZWxvcG1lbnQgXG4vLy8gdG9vbHMgd2lsbCBhdXRvLXN1Z2dlc3QgY29sb3VycyB3aXRoIGFjdHVhbCBleGFtcGxlcyBvZiB0aGUgY29sb3VyLiBcbi8vLyBUaGUgUGFsbGV0ZXMgbW9kdWxlIChhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSkgd2lsbCBvdXRwdXQgc2hhZGVkIG5hbWVkIHZhcmlhdGlvbnMsIFxuLy8vLyA8Y29sb3VyPi1kYXJrIGFuZCA8Y29sb3VyPi1saWdodC4gSWYgeW91IG5lZWQgYWRkaXRpb25hbCBzaGFkZXMgcGxlYXNlIHJlZnJhaW0gZnJvbSBnb2luZyBkb3duIFxuLy8vIHRoZSAnbGlnaHRlcicsICdsaWdodGVzdCcsICdkYXJrZXInLCAnZGFya2VzdCcgY29udmVudGlvbi4gVGhlc2UgYXJlIG5vdCBwYXJ0aWN1YXJseSBsZWdpYWJsZSBcbi8vLyBhbmQgdGhleSBhcmUgbGltaXRlZCBieSBob3cgY3JlYXRpdmUgKGNvbmZ1c2luZykgeW91ciB3b3JkaW5nIGNhbiBiZS4gXG4vLy8gSXQgaXMgYmV0dGVyIHRvIGRlZmluZSBhIG5ldyBleHBsY2l0IGNvbG91ciBlbnRpcmVseS4gXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL3doYXQtZG8teW91LW5hbWUtY29sb3ItdmFyaWFibGVzL1xuXG4kYmx1ZSAgICAgICAgICAgICA6ICMxMzFmNmI7IC8vIFByaW1hcnlcbiRibHVlMiAgICAgICAgICAgIDogIzI5MkI2ODsgLy8gTmFrZWQgTGlua1xuJGJsdWUzICAgICAgICAgICAgOiAjM2QzZjdmOyAvLyBMaWdudCBHcmFkaWVudFxuJGJsdWU0ICAgICAgICAgICAgOiAjMTAxMjRkOyAvLyBEYXJrIEdyYWRpZW50XG4kYmx1ZTUgICAgICAgICAgICA6ICMwMDk1RkY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlciBcblxuJHJlZCAgICAgICAgICAgICAgOiAjREYzMDM1OyAvLyBTZWNvbmRhcnkgLSBUaGlzIHBhc3NlcyB0aGUgY29udHJhc3QgcmF0aW8gYWNjZXNzaWJpbGl0eSB0ZXN0IGluIEdvb2dsZXMgTGlnaHRob3VzZSBcblxuJGdyZXkgICAgICAgICAgICAgOiAjOTY5Njk1O1xuJGdyZXkyICAgICAgICAgICAgOiAjNkE2QTZBOyAvLyBGb250XG4kZ3JleTMgICAgICAgICAgICA6ICNGNEY0RjQ7IC8vIExpZ2h0ZXIgR3JleSBCYWNrZ3JvdW5kXG4kZ3JleTQgICAgICAgICAgICA6ICNkY2RjZGM7XG4kZ3JleTUgICAgICAgICAgICA6ICNCMUIxQjE7IC8vIFNwYWNlcnMgPGhyPlxuJGdyZXk2ICAgICAgICAgICAgOiAjMzMzMjM2OyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXIgIFxuJGdyZXk3ICAgICAgICAgICAgOiAjZTllOWU5O1xuJGdyZWVuICAgICAgICAgICAgOiAjNTBCQzA4O1xuJHllbGxvdyAgICAgICAgICAgOiAjRjZGNERCOyAvLyBEaXNjbGFpbWVyIEJhY2tncm91bmRcbiR5ZWxsb3cyICAgICAgICAgIDogI0ZDQjAwMjtcbiRibGFjayAgICAgICAgICAgIDogIzFFMUExQTtcbiR3aGl0ZSAgICAgICAgICAgIDogI0ZGRkZGRjtcblxuJG9yYW5nZSAgICAgICAgICAgOiAjZWQ2MjI0O1xuXG5cbiR0cmFuc3BhcmVudCAgICAgIDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiRtYXJrICAgICAgICAgICAgIDogJGJsdWU1OyAvLyBiYWNrZ3JvdW5kIGNvbG91ciBmb3IgPG1hcms+IHRhZ3NcblxuJGRlZmF1bHQtZ3JhZGllbnQgOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAkYmx1ZSA1JSwgJGJsYWNrIDY2JSk7XG4kcmV2ZXJzZS1ncmFkaWVudCA6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICMxMDEyNGQgMCUsICRibHVlIDgwJSk7XG4kbGlnaHQtZ3JhZGllbnQgICA6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgYm90dG9tLCAjMTAxMjRkIDU1JSwgIzE3MjU4MiAxMDAlKTtcblxuXG4vLy9cbiRwcmltYXJ5OiAkYmx1ZTtcbi8vL1xuXG5cblxuXG4vLy8gVGhlbWVzICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGhlbWUtZGVmYXVsdC1wYWdlLWJhY2tncm91bmQgICAgOiAkZGVmYXVsdC1ncmFkaWVudDtcbiR0aGVtZS1kZWZhdWx0LWNvbnRlbnQtYmFja2dyb3VuZCA6ICR0cmFuc3BhcmVudDtcbiR0aGVtZS1kZWZhdWx0LW5hdi1iYWNrZ3JvdW5kICAgICA6ICR0cmFuc3BhcmVudDtcbiR0aGVtZS1kZWZhdWx0LW5hdi1iYWNrZ3JvdW5kLW1vYiA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LW5hdi1mb250ICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LW5hdi1mb250LW1vYiAgICAgICA6ICRibHVlO1xuJHRoZW1lLWRlZmF1bHQtbmF2LXNwYWNpbmctY29sb3VyIDogcmdiYSgkYmx1ZSwgMC4zKTtcbiR0aGVtZS1kZWZhdWx0LWZvbnQgICAgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LWhlYWRpbmcgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1kZWZhdWx0LWFjY2VudFx0XHRcdFx0XHQgICAgOiAkcmVkO1xuJHRoZW1lLWRlZmF1bHQtbG9nbyAgICAgICAgICAgICAgIDogJHdoaXRlO1xuXG4kdGhlbWUtd2hpdGUtcGFnZS1iYWNrZ3JvdW5kICAgICAgOiAkbGlnaHQtZ3JhZGllbnQ7XG4kdGhlbWUtd2hpdGUtY29udGVudC1iYWNrZ3JvdW5kICAgOiAjZjhmOGY4O1xuJHRoZW1lLXdoaXRlLW5hdi1iYWNrZ3JvdW5kICAgICAgIDogJHRyYW5zcGFyZW50O1xuJHRoZW1lLXdoaXRlLW5hdi1iYWNrZ3JvdW5kLW1vYiAgIDogJGJsdWU7XG4kdGhlbWUtd2hpdGUtbmF2LWZvbnQgICAgICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtd2hpdGUtbmF2LWZvbnQtbW9iICAgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtd2hpdGUtbmF2LXNwYWNpbmctY29sb3VyICAgOiByZ2JhKCR3aGl0ZSwgMC4zKTtcbiR0aGVtZS13aGl0ZS1mb250ICAgICAgICAgICAgICAgICA6ICRibGFjaztcbiR0aGVtZS13aGl0ZS1oZWFkaW5nICAgICAgICAgICAgICA6ICRibHVlO1xuJHRoZW1lLXdoaXRlLWFjY2VudFx0XHRcdFx0XHQgICAgICA6ICR0aGVtZS1kZWZhdWx0LWFjY2VudDtcbiR0aGVtZS13aGl0ZS1sb2dvICAgICAgICAgICAgICAgICA6ICR3aGl0ZTtcblxuJHRoZW1lLWJsYWNrLXBhZ2UtYmFja2dyb3VuZCAgICAgIDogJGRlZmF1bHQtZ3JhZGllbnQ7XG4kdGhlbWUtYmxhY2stY29udGVudC1iYWNrZ3JvdW5kICAgOiAkYmxhY2s7XG4kdGhlbWUtYmxhY2stbmF2LWJhY2tncm91bmQgICAgICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2stbmF2LWJhY2tncm91bmQtbW9iICAgOiAkd2hpdGU7XG4kdGhlbWUtYmxhY2stbmF2LWZvbnQgICAgICAgICAgICAgOiAkYmx1ZTtcbiR0aGVtZS1ibGFjay1uYXYtZm9udC1tb2IgICAgICAgICA6ICRibHVlO1xuJHRoZW1lLWJsYWNrLW5hdi1zcGFjaW5nLWNvbG91ciAgIDogcmdiYSgkYmx1ZSwgMC4zKTtcbiR0aGVtZS1ibGFjay1mb250ICAgICAgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1ibGFjay1oZWFkaW5nICAgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1ibGFjay1hY2NlbnRcdFx0XHRcdFx0ICAgICAgOiAkdGhlbWUtZGVmYXVsdC1hY2NlbnQ7XG4kdGhlbWUtYmxhY2stbG9nbyAgICAgICAgICAgICAgICAgOiAkYmx1ZTtcblxuLy8vIFBhbGV0dGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBCeSBsb2FkaW5nIGNvbmZpZ3VyYXRpb25zIGludG8gdGhpcyAncGFsbGV0ZScgbW9kdWxlLCB3ZSB3aWxsIGJlIGFibGVcbi8vLyB0byBkZWNsYXJlIHZhcmlhbnRzIG9mIGEgZmV3IGNvbW1vbiBjb2xvdXJzLiBZb3UgY2FuIGFsc28gYWRqdXN0IHRoZSBsaWdodG5lc3Ncbi8vLyBvciBkYXJrbmVzcyBvZiBlYWNoIHZhcmlhbnQgYnkgcGFzc2luZyBpbiB0aGUgcmVsZXZhbnQgcHJpdmF0ZSBydWxlcy4gXG4vLy8gUGFsZXR0ZSB3aWxsIGFsc28gZXhwb3NlIHBvcHVsYXIgc29jaWFsIG1lZGlhIGNvbG91cnMgYW5kIHRoZSBZZWxsbyBicmFuZCBjb2xvdXIuXG4vLy8gQHNlZSBodHRwczovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi9hdC1ydWxlcy9mb3J3YXJkI2NvbmZpZ3VyaW5nLW1vZHVsZXNcbi8vLyBAb3V0cHV0ICRncmVlbiA6ICMwMjkyOUE7ICRncmVlbi1kYXJrIDogIzI1NjU2OTsgJGdyZWVuLWxpZ2h0OiAjMDRiOWM0O1xuXG5AZm9yd2FyZCAnY3JlYXRlL3BhbGV0dGUnd2l0aCAoJGJsdWUgOiAkYmx1ZSxcblx0JHJlZCA6ICRyZWQsXG5cdCRncmV5IDogJGdyZXksXG5cdCR5ZWxsb3cgOiAkeWVsbG93LFxuXHQkZ3JlZW4gOiAkZ3JlZW4sXG5cdCRibGFjayA6ICRibGFjayk7XG5cbiRjb21wb25lbnQtdGhlbWVzIDogKFwicmVkXCI6ICRyZWQsIFwiYmx1ZVwiOiAkYmx1ZSwgXCJncmV5XCI6ICRncmV5MywgXCJ3aGl0ZVwiIDogJHdoaXRlKTsiLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaG92ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBob3Zlcigkc2VsZWN0b3IgOiBudWxsKSB7XG4gIEBtZWRpYSAoIGhvdmVyIDogaG92ZXIgKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHNlbGVjdG9yIHtcbiAgICAmI3skc2VsZWN0b3J9IHsgXG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8gVGhpcyB1bml0cyBjcmVhdG9yIHdpbGwgcmVuZGVyIHNpeCBwb3NpdGl2ZSBhbmQgc2l4IG5lZ2F0aXZlIHNhc3MgdmFyaWFibGVzIGZvciBcbi8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNldiB2YWx1ZXMgZGVmaW5lZCBiZWxvdy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYXNlIFZhbHVlcyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9tYXJrbm90dG9uL3Blbi9FeFBiTkdlXG5cbi8vIFRoZXNlIHRocmVlIHZhbHVlcyB3aWxsIGFjdCBhIGNvbnN0YW50IGJhc2VsaW5lIGZvciBhbGwgZm9sbG93aW5nIHVuaXQgZGVsY2FyYXRpb25zLlxuXG4vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4kZ2FwIDogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWdhcCA6ICRnYXA7XG5cbi8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuJHNwYWNlciA6IDR2aCAhZGVmYXVsdDsgXG4kYmFzZS1zcGFjZXIgOiAkc3BhY2VyOyBcblxuLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuJGd1dHRlciA6IDN2dyAhZGVmYXVsdDtcbiRiYXNlLWd1dHRlciA6ICRndXR0ZXI7IFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXNib2x1dGUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBHYXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2FwcyBhcmUgYW4gYWJzb2x1dGUgdW5pdCAocHgpIGludGVuZGVkIHRvIGJlIHVzZWQgb24gaW5kaXZpZHVhbCBlbGVtZW50cyB3aXRoaW4gYSBjb21wb25lbnRlZC4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHNwYWNpbmcgYW1vbmdzdCBibG9jaywgaW5saW5lLCB0YWJsZSBhbmQgZ3JvdXAgaHRtbCBlbGVtZW50cy5cblxuQGZ1bmN0aW9uIGdhcCgkYW1vdW50IDogMSkge1xuICBAaWYgKCAkYW1vdW50ID09IDEgKSB7IFxuICAgIEByZXR1cm4gdmFyKC0tZ2FwKTsgXG4gIH0gQGVsc2UgeyBcbiAgICBAcmV0dXJuIGNhbGModmFyKC0tZ2FwKSAqICN7JGFtb3VudH0pOyBcbiAgfVxufVxuXG4kZ2FwMCA6IGdhcCgwLjUpOyAkZ2FwMC0gOiBnYXAoLTAuNSk7XG4kZ2FwICA6IGdhcCgxKTsgICAkZ2FwLSAgOiBnYXAoLTEpO1xuJGdhcDIgOiBnYXAoMik7ICAgJGdhcDItIDogZ2FwKC0yKTtcbiRnYXAzIDogZ2FwKDMpOyAgICRnYXAzLSA6IGdhcCgtMyk7XG4kZ2FwNCA6IGdhcCg0KTsgICAkZ2FwNC0gOiBnYXAoLTQpO1xuJGdhcDUgOiBnYXAoNSk7ICAgJGdhcDUtIDogZ2FwKC01KTtcbiRnYXA2IDogZ2FwKDYpOyAgICRnYXA2LSA6IGdhcCgtNik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZWxhdGl2ZSBVbml0cyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiBfZHluYW1pYy11bml0KCRjdXN0b20tcHJvcGVydHksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcblxuICAvLyBDYWxjIE1ldGhvZFxuICAkcmVzdWx0IDogY2FsYygoI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0pICsgI3tpZihzYXNzKCRtaW4gPT0gMCk6IDBweDsgZWxzZTogJG1pbil9KTtcbiAgXG4gIC8vIENsYW1wIE1ldGhvZFxuICBAaWYgKCAkdXNlLWNsYW1wICkge1xuICAgIEBpZiAoICRhbW91bnQgPT0gMCApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgje21hdGguZGl2KCRtaW4sIDIpfSwgI3skY3VzdG9tLXByb3BlcnR5fSAqIDAuNSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSBpZiAoICRhbW91bnQgPT0gMSApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9LCAjeyRtYXh9KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9ICogI3skYW1vdW50fSwgI3skbWF4fSk7XG4gICAgfVxuICB9IFxuXG4gIEBpZiAoICR1c2UtbmVnYXRpdmUgKSB7XG4gICAgJHJlc3VsdCA6IGNhbGMoLTEgKiAjeyRyZXN1bHR9KTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcblxufSBcblxuLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNwYWNlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgaGVpZ2h0ICh2aCkgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgY29tcG9uZW50ZWQgbGV2ZWwuXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gU3BhY2VycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkc3BhY2VyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdmggc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gc3BhY2VyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLXNwYWNlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kc3BhY2VyMCA6IHZhcigtLXNwYWNlcjApOyAkc3BhY2VyMC0gOiB2YXIoLS1zcGFjZXIwLSk7XG4kc3BhY2VyICA6IHZhcigtLXNwYWNlcjEpOyAkc3BhY2VyLSAgOiB2YXIoLS1zcGFjZXIxLSk7XG4kc3BhY2VyMiA6IHZhcigtLXNwYWNlcjIpOyAkc3BhY2VyMi0gOiB2YXIoLS1zcGFjZXIyLSk7XG4kc3BhY2VyMyA6IHZhcigtLXNwYWNlcjMpOyAkc3BhY2VyMy0gOiB2YXIoLS1zcGFjZXIzLSk7XG4kc3BhY2VyNCA6IHZhcigtLXNwYWNlcjQpOyAkc3BhY2VyNC0gOiB2YXIoLS1zcGFjZXI0LSk7XG4kc3BhY2VyNSA6IHZhcigtLXNwYWNlcjUpOyAkc3BhY2VyNS0gOiB2YXIoLS1zcGFjZXI1LSk7XG4kc3BhY2VyNiA6IHZhcigtLXNwYWNlcjYpOyAkc3BhY2VyNi0gOiB2YXIoLS1zcGFjZXI2LSk7XG5cbi8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuLy8gZm9yIGV4YW1wbGUsIGEgd3JhcHBlciBjb250YWluZXIgb3IgYm9keSB3aXRoIG5lc3RlZCBjb21wb25lbnRzLiBcbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbi8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG5cbkBmdW5jdGlvbiBndXR0ZXIoJGFtb3VudCA6IDEsICRtaW4gOiAkYmFzZS1nYXAsICRtYXggOiBudWxsLCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMCkgeyAkYW1vdW50IDogMC41OyAkbWluIDogbWF0aC5kaXYoJG1pbiwgMik7IH1cbiAgQGlmICggbWV0YS50eXBlLW9mKCRtYXgpID09ICdudWxsJyApIHsgXG4gICAgQGlmICggbWV0YS50eXBlLW9mKCRtaW4pID09ICdzdHJpbmcnIGFuZCBzdHJpbmcuaW5kZXgoJG1pbiwgJ3ZhcicpICkge1xuICAgICAgJG1heCA6IGNhbGMoI3skbWlufSAqICN7JGFtb3VudCArIDF9KTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF4IDogI3skbWluICogKCRhbW91bnQgKyAxKX07IFxuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9keW5hbWljLXVuaXQodmFyKC0tZ3V0dGVyKSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSwgJHVzZS1jbGFtcCk7XG59XG5cbiRndXR0ZXIwIDogdmFyKC0tZ3V0dGVyMCk7ICRndXR0ZXIwLSA6IHZhcigtLWd1dHRlcjAtKTtcbiRndXR0ZXIgIDogdmFyKC0tZ3V0dGVyMSk7ICRndXR0ZXItICA6IHZhcigtLWd1dHRlcjEtKTtcbiRndXR0ZXIyIDogdmFyKC0tZ3V0dGVyMik7ICRndXR0ZXIyLSA6IHZhcigtLWd1dHRlcjItKTtcbiRndXR0ZXIzIDogdmFyKC0tZ3V0dGVyMyk7ICRndXR0ZXIzLSA6IHZhcigtLWd1dHRlcjMtKTtcbiRndXR0ZXI0IDogdmFyKC0tZ3V0dGVyNCk7ICRndXR0ZXI0LSA6IHZhcigtLWd1dHRlcjQtKTtcbiRndXR0ZXI1IDogdmFyKC0tZ3V0dGVyNSk7ICRndXR0ZXI1LSA6IHZhcigtLWd1dHRlcjUtKTtcbiRndXR0ZXI2IDogdmFyKC0tZ3V0dGVyNik7ICRndXR0ZXI2LSA6IHZhcigtLWd1dHRlcjYtKTtcbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4vLyBUT0RPOiBSRU1PVkUgVU5FQ0VTU0FSWSBDT0RFXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBMYXlvdXRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIExheW91dCBzdHlsaW5nIHNob3VsZCBiZSB1c2VkIHRvIGFkanVzdCBsYXlvdXQgcHJvcGVydGllcyBvbmx5LlxuLy8gV2hlcmUgcG9zc2libGUsIGl0IHNob3VsZCBub3QgYmUgdXNlZCB0byBtYW5hZ2UgdGhlIGZsb3cgb2YgYSBwYWdlLlxuLy8gSW5zdGVhZCBvbmx5IHdpZHRocywgaGVpZ2h0LCBkaXNwbGF5LCBncmlkLCBwb3NpdGlvbiwgcGFkZGluZywgbWFyZ2lucywgb3JkZXIsIGFuZCBhbGlrZVxuLy8gc2hvdWxkIGJlIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhlc2UgZmlsZXMuIEtlZXAgdGhlIGxheW91dHMgaGVyZSBhbmRcbi8vIGNvbXBvbmVudCBzdHlsaW5nIGluIHRoZWlyIHJlc3BlY3RpdmUgZmlsZXMuXG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuYm9keSB7XG4gICRzaWRlYmFyLXdpZHRoOiAzMHZ3O1xuXG4gIC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IGNsYW1wKDI1MHB4LCAyNXZ3LCAzMDBweCk7XG4gIC0tbmF2aWdhdGlvbi1iYXItaGVpZ2h0OiAxMDB2aDtcblxuICAtLXNpZGViYXItd2lkdGg6ICN7JHNpZGViYXItd2lkdGh9O1xuICAtLXNpZGViYXItbWF4LXdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcblxuICAtLWxvZ28taGVpZ2h0OiAyMDBweDtcblxuICAtLWdhcC14OiBjbGFtcCgycmVtLCA1dncsIDhyZW0pO1xuICAtLWdhcC15OiA1MHB4O1xuXG4gIC0tcm93LWNvbnRlbnQ6IDEgLyAtMTtcbiAgLS1yb3ctaGVhZGVyOiBjYWxjKDEgKyB2YXIoLS1jb250ZW50LW9mZnNldCwgMCkpO1xuICAtLXJvdy1tYWluOiBjYWxjKDIgKyB2YXIoLS1jb250ZW50LW9mZnNldCwgMCkpO1xuXG4gICZbZGF0YS1zaWRlYmFyPSd0b3AnXSB7XG4gICAgLS1yb3ctc2lkZWJhcjogMSAvIC0xO1xuICB9XG4gICZbZGF0YS1zaWRlYmFyPSdoZWFkZXInXSB7XG4gICAgLS1yb3ctc2lkZWJhcjogdmFyKC0tcm93LWhlYWRlcikgLyAtMjtcbiAgfVxuICAmW2RhdGEtc2lkZWJhcj0nY29udGVudCddIHtcbiAgICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctbWFpbikgLyAtMjtcbiAgfVxuXG4gIC0tY29sdW1uLW5hdmlnYXRpb246IDE7XG4gIC0tY29sdW1uLWNvbnRlbnQ6IDI7XG4gIC0tY29sdW1uLWhlYWRlcjogMjtcbiAgLS1jb2x1bW4tbWFpbjogMjtcbiAgLS1jb2x1bW4tc2lkZWJhcjogMztcblxuICAtLXJvd3M6IHZhcigtLWxvZ28taGVpZ2h0KSBhdXRvIDFmcjtcbiAgLS1jb2x1bW5zOiB2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCkgbWlubWF4KDAsIDFmcikgYXV0bztcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwLXkpIHZhcigtLWdhcC14KTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB2YXIoLS1yb3dzKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW5zKTtcblxuICBuYXZpZ2F0aW9uLWJhciB7XG4gICAgZ3JpZC1yb3c6IHZhcigtLXJvdy1uYXZpZ2F0aW9uKTtcbiAgICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLW5hdmlnYXRpb24pO1xuICB9XG5cbiAgbWFpbiB7IFxuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICBjb250YWluZXItbmFtZTogbWFpbjtcbiAgfVxuXG4gIC5jb250ZW50LXdyYXBwZXIge1xuICAgIGdyaWQtcm93OiB2YXIoLS1yb3ctY29udGVudCk7XG4gICAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1jb250ZW50KTtcbiAgICB6LWluZGV4OiAkei1pbmRleC1tYWluO1xuICB9XG5cbiAgc2lkZS1iYXIge1xuICAgIGdyaWQtcm93OiB2YXIoLS1yb3ctc2lkZWJhcik7XG4gICAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbiAgfVxuXG4gICYuaGVhdHNpbmtzLWhvbWUsXG4gICYuY29tcG9uZW50cy1ob21lIHtcbiAgICAtLXJvdy1jb250ZW50OiAyO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstaW4oJ2xhcmdlJykge1xuICAgICZbZGF0YS1zaWRlYmFyPSd0b3AnXSxcbiAgICAmW2RhdGEtc2lkZWJhcj0naGVhZGVyJ10sXG4gICAgJltkYXRhLXNpZGViYXI9J2NvbnRlbnQnXSB7XG4gICAgICAtLWNvbHVtbi1zaWRlYmFyOiAyO1xuICAgICAgLS1yb3ctY29udGVudDogMSAvIC0yO1xuXG4gICAgICBzaWRlLWJhciB7XG4gICAgICAgIC0tcm93LXNpZGViYXI6IGNhbGModmFyKC0tcm93LWNvbnRlbnQpICsgMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstaW4oJ3NtYWxsLW1lZGl1bScpIHtcbiAgICBwbGFjZS1jb250ZW50OiBzdGFydDtcblxuICAgIC0tbmF2aWdhdGlvbi1jb250YWluZXItaGVpZ2h0OiA2MHB4O1xuICAgIC0tbmF2aWdhdGlvbi1tb2JpbGUtc2VhcmNoLWhlaWdodDogNjFweDtcblxuICAgIC0tcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgIC0tY29sdW1uczogMCBtaW5tYXgoMCwgMWZyKSAwO1xuXG4gICAgLS1yb3ctbmF2aWdhdGlvbjogMTtcbiAgICAtLWNvbHVtbi1uYXZpZ2F0aW9uOiAxIC8gLTE7XG5cbiAgICAmOm5vdCguaGVhdHNpbmtzLWhvbWUsIC5jb21wb25lbnRzLWhvbWUpIHtcbiAgICAgIC0tcm93LWNvbnRlbnQ6IDIgLyBzcGFuIDMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyAtLWNvbHVtbi1jb250ZW50OiAxLyAtMTtcblxuICAgIC8vIC0tcm93LWNvbnRlbnQ6IDI7XG5cbiAgICAvLyAtLWNvbnRlbnQtb2Zmc2V0OiAxO1xuXG4gICAgJiA+ICoge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgbWFpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLm1vYmlsZS1vcGVuLFxuICAmLm1vZGFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4uY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG5cbiAgdWwgeyBAaW5jbHVkZSBsaXN0LXVsKCRvcmFuZ2UpIH1cbiAgb2wgeyBAaW5jbHVkZSBsaXN0LW9sKCkgfVxuXG4gIGgzIHsgQGluY2x1ZGUgaGVhZGluZy1oMiB9XG5cbiAgPiAqIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgPiB1bCwgPiBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhlYWRpbmctYWxsKCkge1xuICAgIC8vIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICAgICYgKyBoMSxcbiAgICAmICsgaDIsXG4gICAgJiArIGgzLFxuICAgICYgKyBoNCxcbiAgICAmICsgaDUsXG4gICAgJiArIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgfVxuICB9XG5cbiAgYSB7IC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCkgfVxufSIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICdjb2xsZWN0aW9ucy9mb250L2Nyb3AnIGFzIGZvbnQ7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcblxuXG5AbWl4aW4gdGljay1tYXJrZXIoJGZpbGwsICRzdHJva2UgOiB3aGl0ZSkge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSdcIitjb2xvdXIuZW5jb2RlKCRmaWxsKStcIicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nXCIrY29sb3VyLmVuY29kZSgkc3Ryb2tlKStcIicgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBtaXhpbiBzdHlsZSgkZmlsbCwgJHN0cm9rZSA6IHdoaXRlKSB7XG4gID4gbGk6OmJlZm9yZSB7IFxuICAgIGNvbnRlbnQ6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nXCIrY29sb3VyLmVuY29kZSgkZmlsbCkrXCInIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG5cbi8vIFVub3JkZXJkIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiB1bCgkbGlzdC1zdHlsZS1jb2xvdXIgOiAkZ3JlZW4sICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIgOiB3aGl0ZSkge1xuXG4gIEBpbmNsdWRlIHN0eWxlKCRsaXN0LXN0eWxlLWNvbG91ciwgJGxpc3Qtc3R5bGUtYWNjZW50LWNvbG91cik7XG5cbiAgPiBsaSB7IFxuXG4gICAgcG9zaXRpb24gICAgICA6IHJlbGF0aXZlOyBcbiAgICBwYWRkaW5nLWxlZnQgIDogY2FsYyh2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSkgKiAxLjgpO1xuXG4gICAgJiArIGxpIHsgbWFyZ2luLXRvcCA6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgI3skZ2FwMH0pOyB9XG4gICAgXG4gICAgJjo6YmVmb3JlIHsgXG4gICAgICBkaXNwbGF5ICA6IGlubGluZS1ibG9jazsgXG4gICAgICB0b3AgICAgICA6IDAuMWVtOyBcbiAgICAgIGxlZnQgICAgIDogMDsgXG4gICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgd2lkdGggICAgOiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7IFxuICAgICAgaGVpZ2h0ICAgOiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7IFxuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xuXG59XG5cbi8vIE9yZGVyZWQgTGlzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBvbCgpIHtcblxuICBjb3VudGVyLXJlc2V0IDogY291bnRlcjtcblxuICA+IGxpIHsgXG4gICAgcG9zaXRpb24gICAgIDogcmVsYXRpdmU7IFxuICAgIGRpc3BsYXkgICAgICA6IGJsb2NrOyBcbiAgICBwYWRkaW5nLWxlZnQgOiAyMnB4O1xuICAgIG1hcmdpbi1sZWZ0ICA6IHZhcigtLWxpc3Qtc3R5bGUtb2Zmc2V0LCAwKTtcblxuICAgICYgKyBsaSB7IG1hcmdpbi10b3A6JGdhcDA7IH1cblxuICAgICY6OmJlZm9yZSB7IFxuICAgICAgY29udGVudCAgICAgICAgICAgOiBjb3VudGVyKGNvdW50ZXIpJy4nO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQgOiBjb3VudGVyO1xuICAgICAgY29sb3IgICAgICAgICAgICAgOiB2YXIoLS1saXN0LXN0eWxlLWNvbG91ciwgdmFyKC0tZm9udC1jb2xvdXIpKTsgXG4gICAgICBwb3NpdGlvbiAgICAgICAgICA6IHJlbGF0aXZlOyBcbiAgICAgIG1hcmdpbi1yaWdodCAgICAgIDogMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG4gIFxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhlYWRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJmb250c1wiIGFzIGZvbnQ7XG5cbi8vLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrbm90dG9uL2RvZ2dpc3R5bGUvYmxvYi9tYXN0ZXIvbGlicmFyeS9zcmMvY3JlYXRlL19oZWFkaW5ncy5zY3NzXG4vLy8gPGg+IHRhZ3MgYXJlIHVzZWQgYWxsIG92ZXIgdGhlIHBsYWNlIGFuZCB0ZW5kIHRvIGhhdmUgYmVzcG9rZSBzdHlsZSBkZXBlbmRpbmdcbi8vLyBpdCdzIHNlbWFudGljIGltcG9ydGFuY2UuIFRoaXMgaXMgd2h5IGEgPGgyPiBvbiBvbmUgcGFnZSBtYXkgbm90IGJlIHRoZSBzYW1lIFxuLy8vIHNpemUgYXMgYSA8aDI+IG9uIGFub3RoZXIgcGFnZS4gSXQgY2FuIGJlIHRlbXBhdGluZyB0byBoYXJkY29kZSBhIG5ldyBcbi8vLyBmb250LXNpemUgdmFsdWUgb24gYSBjYXNlLWJ5LWNhc2UgYmFzZXMsIHVzdWF1bGx5IHRvIG1hdGNoIHRoZSBkZXNpZ25zLiBcbi8vLyBIb3dldmVyIGRlc2lnbnMgd2lsbCBjaGFuZ2Ugb3ZlciB0aW1lIGFuZCBjbGllbnQgcmVxdWVzdHMgZWZmZWN0IGZvbnQgZmxvd3MgZnJlcXVlbnRseS5cbi8vLyBUbyBlbmNvdXJhZ2UgYSBzdHJvbmcgY29udGludWl0eSBhY3Jvc3MgdGhlIHNpdGUsIEkgcHJvcG9zZSB3ZSB1c2UgdGhlIHNhbWUgXG4vLy8gc2l4IGhlYWRpbmcgdHlwZXMgcmVnYXJkbGVzcyBvZiB0aGVpciB0YWcgbnVtYmVyLiBUaGlzIHdpbGwgc2F2ZSBhbnlcbi8vLyBndWVzc3dvcmsgd2l0aCBsaW5lLWhlaWdodHMgYXN3ZWxsLiBcbi8vLyBTbyBpZiB3ZSAnQGluY2x1ZGUgaGVhZGluZy1oMicgb24gYSA8aDQ+LCB3ZSBzdGlsbCBrbm93IG90aGVyIHVubW9kaWZpZWQgPGgyPidzIFxuLy8vIHdpbGwgYXBwZWFyIHRoZSBzYW1lIGFzIHRoaXMgc3BlY2lmaWMgPGg0Pi4gXG4vLy8gQGV4YW1wbGUgXG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oMTtcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oNDtcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWg1O1xuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDY7XG4vLy8gUGFzcyBpbiAndHJ1ZScgcGFyYW0gaWYgeW91IG9ubHkgd2FudCB0byBkZWZpbmUgdGhlIGZvbnQtc2l6ZSBhbmQgbm8gb3RoZXIgcHJvcGVydGllcyAobGluZS1oZWlnaHQgJiBjcm9wcGluZylcbi8vLyBAZXhhbXBsZSBcbi8vLyBoMSB7IEBpbmNsdWRlIGhlYWRpbmctaDMgfSA8LSBUaGlzIEgxIHdpbGwgbG9vayBsaWtlIGEgSDNcbi8vLyBoMiB7IEBpbmNsdWRlIGhlYWRpbmctaDQgfSA8LSBUaGlzIEgyIHdpbGwgbG9vayBsaWtlIGEgSDRcbi8vL1xuLy8vIEBvdXRwdXRcbi8vLyBBbHNvIHRoZXNlIHZhcmlhYmxlcyBhcmUgYXZhaWxhYmxlIHRvbyBzaG91bGQgeW91IG5lZWQgdGhlbSAoaG9wZWZ1bGx5IHlvdSB3b24ndCkuIFxuLy8vICRoZWFkaW5nLWgxLWZvbnQtc2l6ZSwgJGhlYWRpbmctaDEtbGluZS1oZWlnaHQ7XG4vLy8gJGhlYWRpbmctaDItZm9udC1zaXplLCAkaGVhZGluZy1oMi1saW5lLWhlaWdodDtcbi8vLyAkaGVhZGluZy1oMy1mb250LXNpemUsICRoZWFkaW5nLWgzLWxpbmUtaGVpZ2h0O1xuLy8vICRoZWFkaW5nLWg0LWZvbnQtc2l6ZSwgJGhlYWRpbmctaDQtbGluZS1oZWlnaHQ7XG4vLy8gJGhlYWRpbmctaDUtZm9udC1zaXplLCAkaGVhZGluZy1oNS1saW5lLWhlaWdodDtcbi8vLyAkaGVhZGluZy1oNi1mb250LXNpemUsICRoZWFkaW5nLWg2LWxpbmUtaGVpZ2h0O1xuLy8vXG4vLy8gVHlwZSBjcm9wcGluZyBhZGRyZXNlcyBzcGFjaW5nIGlzc3VlcyB0aGF0IGVmZmVjdCBkaWZmZXJudCBmb250IGZpbGVzXG4vLy8gYXQgdmFyeWluZyBmb250IHNpemVzIGFuZCBsaW5lIGhlaWdodHMuIFRoaXMgbWl4aW4gYXR0ZW1wdHMgdG8gZml4IHRoYXQuIFxuLy8vIEBzZWUgaHR0cDovL3RleHQtY3JvcC5laWdodHNoYXBlcy5jb20vP3R5cGVmYWNlLXNlbGVjdGlvbj1nb29nbGUtZm9udCZ0eXBlZmFjZT1MYXRvJmN1c3RvbS10eXBlZmFjZS1uYW1lPUhlbHZldGljYSZjdXN0b20tdHlwZWZhY2UtdXJsPSZjdXN0b20tdHlwZWZhY2Utd2VpZ2h0PTQwMCZjdXN0b20tdHlwZWZhY2Utc3R5bGU9bm9ybWFsJndlaWdodC1hbmQtc3R5bGU9MTAwJnNpemU9MzYmbGluZS1oZWlnaHQ9MS4yJnRvcC1jcm9wPTkmYm90dG9tLWNyb3A9OFxuXG5cbkBmb3J3YXJkICdjcmVhdGUvaGVhZGluZ3Mnd2l0aCAoXG5cdCRoMSA6ICgnZm9udC1zaXplJyA6IGZvbnQuJHNpemUtaDEsXG5cdFx0J2ZvbnQtc2l6ZS1taW4nIDogZm9udC4kc2l6ZS1oMS1taW4sXG5cdFx0J2xpbmUtaGVpZ2h0JyA6IDEuMixcblx0XHQnc2NhbGVyJyA6IDV2dyxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNyxcblx0XHQvLydjcm9wLWJvdHRvbScgOiAwXG5cdCksXG5cdCRoMiA6ICgnZm9udC1zaXplJyA6IGZvbnQuJHNpemUtaDIsXG5cdFx0J2xpbmUtaGVpZ2h0JyA6IDEuMyxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNCxcblx0XHQvLydjcm9wLWJvdHRvbScgOiA1XG5cdCksXG5cdCRoMyA6ICgnZm9udC1zaXplJyA6IGZvbnQuJHNpemUtaDMsXG5cdFx0J2xpbmUtaGVpZ2h0JyA6IGZvbnQuJGxpbmUtaGVpZ2h0LFxuXHRcdC8vJ2Nyb3AtdG9wJyAgICA6IDE2LFxuXHRcdC8vJ2Nyb3AtYm90dG9tJyA6IDFcblx0KSxcblx0JGg0IDogKCdmb250LXNpemUnIDogZm9udC4kc2l6ZS1oNCxcblx0XHQnbGluZS1oZWlnaHQnIDogZm9udC4kbGluZS1oZWlnaHQsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTQsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogM1xuXHQpLFxuXHQkaDUgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWg1LFxuXHRcdCdsaW5lLWhlaWdodCcgOiBmb250LiRsaW5lLWhlaWdodCxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNCxcblx0XHQvLydjcm9wLWJvdHRvbScgOiAzXG5cdCksXG5cdCRoNiA6ICgnZm9udC1zaXplJyA6IGZvbnQuJHNpemUtaDYsXG5cdFx0J2xpbmUtaGVpZ2h0JyA6IGZvbnQuJGxpbmUtaGVpZ2h0LFxuXHRcdC8vJ2Nyb3AtdG9wJyAgICA6IDE0LFxuXHRcdC8vJ2Nyb3AtYm90dG9tJyA6IDNcblx0KVxuKTtcblxuQG1peGluIGFsbCgpIHtcblx0aDEsIGgyLCBoMywgaDQsIGg2LCBoNiB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9tYXJrbm90dG9uL3Blbi9FeFBiTkdlXG4vLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFya25vdHRvbi9kb2dnaXN0eWxlL2Jsb2IvbWFzdGVyL2xpYnJhcnkvc3JjL2NyZWF0ZS9fdW5pdHMuc2Nzc1xuXG4vLy8gVGhpcyB1bml0cyBjcmVhdG9yIHdpbGwgcmVuZGVyIHNpeCBwb3NpdGl2ZSBhbmQgc2l4IG5lZ2F0aXZlIHNhc3MgdmFyaWFibGVzIGZvciBcbi8vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZSB2YWx1ZXMgZGVmaW5lZCBiZWxvdy4gXG5cbkBmb3J3YXJkICdjcmVhdGUvdW5pdHMnIHdpdGggKFxuXG4gIC8vLyBHYXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLy8gR2FwcyBhcmUgYW4gYWJzb2x1dGUgdW5pdCAocHgpIGludGVuZGVkIHRvIGJlIHVzZWQgb24gaW5kaXZpZHVhbCBlbGVtZW50cyB3aXRoaW4gYSBjb21wb25lbnRlZC4gXG4gIC8vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHNwYWNpbmcgYW1vbmdzdCBibG9jaywgaW5saW5lLCB0YWJsZSBhbmQgZ3JvdXAgaHRtbCBlbGVtZW50cy5cbiAgLy8vIEdhcHMgbXVzdCB1c2UgYW4gYWJzb2x1dGUgYW5kIHN0YXRpYyAncHgnIHVuaXQuIEl0IHNob3VsZCBub3QgYmUgcmVsYXRpdmUgdG8gYW55XG4gIC8vLyBwYXJlbnQgY29udGFpbmVyIGFuZCBpcyBub3QgaW50ZW5kZWQgZm9yIGZvbnQgc2l6ZXMsIHNvIHlvdSBzaG91bGQgbm90IHVzZSAncmVtJyBvciAnZW0nLiBcbiAgLy8vIEByZXN1bHQgOiAkZ2FwMCwgJGdhcCwgJGdhcDIsICRnYXAzLCAkZ2FwNCwgJGdhcDUgLCAkZ2FwNiwgJGdhcDAtLCAkZ2FwLSwgJGdhcDItLCAkZ2FwMy0sICRnYXA0LSwgJGdhcDUtIGFuZCAkZ2FwNi1cbiAgXG4gICRnYXAgOiAxNnB4LFxuXG4gIC8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNwYWNlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgaGVpZ2h0ICh2aCkgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgY29tcG9uZW50ZWQgbGV2ZWwuXG4gIC8vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuICAvLy8gU3BhY2VycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkc3BhY2VyICogeCkgKyAkZ2FwYC4gXG4gIC8vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdmggc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuICAvLy8gU3BhY2VycyBtdXN0IHVzZSBhICd2aCcgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgaGVpZ2h0LXdpc2UuXG4gIC8vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb24gYSBjb21wb25lbnQgbGV2ZWwuXG4gIC8vLyBAcmVzdWx0IDogJHNwYWNlcjAsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXI0LCAkc3BhY2VyNSwgJHNwYWNlcjYsICRzcGFjZXIwLSwgJHNwYWNlci0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlcjQtLCAkc3BhY2VyNS0gYW5kICRzcGFjZXI2LVxuICBcbiAgJHNwYWNlciA6IDR2aCwgXG5cbiAgLy8gR3V0dGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbiAgLy8gZm9yIGV4YW1wbGUsIGEgd3JhcHBlciBjb250YWluZXIgb3IgYm9keSB3aXRoIG5lc3RlZCBjb21wb25lbnRzLiBcbiAgLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBsZWZ0IGFuZCByaWdodCBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIEd1dHRlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJGd1dHRlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZ3IHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbiAgLy8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiAgLy8vIEByZXN1bHQgOiAkZ3V0dGVyMCwgJGd1dHRlciwgJGd1dHRlcjIsICRndXR0ZXIzLCAkZ3V0dGVyNCwgJGd1dHRlcjUsICRndXR0ZXI2LCAkZ3V0dGVyMC0sICRndXR0ZXItLCAkZ3V0dGVyMi0sICRndXR0ZXIzLSwgJGd1dHRlcjQtLCAkZ3V0dGVyNS0gYW5kICRndXR0ZXI2LVxuICBcbiAgJGd1dHRlciA6IDN2dywgXG5cbik7XG5cbiRib3JkZXItcmFkaXVzIDogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTsiLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcbkB1c2UgJ21vZHVsZXMvY29sb3VyL2VuY29kZScgYXMgY29sb3VyO1xuXG4vLyBHbG9iYWxseSBzdHlsZSBpbnB1dHMgYW5kIHN1Ym1pdCBoYW5kbGVzXG5cbkBpbmNsdWRlIGZvcm0tY2hhcmFjdGVyLWlucHV0cygpIHtcbiAgQGluY2x1ZGUgZm9ybS1jaGFyYWN0ZXItaW5wdXQoKTtcbiAgJjpub3Qoc2VsZWN0KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBmb3JtLWFsbC1pbnB1dHMoKSB7XG4gICY6Zm9jdXMgeyBAaW5jbHVkZSBmb3JtLWlucHV0LWZvY3VzKCkgfVxufVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1kZWZhdWx0KCk7XG59XG5cblxuc2VsZWN0IHsgIFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCRmb3JtLWJhc2UtaW5wdXQtcGFkZGluZyAqIDMpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBAaW5jbHVkZSBmb3JtLWFycm93LWRvd24taW1hZ2UoJGZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjYWxjKDEwMCUgLSAjeyRmb3JtLWJhc2UtaW5wdXQtcGFkZGluZ30pIGNlbnRlcjtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuXG4gIG9wdGlvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG5cbi5pbnB1dC1jb250YWluZXIge1xuICAmLmhvcml6b250YWwgeyBcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAmOm5vdCgucmFkaW8sIC5jaGVja2JveCkge1xuICAgIEBpbmNsdWRlIGZvcm0tdGV4dC1jb250YWluZXIoKTtcblxuICAgIGlucHV0W21heGxlbmd0aF0sIGlucHV0W3NpemVdIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG4gIH1cblxuICAmLnJhZGlvLCAmLmNoZWNrYm94IHsgQGluY2x1ZGUgZm9ybS1yYWRpby1jaGVja2JveC1jb250YWluZXIoKSB9XG4gICYucmFkaW8geyBAaW5jbHVkZSBmb3JtLXJhZGlvLWNvbnRhaW5lcigpIH1cbn1cblxuLm11bHRpLWlucHV0IHtcbiAgQGluY2x1ZGUgZm9ybS1tdWx0aS1pbnB1dCgpO1xufVxuXG5yYWRpby10YWJzIHtcbiAgQGluY2x1ZGUgZm9ybS1yYWRpby10YWJzKCk7XG59XG5cblxuZm9ybSB7XG5cbiAgLy8gTWFrZSBzdWJtaXQgYnV0dG9uIGRpc2FibGVkIHdoZW4gZm9ybSBpcyBpbnZhbGlkLlxuXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICB9XG5cbltkYXRhLWZyZWVmb3JtLWNvbnRyb2xzXSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuICBcbiAgJjppbnZhbGlkIHtcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7IFxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRlJFRUZPUk0gU1RZTElOR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5mb3JtIHtcbiAgJltkYXRhLWZyZWVmb3JtXSB7XG5cbiAgICBoMywgaDQsIGg1LCBoNiB7IEBpbmNsdWRlIGhlYWRpbmctaDIoKSB9XG5cbiAgICAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgICAgIC0tZm9udC1jb2xvdXI6ICN7JGdyZWVufTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuXG4gICAgICBwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGxpc3QtdGljay1tYXJrZXIoJGdyZWVuKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mZi1mb3JtLWVycm9ycyB7XG4gICAgICAtLWZvbnQtY29sb3VyOiAjeyRyZWR9O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDI7XG4gICAgfVxuXG4gICAgLmZmLWVycm9ycyB7XG4gICAgICAtLWZvbnQtY29sb3VyOiAjeyRyZWR9O1xuICAgICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gICAgfVxuXG4gICAgLmZvcm0tZmllbGRzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgICBncmlkLWdhcDogJGdhcDtcblxuICAgICAgLmZyZWVmb3JtLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAycmVtO1xuICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIC5mcmVlZm9ybS1jb2x1bW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRnYXAyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZnJlZWZvcm0tY29sdW1uLWNvbnRlbnQtYWxpZ24tcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAmICsgLmZyZWVmb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygkZ2FwIC8gMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZvcm0tYmFzZS1yZXF1aXJlZCgpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gSU5ESVZJRFVBTCBGT1JNIFNUWUxFU1xuXG4gICZbZGF0YS1oYW5kbGU9XCJtYXJrZXRTZWN0b3JGb3JtXCJdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLmZmLWZvcm0tZXJyb3JzLCAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgICAgIG9yZGVyOiAxMDtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgcGFkZGluZzogJGd1dHRlcjAgJGd1dHRlcjtcbiAgICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgICBwIHsgXG4gICAgICAgIGNvbG9yOndoaXRlOyBcbiAgICAgIH1cbiAgICAgIHVsIGxpIHtcbiAgICAgICAgY29sb3I6d2hpdGU7IFxuICAgICAgfVxuICAgIH1cbiAgICAuZmYtZm9ybS1lcnJvcnMgeyBcbiAgICAgIGJhY2tncm91bmQ6IGRhcmtyZWQ7XG4gICAgfVxuICAgIC5mZi1mb3JtLXN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZDogIzIxOGIwMDtcbiAgICB9XG4gICAgXG4gIH1cbiAgJltkYXRhLWhhbmRsZT1cIm1hcmtldFNlY3RvckZvcm1cIl0sXG4gICZbZGF0YS1oYW5kbGU9XCJjb250YWN0XCJdIHtcbiAgICAtLXN1Ym1pdC1oZWlnaHQ6IDQxcHg7XG5cbiAgICAuZm9ybS1maWVsZHMge1xuXG4gICAgICBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLm1lc3NhZ2UsIC5zdWJtaXQtcm93IHtcbiAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgfVxuICBcbiAgICAgIC5tZXNzYWdlIHsgXG4gICAgICAgIC5mcmVlZm9ybS1jb2x1bW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGV4dGFyZWFbbmFtZT1cIm1lc3NhZ2VcIl0ge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg0MXB4ICsgJGdhcCk7XG4gICAgICB9XG4gIFxuICAgICAgLnN1Ym1pdC1yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMCBhdXRvO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYW5kbGU9XCJjcmVkaXRBcHBsaWNhdGlvblwiXSB7XG4gICAgLmZyZWVmb3JtLXJvdyB7XG4gICAgICAmOm50aC1sYXN0LW9mLXR5cGUoLW4rMiksICY6bnRoLWxhc3Qtb2YtdHlwZSgtbisxKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnLi4vX2hlbHBlcnMvbWlzYy5zY3NzJyBhcyAqO1xuQHVzZSBcInN0eWxpbmdcIiBhcyAqO1xuXG5cbkBtaXhpbiBkZWZhdWx0KCkge1xuXG4gIEBpbmNsdWRlIGNvbG91cigpO1xuICAtLWljb24tc2l6ZTogMC44ZW07XG5cbiAgcG9zaXRpb24gICAgICAgICA6IHJlbGF0aXZlO1xuICBjdXJzb3IgICAgICAgICAgIDogcG9pbnRlcjtcblxuICBkaXNwbGF5ICAgICAgICAgIDogZmxleDtcbiAgZmxleC13cmFwICAgICAgICA6IG5vd3JhcDtcbiAgZ3JpZC1nYXAgICAgICAgICA6ICRnYXAwO1xuICBhbGlnbi1pdGVtcyAgICAgIDogY2VudGVyO1xuXG4gIHdvcmQtYnJlYWsgICAgICAgOiBicmVhay1hbGw7IFxuICB3aGl0ZS1zcGFjZSAgICAgIDogbm93cmFwO1xuICBmb250LXdlaWdodCAgICAgIDogNjAwO1xuICBsaW5lLWhlaWdodCAgICAgIDogMTtcbiAgdGV4dC10cmFuc2Zvcm0gICA6IHVwcGVyY2FzZTtcbiAgb3ZlcmZsb3cgICAgICAgICA6IGhpZGRlbjtcblxuICBoZWlnaHQgICAgICAgICAgIDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmcgICAgICAgICAgOiAxLjI1cmVtIDNyZW0gMS4yNXJlbSA0cmVtO1xuICBmb250LXNpemUgICAgICAgIDogMTZweDtcblxuICBiYWNrZ3JvdW5kICAgICAgIDogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBjb2xvciAgICAgICAgICAgIDogdmFyKC0tZm9udC1jb2xvdXIpOyBcblxuICBAaW5jbHVkZSBhbmdsZWQtY2xpcCgpO1xuXG4gIC8vIFRPRE86IG1heWJlIGluY2x1ZGUgYSBjb250YWluZXIgd2l0aCBhIGNsYXNzIHNvIHRoYXQgYnV0dG9ucyBjYW4gaG9sZCBvdGhlciBlbGVtZW50c1xuICAvLyBhcyB3ZWxsIGFzIFNWR3NcbiAgPiBzdmcgeyBAaW5jbHVkZSBzcXVhcmUodmFyKC0taWNvbi1zaXplKSkgfVxuXG5cbiAgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBkaXNhYmxlZCgpIH1cbiAgJjpub3QoW2Rpc2FibGVkXSk6aG92ZXIgeyBAaW5jbHVkZSBob3ZlcigpIH1cblxuICAmLnNtYWxsIHsgQGluY2x1ZGUgc21hbGwoKSB9XG4gICYubGFyZ2UgeyBAaW5jbHVkZSBsYXJnZSgpIH1cblxuICAmOjpiZWZvcmUge1xuICAgIC0tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygtMTAwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSwgY2FsYygxMDAlIC0gMTVweCkgMTAwJSk7XG4gICAgei1pbmRleDogLTE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICB9XG59XG5cblxuQG1peGluIGNvbG91cigkcHJpbWFyeSA6ICRyZWQsICRzZWNvbmRhcnkgOiB3aGl0ZSkge1xuICAtLWJhY2tncm91bmQtY29sb3VyIDogI3skcHJpbWFyeX07XG4gIC0tZm9udC1jb2xvdXIgOiAjeyRzZWNvbmRhcnl9O1xufVxuXG5cblxuXG5AbWl4aW4gc21hbGwge1xuICBwYWRkaW5nICAgOiAwLjlyZW0gMnJlbSAwLjlyZW0gM3JlbTtcbiAgZm9udC1zaXplIDogMTJweDtcbn1cblxuQG1peGluIGxhcmdlIHtcbiAgcGFkZGluZyAgIDogMS40cmVtIDNyZW0gMS40cmVtIDQuMjVyZW07XG4gIGZvbnQtc2l6ZSA6IDE4cHg7XG59XG5cblxuXG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlIC0gMTVweCkpO1xuICB9XG59XG5cblxuXG5cbkBtaXhpbiBjbGlwcGVkKCkge1xuICBAaW5jbHVkZSBhbmdsZWQtY2xpcCgpO1xufSIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5cblxuQG1peGluIGFuZ2xlZC1jbGlwKCkge1xuXHRjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMTVweCAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcbn1cblxuQG1peGluIHNxdWFyZSgkbGVuZ3RoKSB7XG5cdHdpZHRoOiAkbGVuZ3RoO1xuXHRoZWlnaHQ6ICRsZW5ndGg7XG59XG5cbkBtaXhpbiBmZWF0dXJlZC1iYWRnZSgkY29sb3VyIDogJG9yYW5nZSkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cGFkZGluZzogMC43cmVtIDJyZW0gMC43cmVtIDNyZW07XG5cdC8vIEZpeGVkIGhlaWdodCBzbGlnaHRseSBmaXhlcyBibHVycnkgdGV4dCBpc3N1ZSBpbiBjaHJvbWVcblx0aGVpZ2h0OiAzOXB4O1xuXHRiYWNrZ3JvdW5kOiAkY29sb3VyO1xuXHRjb2xvcjogJHdoaXRlO1xuXHQvLyAtMC41cHggc2xpZ2h0bHkgZml4ZXMgYmx1cnJ5IHRleHQgaXNzdWUgaW4gY2hyb21lXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0wLjVweCkgdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlKC05MGRlZyk7XG5cdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0QGluY2x1ZGUgYW5nbGVkLWNsaXAoKTtcbn1cblxuQG1peGluIGRpc2FibGVkKCRvcGFjaXR5IDogMC40KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1peGluIHRleHQtZWxsaXBzaXMoKSB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHbG9iYWwgU3R5bGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbkB1c2UgJ3dlYmZvbnRzJztcbkB1c2UgJ2N1c3RvbS1wcm9wZXJ0aWVzJztcbkB1c2UgJ3R5cG9ncmFwaHknO1xuQHVzZSAnbGF5b3V0JztcbkB1c2UgJ2NvbnRlbnQnO1xuQHVzZSAnZm9ybXMnO1xuXG5cbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBpbml0aWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQpO1xuXG4gICYjc2VhcmNoIHtcbiAgICAuc3ViaGVhZGluZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICB1IHsgXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuZmlndXJlLmltYWdlLCBwaWN0dXJlLmltYWdlIHtcbiAgQGluY2x1ZGUgaW1hZ2Utc3Jjc2V0KCk7XG59XG5cbnZpZGVvLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHZpZGVvLWNvbnRhaW5lcigpO1xufVxuXG5tYXJrIHtcbiAgQGluY2x1ZGUgbWFyaygpO1xufVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5kZXRhaWxzIHsgXG4gIG91dGxpbmU6bm9uZTtcbiAgJltvcGVuXSBzdW1tYXJ5ID4gc3ZnIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIH1cbn1cbnN1bW1hcnkge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyLCAmOjptYXJrZXIgeyBkaXNwbGF5Om5vbmU7IH1cbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93IDogaGlkZGVuICFpbXBvcnRhbnQgfVxuXG4uaGlkZSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1kZWZhdWx0KCk7XG59XG5cbi5idXR0b24sIGJ1dHRvbiB7XG4gIHN2ZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG5waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZXN1bHQtaXRlbSB7XG4gIEBpbmNsdWRlIHJlc3VsdC1pdGVtLWJhc2UoKTtcbn1cblxuLnRhZyB7XG4gIEBpbmNsdWRlIHRhZygpO1xufVxuXG5cbnRhYmxlLWNvbnRhaW5lciB7XG4gIC5oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuICB9XG4gIC50YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUtZGVmYXVsdCgpO1xuICB9XG59XG5cbm1haW4gPiAuc25pcHBldCB7XG4gIGEgeyAtLWZvbnQtY29sb3VyIDogdmFyKC0tdGhlbWUtYWNjZW50KSB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gSW1hZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbWFnZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAncG9zaXRpb24nO1xuXG5AbWl4aW4gc3Jjc2V0KCRwb3NpdGlvbjpmYWxzZSkge1xuXG4gIGRpc3BsYXkgICAgICAgICAgICAgOiBibG9jaztcblx0YmFja2dyb3VuZC1wb3NpdGlvbiA6IHZhcigtLXBvc2l0aW9uLCBjZW50ZXIgMzMlKTtcblx0YmFja2dyb3VuZC1zaXplICAgICA6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdCAgIDogbm8tcmVwZWF0O1xuXHRvdmVyZmxvdyAgICAgICAgICAgIDogaGlkZGVuO1xuXG5cdEBpZiAkcG9zaXRpb24gPT0gJ2V4cGFuZGVkJyB7IFxuXHRcdEBpbmNsdWRlIHBvc2l0aW9uLmV4cGFuZGVkO1xuXHR9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYmxvd291dCcgeyBcblx0XHRAaW5jbHVkZSBwb3NpdGlvbi5ibG93b3V0O1xuXHR9IEBlbHNlIHtcblx0XHRwb3NpdGlvbiA6IHJlbGF0aXZlOyBcblx0fVxuXHRcbiAgaW1nIHtcbiAgICBkaXNwbGF5ICAgICAgICAgOiBibG9jaztcbiAgICBwb3NpdGlvbiAgICAgICAgOiBhYnNvbHV0ZTtcbiAgICBvYmplY3QtZml0ICAgICAgOiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb24gOiB2YXIoLS1pbWFnZS1wb3NpdGlvbiwgY2VudGVyIDMzLjMzJSk7XG5cdFx0d2lkdGggICAgICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2Utd2lkdGgtc2l6ZSwgMTAwJSkpO1xuXHRcdGhlaWdodCAgICAgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7IFxuXHRcdG1heC13aWR0aCAgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcblx0XHRtYXgtaGVpZ2h0ICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuXHRcdHRvcCAgICAgICAgICAgICA6IDA7IFxuXHRcdGxlZnQgICAgICAgICAgICA6IDA7XG5cdH1cblxuXHRAY29udGVudDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEFzcGVjdCBSYXRpbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhc3BlY3QtcmF0aW9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LzkpXG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvIDogJzE2LzknKSB7XG5cbiAgLS1hc3BlY3QtcmF0aW86ICN7c3RyaW5nLnVucXVvdGUoJHJhdGlvKX07XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0LXJhdGlvKTtcblxuICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86ICN7c3RyaW5nLnVucXVvdGUoJHJhdGlvKX0pIHtcbiAgICBhc3BlY3QtcmF0aW86aW5pdGlhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlLyh2YXIoLS1hc3BlY3QtcmF0aW8pKSk7XG4gICAgaGVpZ2h0OiAwO1xuICAgID4gKiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSBcbiAgfVxufSIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ2NvbGxlY3Rpb25zL3N0eWxpbmcvYXNwZWN0LXJhdGlvJyBhcyAqO1xuXG5AbWl4aW4gY29udGFpbmVyKCRyYXRpbzonMTYvOScpIHtcblx0XG5cdEBpbmNsdWRlIGFzcGVjdC1yYXRpbygkcmF0aW8pO1xuXG5cdGRpc3BsYXkgICAgICAgICAgOiBibG9jaztcblx0cG9zaXRpb24gICAgICAgICA6IHJlbGF0aXZlO1xuXHR3aWR0aCAgICAgICAgICAgIDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvciA6IGJsYWNrO1xuXG5cdGlmcmFtZSwgY2FudmFzIHtcblx0XHRwb3NpdGlvbiA6IGFic29sdXRlO1xuXHRcdGRpc3BsYXkgIDogYmxvY2s7XG5cdFx0dG9wICAgICAgOiAwOyBcblx0XHRsZWZ0ICAgICA6IDA7XG5cdFx0aGVpZ2h0ICAgOiAxMDAlICFpbXBvcnRhbnQ7IFxuXHRcdHdpZHRoICAgIDogMTAwJSAhaW1wb3J0YW50O1xuXHR9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcblxuQG1peGluIG1hcmsoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXJzLW1hcms7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygjeyRib3JkZXItcmFkaXVzfSAvIDIpO1xuICBwYWRkaW5nOjAgNXB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbiwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbjtcbn1cblxuQG1peGluIG1hcmstcmVzZXQoKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICBwYWRkaW5nOmluaXRpYWw7XG4gIHRyYW5zaXRpb246IGluaXRpYWw7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91ciBQYWxldHRlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwiLi9tb2R1bGVzL2NvbG91clwiO1xuXG4vLyBBZGp1c3QgdGhlc2UgdG8gYW1lbmQgdGhlIGxpZ2h0bmVzcyBvciBkYXJrbmVzcyBhbW91bnRzIGZvciB0aGUgY29sb3VycyBsc2l0ZWQgYmVsb3cuLiBcblxuJF9saWdodG5lc3MgOiAxNSUgIWRlZmF1bHQ7XG4kX2RhcmtuZXNzICA6IDIwJSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbW1vbiBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcmVkICAgICAgICAgIDogIzk3MDgwRSAhZGVmYXVsdDtcbiRyZWQtbGlnaHQgICAgOiBjb2xvdXIubGlnaHRlbigkcmVkLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcmVkLWRhcmsgICAgIDogY29sb3VyLmRhcmtlbigkcmVkLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJG9yYW5nZSAgICAgICA6ICNEQTRCMEYgIWRlZmF1bHQ7XG4kb3JhbmdlLWxpZ2h0IDogY29sb3VyLmxpZ2h0ZW4oJG9yYW5nZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJG9yYW5nZS1kYXJrICA6IGNvbG91ci5kYXJrZW4oJG9yYW5nZSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiR5ZWxsb3cgICAgICAgOiAjRTlCMTA0ICFkZWZhdWx0O1xuJHllbGxvdy1saWdodCA6IGNvbG91ci5saWdodGVuKCR5ZWxsb3csICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiR5ZWxsb3ctZGFyayAgOiBjb2xvdXIuZGFya2VuKCR5ZWxsb3csICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kZ3JlZW4gICAgICAgIDogIzQ4OEMxMyAhZGVmYXVsdDtcbiRncmVlbi1saWdodCAgOiBjb2xvdXIubGlnaHRlbigkZ3JlZW4sICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmVlbi1kYXJrICAgOiBjb2xvdXIuZGFya2VuKCRncmVlbiwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRibHVlICAgICAgICAgOiAjMUI1NUMwICFkZWZhdWx0O1xuJGJsdWUtbGlnaHQgICA6IGNvbG91ci5saWdodGVuKCRibHVlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYmx1ZS1kYXJrICAgIDogY29sb3VyLmRhcmtlbigkYmx1ZSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRwaW5rICAgICAgICAgOiAjRTA1RDZCICFkZWZhdWx0O1xuJHBpbmstbGlnaHQgICA6IGNvbG91ci5saWdodGVuKCRwaW5rLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcGluay1kYXJrICAgIDogY29sb3VyLmRhcmtlbigkcGluaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRwdXJwbGUgICAgICAgOiAjNjEzRDVBICFkZWZhdWx0O1xuJHB1cnBsZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRwdXJwbGUsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRwdXJwbGUtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRwdXJwbGUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kZ3JleSAgICAgICAgIDogIzc4Nzg3OCAhZGVmYXVsdDtcbiRncmV5LWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkZ3JleSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGdyZXktZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGdyZXksICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYnJvd24gICAgICAgIDogIzc3NEYzOCAhZGVmYXVsdDtcbiRicm93bi1saWdodCAgOiBjb2xvdXIubGlnaHRlbigkYnJvd24sICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRicm93bi1kYXJrICAgOiBjb2xvdXIuZGFya2VuKCRicm93biwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiR3aGl0ZSAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0IDtcbiR3aGl0ZS1kYXJrICAgOiBjb2xvdXIubGlnaHRlbigkd2hpdGUsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcblxuJGJsYWNrICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQgO1xuJGJsYWNrLWxpZ2h0ICA6IGNvbG91ci5kYXJrZW4oJGJsYWNrLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNvY2lhbCBNZWRpYSBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL3d3dy5sb2NrZWRvd25zZW8uY29tL3NvY2lhbC1tZWRpYS1jb2xvcnMvXG5cbiRmYWNlYm9vazogICAgIzE4NzdmMiAhZGVmYXVsdDtcbiR0d2l0dGVyOiAgICAgIzFkYTFmMiAhZGVmYXVsdDtcbiRnb29nbGU6ICAgICAgIzQyODVmNCAhZGVmYXVsdDtcbiR5b3V0dWJlOiAgICAgI2ZmMDAwMCAhZGVmYXVsdDtcbiRsaW5rZWRpbjogICAgIzAwN2JiNSAhZGVmYXVsdDtcbiRpbnN0YWdyYW06ICAgI2MzMmFhMyAhZGVmYXVsdDtcbiRwaW50ZXJlc3Q6ICAgI2JkMDgxYyAhZGVmYXVsdDtcbiRkYWlseW1vdGlvbjogIzAwNjZEQyAhZGVmYXVsdDtcbiRzbmFwY2hhdDogICAgI2ZmZmMwMCAhZGVmYXVsdDtcbiRmbGlja3I6ICAgICAgI2Y0MDA4MyAhZGVmYXVsdDtcbiR2aW1lbzogICAgICAgIzFhYjdlYSAhZGVmYXVsdDtcbiR0aHVtYmxlcjogICAgIzM1NDY1ZCAhZGVmYXVsdDtcbiRyZWRkaXQ6ICAgICAgI2ZmNDUwMCAhZGVmYXVsdDtcbiR3aGF0c2FwcDogICAgIzI1ZDM2NiAhZGVmYXVsdDtcbiRza3lwZTogICAgICAgIzAwYWZmMCAhZGVmYXVsdDtcbiRkaXNjb3JkOiAgICAgIzcyODlkYSAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYSA6IChcbiAgZmFjZWJvb2s6ICAgICAkZmFjZWJvb2ssXG4gIHR3aXR0ZXI6ICAgICAgJHR3aXR0ZXIsXG4gIGdvb2dsZTogICAgICAgJGdvb2dsZSxcbiAgeW91dHViZTogICAgICAkeW91dHViZSxcbiAgbGlua2VkaW46ICAgICAkbGlua2VkaW4sXG4gIGluc3RhZ3JhbTogICAgJGluc3RhZ3JhbSxcbiAgcGludGVyZXN0OiAgICAkcGludGVyZXN0LFxuICBkYWlseW1vdGlvbjogICRkYWlseW1vdGlvbixcbiAgc25hcGNoYXQ6ICAgICAkc25hcGNoYXQsXG4gIGZsaWNrcjogICAgICAgJGZsaWNrcixcbiAgdmltZW86ICAgICAgICAkdmltZW8sXG4gIHRodW1ibGVyOiAgICAgJHRodW1ibGVyLFxuICByZWRkaXQ6ICAgICAgICRyZWRkaXQsXG4gIHdoYXRzYXBwOiAgICAgJHdoYXRzYXBwLFxuICBza3lwZTogICAgICAgICRza3lwZSxcbiAgZGlzY29yZDogICAgICAkZGlzY29yZFxuKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE90aGVyIENvbG91cnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR5ZWxsbzogI0ZGQ0IwOCAhZGVmYXVsdDtcblxuLy8vIEhhbmRsZXMgdGhlIGN1cnNvciBzZWxlY3Rpb24gY29sb3VyXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvc2VsZWN0b3JzL3Mvc2VsZWN0aW9uL1xuXG4kaGlnaGxpZ2h0OiAjQjJEM0ZBICFkZWZhdWx0OyBcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUcmFuc2l0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcImhlbHBlcnMvZWFzZVwiO1xuXG4kZHVyYXRpb24gOiAwLjJzO1xuJGVhc2UgICAgIDogZWFzZS4kaW4tb3V0O1xuJGRlbGF5ICAgIDogbnVsbDtcblxuJHRyYW5zaXRpb24gOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb24pIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgJGVhc2UpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICRkZWxheSk7XG5cbiRzaWRlYmFyLW9wZW46IDAuN3MgZWFzZS4kb3V0LXF1YXJ0O1xuJHNlYXJjaC1vcGVuOiAwLjRzIGVhc2UuJG91dC1jdWJpYztcbiRuYXYtYmFja2dyb3VuZDogMC4zcyBlYXNlLiRvdXQtcXVhcnQ7IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzJyBhcyAqO1xuXG5AbWl4aW4gZGVmYXVsdCgpIHtcbiAgLS1jZWxsLXBhZGRpbmcteSA6IDFyZW07XG4gIC0tY2VsbC1wYWRkaW5nLXggOiAxLjVyZW07XG4gIC0tY2VsbC1wYWRkaW5nICAgOiB2YXIoLS1jZWxsLXBhZGRpbmcteSkgdmFyKC0tY2VsbC1wYWRkaW5nLXgpO1xuXG4gIC8vIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIHRyIHtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIC8vIFRPRE86IGNoYW5nZSB0aGlzIHRvIHNvbWV0aGluZyBtb3JlIHNlbWFudGljXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1jb250ZW50LW9wcG9zaXRlKTtcbiAgICB9XG5cbiAgICB0ZDpmaXJzdC1jaGlsZCgpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5O1xuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1jZWxsLXBhZGRpbmcpO1xuICB9XG5cbiAgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmV5O1xuICB9XG5cbiAgJi52ZXJ0aWNhbCB7XG4gICAgdHIge1xuICAgICAgdGQ6Zmlyc3QtY2hpbGQgeyBmb250LXdlaWdodDogNjAwIH1cbiAgICB9XG4gIH1cblxuICAmLnByb2R1Y3Qtc3BlY3Mge1xuICAgIHRyIHtcbiAgICAgIHRkOmZpcnN0LWNoaWxkIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCB9XG4gICAgICB0ZDpsYXN0LWNoaWxkIHsgd2lkdGg6IDEwMCU7IH1cbiAgICB9XG4gIH1cblxuICAmLnJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIGEgeyAtLWZvbnQtY29sb3VyOiAjeyRyZWR9OyB9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuXG5uYXZpZ2F0aW9uLWJhclx0e1xuXHRwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHdpZHRoOiB2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCk7XG5cdGhlaWdodDogdmFyKC0tbmF2aWdhdGlvbi1iYXItaGVpZ2h0KTtcblx0bWF4LWhlaWdodDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcblx0cGFkZGluZzogMCAkZ2FwMiB2YXIoLS1nYXAteSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkd2hpdGUsIDAuMik7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHotaW5kZXg6ICR6LWluZGV4LW5hdmlnYXRpb24tYmFyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uLW5hdi1iYWNrZ3JvdW5kO1xuXG5cdGEsIGJ1dHRvbiB7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAkdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHRnbG9iYWwtc2VhcmNoLW1vYmlsZSAgeyBkaXNwbGF5OiBub25lIH1cblxuXHQubmF2aWdhdGlvbi1jb250YWluZXIge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdEBpbmNsdWRlIHNxdWFyZSgxMDAlKTtcblxuXHRcdGEubG9nbyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHR3aWR0aDogOTUlO1xuXHRcdFx0bWluLWhlaWdodDogdmFyKC0tbG9nby1oZWlnaHQpO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1sb2dvLWhlaWdodCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG5cdFxuXHRcdFx0PiBzdmcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXRoZW1lLWxvZ28pO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmxvZ28tbW9iaWxlIHsgZGlzcGxheTogbm9uZSB9XG5cdFx0fVxuXG5cdFx0Z2xvYmFsLXNlYXJjaC1kZXNrdG9wIHsgbWFyZ2luLWJvdHRvbTogJGdhcDIgfVxuXHR9XG5cblx0bmF2IHtcblx0XHRuYXZpZ2F0aW9uLWxpbmtzIHtcblx0XHRcdC0tZmFsbGJhY2stbWF4LWhlaWdodDogNjAwcHg7XG5cdFx0XHQtLWJhc2Utc3BhY2luZzogI3skZ2FwMH07XG5cblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHQudG9wLWxldmVsLWxpbmsge1xuXHRcdFx0XHRwYWRkaW5nOiAkZ2FwMCAwO1xuXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXRvcDogMCB9XG5cblx0XHRcdFx0Ji5oYXMtY2hpbGRyZW4ge1xuXHRcdFx0XHRcdD4gYTpob3ZlciBzdmcgeyBvcGFjaXR5OiAxIH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc3ViLW1lbnUge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0cGFkZGluZzogY2FsYygkZ2FwMCAvIDIpIDA7XG5cblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6ICRnYXAwIH1cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQgIHsgcGFkZGluZy1ib3R0b206ICRnYXAwIH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cblx0XHRcdHVsIHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgY29sb3IgJHRyYW5zaXRpb24sIHRleHQtZGVjb3JhdGlvbi1jb2xvciAkdHJhbnNpdGlvbjtcblxuXHRcdFx0XHRcdFx0Jjpub3QoLmFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0XHQtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1uYXYtZm9udCk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuYWN0aXZlIHsgXG5cdFx0XHRcdFx0XHRcdC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgaG92ZXIoKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0PiBzdmcge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMWVtO1xuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0LS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjMyNXM7XG5cblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb24sIG9wYWNpdHkgJHRyYW5zaXRpb247XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJGdhcDtcblxuXHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRhOm5vdCguYWN0aXZlKSB7XG5cdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGhvdmVyIHsgb3BhY2l0eTogMSB9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmhhcy1jaGlsZHJlbiB7XG5cdFx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYub3BlbiB7XG5cdFx0XHRcdFx0XHRcdD4gYSA+IHN2ZyB7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0PiB1bCB7XG5cdFx0XHRcdFx0XHRcdFx0bWF4LWhlaWdodDogdmFyKC0tbGluay1tYXgtaGVpZ2h0LCB2YXIoLS1mYWxsYmFjay1tYXgtaGVpZ2h0KSk7XG5cdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQudG9wLWxldmVsLWxpbmtzIHtcblx0XHRcdFx0PiBsaSA+IGEgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIH1cblx0XHRcdH1cblxuXHRcdFx0Lm1vYmlsZS1saW5rLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgfVxuXHRcdH1cblx0fVxuXG5cdG5hdmlnYXRpb24tY29udHJvbHMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCYgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1ndXR0ZXIzKTtcblx0XHR9XG5cblx0XHRhLCBidXR0b24ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGJ1dHRvbi5tZW51IHtcblx0XHRcdC0tc3ltYm9sLWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQsIHdoaXRlKTtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0LS1jb3JuZXItb2Zmc2V0OiAxMHB4O1xuXG5cdFx0XHRcdHdpZHRoOjMwcHg7XG5cdFx0XHRcdGhlaWdodDozMHB4O1xuXHRcdFxuXHRcdFx0XHRwb2x5Z29uIHtcblx0XHRcdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMTQwcHggMjBweCwgMCAyMHB4LCB2YXIoLS1jb3JuZXItb2Zmc2V0LCAxMHB4KSAwLCAxNDBweCAwKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb247XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMTUlIDMwJTtcblx0XHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMTUlIDcwJVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5leHRyYS1saW5rcyB7XG5cdFx0LS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdC0tbGluay1zcGFjaW5nOiAjeyRnYXB9O1xuXHRcdC0tb3BhY2l0eTogMC42O1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtbWluO1xuXHRcdG9wYWNpdHk6IHZhcigtLW9wYWNpdHkpO1xuXHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDoxcmVtO1xuXG5cdFx0Ly8gbGkgKyBsaSB7XG5cdFx0bGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDoxY2g7XG5cdFx0XHRtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdEBpbmNsdWRlIGhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfVxuXHRcdH1cblx0fVxufVxuXG5cblxuXG5cbkBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG5cblx0bmF2aWdhdGlvbi1iYXIge1xuXG5cdFx0LS1uYXZpZ2F0aW9uLWJhci13aWR0aDogMTAwJTtcblx0XHQtLW5hdmlnYXRpb24tYmFyLWhlaWdodDogbWluLWNvbnRlbnQ7XG5cdFx0LS1sb2dvLWhlaWdodDogMTAwJTtcblx0XHQtLXJvdy1wYWRkaW5nOiAxcmVtIHZhcigtLWdhcC14KTtcblxuXHRcdC0tdGhlbWUtbmF2LWZvbnQ6IHZhcigtLXRoZW1lLW5hdi1mb250LW1vYik7XG5cdFx0LS10aGVtZS1sb2dvOiB2YXIoLS10aGVtZS1uYXYtZm9udC1tb2IpO1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXG5cblx0XHQuZXh0cmEtbGlua3MgeyBkaXNwbGF5OiBub25lIH1cblx0XHRnbG9iYWwtc2VhcmNoLWRlc2t0b3BcdCB7IGRpc3BsYXk6IG5vbmUgfVxuXG5cdFx0Lm5hdmlnYXRpb24tY29udGFpbmVyLCBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuXHRcdH1cblxuXHRcdGdsb2JhbC1zZWFyY2gtbW9iaWxlICB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcblx0XHRcdGhlaWdodDogdmFyKC0tbmF2aWdhdGlvbi1tb2JpbGUtc2VhcmNoLWhlaWdodCk7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tbmF2aWdhdGlvbi1tb2JpbGUtc2VhcmNoLWhlaWdodCkgLSAwcHgpO1xuXHRcdFx0dHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbi1zZWFyY2gtb3Blbjtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIpO1xuXHRcdFx0ei1pbmRleDogJHotaW5kZXgtZ2xvYmFsLXNlYXJjaC1tb2JpbGU7XG5cblx0XHRcdGZvcm0ge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHQtLWZvbnQtY29sb3VyOiAjeyR3aGl0ZX07XG5cdFx0XHRcdFx0LS1iYWNrZ3JvdW5kLWNvbG91cjogI3skcmVkfTtcblx0XHRcdFx0XHRAaW5jbHVkZSBmb3JtLWFycm93LWRvd24taW1hZ2UoJHdoaXRlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdG5hdmlnYXRpb24tY29udHJvbHMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0Lm5hdmlnYXRpb24tY29udGFpbmVyIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodCk7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1yb3ctcGFkZGluZyk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyKTtcblx0XHRcdHotaW5kZXg6ICR6LWluZGV4LW5hdmlnYXRpb24tYmFyLWNvbnRhaW5lcjtcblx0XHRcdFxuXHRcdFx0YS5sb2dvIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXG5cdFx0XHRcdCYubG9nby1kZXNrdG9wIHsgZGlzcGxheTogbm9uZSB9XG5cdFx0XHRcdCYubG9nby1tb2JpbGUgIHsgXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0zcmVtO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRzdmcgeyBcblx0XHRcdFx0XHR3aWR0aDogdW5zZXQ7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bmF2IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogY2FsYygxMDAlICsgMHB4KTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1nYXAteSkgdmFyKC0tZ2FwLXgpIHZhcigtLW5hdmlnYXRpb24tY29udGFpbmVyLWhlaWdodCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tbmF2LWJhY2tncm91bmQ7XG5cblx0XHRcdC50b3AtbGV2ZWwtbGlua3MgeyBvcGFjaXR5OiAwIH1cblx0XHR9XG5cdH1cblxuXG5cblxuXG5cblx0Ly8gQWN0aXZhdGVkIGNvbXBvbmVudHNcblxuXHRib2R5IHtcblx0XHQmLm1vYmlsZS1zZWFyY2gtb3BlbiB7XG5cdFx0XHRuYXZpZ2F0aW9uLWJhciB7XG5cdFx0XHRcdGdsb2JhbC1zZWFyY2gtbW9iaWxlIHsgbWFyZ2luLXRvcDogMCB9XG5cdFx0XHR9XG5cdFx0fVxuXHRcblx0XHQmLm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4ge1xuXHRcdFx0bmF2aWdhdGlvbi1iYXIge1xuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiB2YXIoLS1hY3RpdmF0ZWQtYmFja2dyb3VuZCk7XG5cblx0XHRcdFx0bmF2IHtcblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cblx0XHRcdFx0XHQudG9wLWxldmVsLWxpbmtzIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyAkZWFzZS1vdXQtcXVhcnQgMC4zcztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRidXR0b24ubWVudSB7XG5cdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdC0tY29ybmVyLW9mZnNldDogMDtcblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRwb2x5Z29uIHtcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlWSg4MCUpO1xuXHRcdFx0XHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cbiAgfVxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4uaGVhdHNpbmtzLWhvbWUsXG4uY29tcG9uZW50cy1ob21lIHtcbiAgaGVhZGVyLmhlYWRlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgMC4ycztcbiAgfVxufVxuXG4uaGVhZGVyIHtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAkei1pbmRleC1oZWFkZXI7XG5cbiAgLmhlYWRpbmcsXG4gIC5zdWJoZWFkaW5nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIG9yZGVyOiAyO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIH1cblxuICAuc3ViaGVhZGluZyB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcblxuICAgIGEge1xuICAgICAgLS1oZWFkaW5nLWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICAgIC8vIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICAgIGNvbG9yOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5zbmlwcGV0IHtcbiAgICBvcmRlcjogMztcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWstb3V0KCdzbWFsbC1tZWRpdW0nKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICB9XG4gIH1cblxuICAmLnRyYW5zaXRpb24ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxubWFpbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG5cdHotaW5kZXg6ICR6LWluZGV4LW1haW47XG5cdC8vIGhlaWdodDogMTAwJTtcblxuXHRjb250ZW50LWJsb2NrcyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xuXG5cdFx0c2VjdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0Z3JpZC1nYXA6IHZhcigtLWdhcC15KTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBjb21wb25lbnQtZG9lc250LWV4aXN0KCdzY3JvbGwtYmFyJykge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrLW91dCgnbGFyZ2UnKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC15KTtcblx0fVxufSIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGNvbXBvbmVudC1leGlzdHMoJ2JhY2tncm91bmQtaW1hZ2UnKSB7IG9wYWNpdHk6MC41OyB9XG4vLy8gUGFzcyBpbiBtdWx0dWlwbGUgY29tcGVuZW50IG5hbWVzIGlmIHlvdSB3YW50IHRvIGNoZWNrIHRoZXkgYWxsIGV4aXN0XG5cbkBtaXhpbiBleGlzdHMoJG5hbWVzLi4uKSB7XG5cbiAgJHNlbGVjdG9yIDogJ2JvZHknO1xuICAkcGFyZW50IDppZihzYXNzKGxpc3QubnRoKGxpc3QubnRoKCYsIDEpLCAxKSA9PSAnOnJvb3QnKTogJyc7IGVsc2U6ICYpO1xuXG4gIEBlYWNoICRuYW1lIGluICRuYW1lcyB7XG4gICAgJHNlbGVjdG9yIDogJHNlbGVjdG9yICsgJ1tkYXRhLWNvbXBvbmVudHMqPVwiI3skbmFtZX1cIl0nO1xuICB9XG5cbiAgQGF0LXJvb3QgI3skc2VsZWN0b3J9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgY29tcG9uZW50LWRvZXNudC1leGlzdHMoJ2JhY2tncm91bmQtaW1hZ2UnKSB7IG9wYWNpdHk6MC41OyB9XG4vLy8gUGFzcyBpbiBtdWx0dWlwbGUgY29tcGVuZW50IG5hbWVzIGlmIHlvdSB3YW50IHRvIGNoZWNrIG5vbmUgZXhpc3RcblxuQG1peGluIGRvZXNudC1leGlzdCgkbmFtZXMuLi4pIHtcblxuICAkc2VsZWN0b3IgOiAnYm9keSc7XG4gICRwYXJlbnQgOmlmKHNhc3MobGlzdC5udGgobGlzdC5udGgoJiwgMSksIDEpID09ICc6cm9vdCcpOiAnJzsgZWxzZTogJik7XG4gIFxuICBAZWFjaCAkbmFtZSBpbiAkbmFtZXMge1xuICAgICRzZWxlY3RvciA6ICRzZWxlY3RvciArICc6bm90KFtkYXRhLWNvbXBvbmVudHMqPVwiI3skbmFtZX1cIl0pJztcbiAgfVxuXG4gIEBhdC1yb290ICN7JHNlbGVjdG9yfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5zaWRlLWJhciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuXHRtYXgtd2lkdGg6IHZhcigtLXNpZGViYXItbWF4LXdpZHRoKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAkei1pbmRleC1tYWluO1xuXG5cdGRpdi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbntcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdFx0QG1lZGlhKHdpZHRoID4gMTQwMHB4KXtcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0dG9wOiB1bnNldDtcblxuXHRcdH1cblx0XHRAbWVkaWEobWF4LXdpZHRoOiA5ODBweCl7XG5cdFx0XHQvLyByaWdodDogMDtcblx0XHR9XG5cdFx0QG1lZGlhKG1pbi13aWR0aDogOTgwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpe1xuXHRcdFx0Ly8gbWFyZ2luLWxlZnQ6IGNhbGMoY2xhbXAoMnJlbSwgNXZ3LCA4cmVtKSAqIC0xKTtcblx0XHR9XG5cdH1cblxuXG5cblx0Ji5mcmVlIHtcblx0XHQtLWNvbnRhaW5lci1wYWRkaW5nOiA0cmVtO1xuXHR9XG5cblx0Ji5jb250YWluIHtcblx0XHQ+IGRpdiB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAteCk7XG5cdFx0fVxuXHR9XG5cblx0JltkYXRhLWJlaGF2aW91cj1cInN0aWNreVwiXSB7XG5cdFx0LS1zdGlja3ktc3BhY2luZzogMDtcblxuXHRcdCYuY29udGFpbiB7XG5cdFx0XHQtLXN0aWNreS1zcGFjaW5nOiB2YXIoLS1nYXAteSk7XG5cdFx0fVxuXG5cdFx0PiBkaXYge1xuXHRcdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHRcdHRvcDogdmFyKC0tc3RpY2t5LXNwYWNpbmcpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrLWluKCdsYXJnZScpIHtcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHRAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG5cdFx0Jjpub3QoW2RhdGEtYmVoYXZpb3VyPVwiZm9sZG91dFwiXSkge1xuXHRcdFx0LS1zaWRlYmFyLW1heC13aWR0aDogMTAwJTtcblx0XHRcdC0tc2lkZWJhci13aWR0aDogMTAwJTtcblx0XHRcdFxuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcC15KSAqIDIpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuY29udGFpbiB7XG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHQmW2RhdGEtYmVoYXZpb3VyPVwiZm9sZG91dFwiXSB7XG5cdFx0ei1pbmRleDogJHotaW5kZXgtc2lkZS1iYXI7XG5cdFx0dHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuN3MgJGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tc2lkZWJhci1vcGVuLCB0b3AgJHRyYW5zaXRpb24tc2VhcmNoLW9wZW4sIG9wYWNpdHkgJHRyYW5zaXRpb247XG5cblx0XHQ+IGRpdiB7XG5cdFx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdFx0dG9wOiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrLWluKCdsYXJnZScpIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuXHRcdFx0Ly8gaGVpZ2h0OiBjYWxjKDEwMCUgKyB2YXIoLS1nYXAteSkpO1xuXHRcdFx0Ly8gQ3VzdG9tIHByb3BzIGRpZG4ndCB3b3JrIGZvciBzb21lIHJlYXNvbi5cblx0XHRcdC8vIElkZWFsbHkgSSB3b3VsZCBoYXZlIGxpa2VkIHRvIGp1c3Qgc2V0IC0tc2lkZWJhci13aWR0aCB0byB0aGlzIHZhbHVlLlxuXHRcdFx0d2lkdGg6IG1pbihjYWxjKDEwMHZ3KSwgNDAwcHgpO1xuXHRcdFx0bWF4LXdpZHRoOiBtaW4oY2FsYygxMDB2dyksIDQwMHB4KTtcblx0XG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG5cdFx0XHR9XG5cdFxuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWstaW4oJ3NtYWxsLW1lZGl1bScpIHtcblx0XHRcdC5vcGVuLXRyaWdnZXIgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50IH1cblx0XHRcdC5jbG9zZS10cmlnZ2VyIHsgZGlzcGxheTogYmxvY2sgfVxuXHRcdH1cblx0fVxuXG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbnBhZ2UtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcblxuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1wYWdlLWJhY2tncm91bmQpO1xuICB6LWluZGV4OiAkei1pbmRleC1wYWdlLWJhY2tncm91bmQ7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICB6LWluZGV4OiAkei1pbmRleC1wYWdlLWJhY2tncm91bmQgKyAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWstb3V0KCdzbWFsbC1tZWRpdW0nKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiBjYWxjKHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpKTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICB2aWRlb3tcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLy8gJi5kZWZhdWx0IHsgb2JqZWN0LXBvc2l0aW9uOiAwcHggMjF2bWluIH1cblxuICAgICYubG9nbyB7XG4gICAgICBvcGFjaXR5OiAwLjAzO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgNDAlLCAjMTIxNTJCIDEwMCUpO1xuICAgICAgei1pbmRleDogJHotaW5kZXgtcGFnZS1iYWNrZ3JvdW5kIC0xO1xuICAgIH1cbiAgfVxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5ib2R5Om5vdCgjaG9tZSkge1xuICAuY29udGVudC13cmFwcGVyIHtcbiAgICBoZWFkZXIge1xuICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXkpO1xuICAgICAgXG4gICAgICAmOm5vdCguaGFzLXN1YmhlYWRpbmcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWdhcC15KSk7XG4gICAgICB9XG5cbiAgICAgICYuaGFzLXN1YmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xLjg1ICogdmFyKC0tZ2FwLXkpKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWstaW4oc21hbGwtbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAteSk7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWV7XG4gIC5jb250ZW50LXdyYXBwZXJ7XG4gICAgaGVhZGVye1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICBncmlkLWdhcDogJGdhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcblxuICAgICAgPiBoMSwgcHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgIFxuICAgICAgfVxuXG4gICAgICBoMXtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDQwMHB4KXtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDJcbiAgICAgIH1cbiAgICAgIGltZ3tcbiAgICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICAmICsgbWFpbntcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KXtcbiAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWluLW1heCgyMDBweCAsMjUlKSk7XG5cbiAgICAgICAgcHttYXJnaW4tdG9wOiAwO31cblxuICAgICAgICBpbWd7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hYm91dC11cy1ibG9ja3tcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICMxMDEyNGQgMjAlLCAjMTMxZjZiIDgwJSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICA+IGRpdjpsYXN0LW9mLXR5cGV7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyNXB4LCAxZnIpKTtcbiAgICAgIH1cblxuICAgICAgPiBkaXZ7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZXtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHBhZGRpbmc6ICRnYXAyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIGdyaWQtZ2FwOiAkZ2FwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ2FwO1xuICAgICAgICAgID4gZGl2e1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogJGdhcDtcbiAgICAgICAgICAgIGdhcDokZ2FwOyBcbiAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICYud2lyZS1lYXJ0aCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6NjAlOyBcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjFlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAganVzdGlmeS1zZWxmOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDphdXRvO1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWluO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogJHJldmVyc2UtZ3JhZGllbnQ7XG4gICAgICBwYWRkaW5nOiAkZ2FwMiAwIDAgJGdhcDI7XG4gICAgXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIFxuICAgICAgLmNhbGwtdG8tYWN0aW9uLWhlYWRpbmcsIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICBcbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgLS1oZWFkaW5nLWNvbG91cjogI3skd2hpdGV9O1xuICAgICAgICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xuICAgICAgICAvLyBmb250LXNpemU6ICRmb250LXNpemUtaDM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnYXAyO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgICAgIH1cbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1zdWJoZWFkaW5nIHtcbiAgICAgICAgLS1oZWFkaW5nLWNvbG91cjogI3skcmVkfTtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGluZy1oMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgLy8gZm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuICAgICAgfVxuICAgICAgLmNhbGwtdG8tYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwMztcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzY3JvbGwtYmFye1xuICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkge1xuXG4gICAgICAuYWJvdXQtdXMtYmxvY2t7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDs7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzUlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNlcjI7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIDc1JSAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjVweCwgMWZyKSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01JTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMzk5cHgpIHtcbiAgICAgIC5hYm91dC11cy1ibG9jayB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgY2xpcC1wYXRoOiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6MTIwMXB4KSB7XG4gICAgICBoZWFkZXIsIHNjcm9sbC1iYXIsIC5hYm91dC11cy1ibG9jaywgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uLCAubWFya2V0LXNlY3RvcnNcXDpsaXN0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5mb290ZXIge1xuICAgIHBvc2l0aW9uOnN0aWNreTtcbiAgICB0b3A6MTAwZHZoO1xuICAgIG9yZGVyOjk5O1xuICAgIHBhZGRpbmctYm90dG9tOiRzcGFjZXI7IFxuICAgIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tY29udGVudCk7XG4gICAgei1pbmRleDoxMDAwOyBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDoxMjAxcHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiNob21lIGZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDppbml0aWFsO1xuICAgICAgICBncmlkLXJvdzogLTE7XG59IiwiQHVzZSAnbW9kdWxlcycgYXMgKjtcblxuY29udGVudC1ibG9ja3Mge1xuXG4gIC8vIC4uLiBDb2x1bW4gbGF5b3V0XG5cbiAgJGNvbHVtbi1jb25maWc6IChcbiAgICAnMicgOiAoXG4gICAgICA3NjggOiAyLFxuICAgICAgOTc5OiAxLFxuICAgICAgMTIwMDogMixcbiAgICAgIDE0MDA6IDEsIC8vIC4uLiBUT0RPOiBjaGVjayB0aGlzIGRvZXNuJ3QgcnVpbiBwYWdlcyB3aXRob3V0IHNpZGViYXIgY29tcG9uZW50c1xuICAgICAgMTc5OTogMlxuICAgIClcbiAgKTtcblxuICBbZGF0YS1jb2x1bW5zXSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1ucywgMSksIDFmcik7XG4gICAgZ3JpZC1nYXA6ICRnYXAyO1xuICB9XG5cbiAgQGVhY2ggJGNvbHVtbi1udW1iZXIsICRtYXAgaW4gJGNvbHVtbi1jb25maWcge1xuICAgIFtkYXRhLWNvbHVtbnM9XCIjeyRjb2x1bW4tbnVtYmVyfVwiXSB7XG5cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1jb2x1bW5zIGluICRtYXAge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgIC0tY29sdW1ucyA6ICN7JGJyZWFrcG9pbnQtY29sdW1uc307XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuICB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbnNlYXJjaC1lbGVtZW50e1xuICAuc2VhcmNoLWlucHV0e1xuICAgIHN2Z3tcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxubW9kYWwtd3JhcHBlciB7XG5cbiAgLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyICAgOiAje3JnYmEoJHdoaXRlLCAwLjk1KX07XG4gIC0tbW9kYWwtY2xvc2UtY29sb3VyICAgICAgICAgIDogJGJsYWNrO1xuICAtLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91ciA6IHdoaXRlO1xuXG4gIC0tbWluLXdpZHRoOjMwMHB4O1xuICAtLW1heC13aWR0aDojeyRicmVhay1tZWRpdW19O1xuICAtLXdpZHRoOmNsYW1wKHZhcigtLW1pbi13aWR0aCksIDkwdncsIGZpdC1jb250ZW50KTtcblxuICAtLW1pbi1oZWlnaHQ6NjAwcHg7XG4gIC0tbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gI3skZ3V0dGVyMn0pO1xuICBcbiAgLS1oZWlnaHQ6Y2xhbXAodmFyKC0tbWluLWhlaWdodCksIDkwdncsIGZpdC1jb250ZW50KTtcblxuICBAc3VwcG9ydHMgKCAtLXY6LXdlYmtpdC1maWxsLWF2YWlsYWJsZSApIHtcbiAgICAtLW1heC1oZWlnaHQ6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgfVxuXG4gIC0tY2xvc2UtYnV0dG9uLXNpemUgOiAzMHB4OyBcbiAgLS1uYXYtYnV0dG9uLXNpemUgOiA0MHB4OyBcblxuICBwb3NpdGlvbjpmaXhlZDtcbiAgaW5zZXQ6MDtcbiAgaGVpZ2h0OjEwMHZoOyBcbiAgd2lkdGg6MTAwJTsgXG4gIGJhY2tncm91bmQtY29sb3I6dmFyKC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIHotaW5kZXg6JHotaW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6ZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgJGVhc2UtaW4tb3V0O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuXG4gICYubG9hZGluZyB7IFxuICAgIG9wYWNpdHk6MDsgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzICRlYXNlLWluLW91dCAwLjNzO1xuICAgIG1vZGFsLWNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OjA7IFxuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnZoKTsgXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgJGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4zcyAkZWFzZS1pbi1xdWFydDtcbiAgICB9XG4gIH1cblxuICBidXR0b24uY2xvc2Uge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDokZ3V0dGVyOyBcbiAgICByaWdodDokZ3V0dGVyOyBcbiAgICB3aWR0aDp2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSk7IFxuICAgIGhlaWdodDp2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSk7IFxuICAgIHN2ZyB7IFxuICAgICAgLy8gYm9yZGVyOjJweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY2lyY2xlLCBwYXRoIHsgdHJhbnNpdGlvbjowLjNzICRlYXNlLWluLW91dDsgfVxuICAgICAgY29sb3I6IHZhcigtLW1vZGFsLWNsb3NlLWNvbG91ciwgI3skcmVkfSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHN2ZyB7IFxuICAgICAgICAtLWZpbGw6d2hpdGU7XG4gICAgICAgIC0tc3Ryb2tlOnZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLm5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHdpZHRoOnZhcigtLW5hdi1idXR0b24tc2l6ZSk7IFxuICAgIGhlaWdodDp2YXIoLS1uYXYtYnV0dG9uLXNpemUpOyBcbiAgICB0b3A6Y2FsYyg1MCUgLSAodmFyKC0tbmF2LWJ1dHRvbi1zaXplKSAvIDIpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjoycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcbiAgICBjb2xvcjp3aGl0ZTsgXG4gICAgZGlzcGxheTpmbGV4O1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246Y29sb3IgJHRyYW5zaXRpb24sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24sIHRyYW5zZm9ybSAwLjJzICRlYXNlLW91dC1iYWNrO1xuICAgICYucHJldmlvdXMgeyBsZWZ0IDogJGd1dHRlcjsgfVxuICAgICYubmV4dCB7IHJpZ2h0IDogJGd1dHRlcjsgfVxuICAgIHN2ZyB7IFxuICAgICAgd2lkdGg6NTAlO1xuICAgICAgaGVpZ2h0OjUwJTsgXG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgIGNvbG9yOnZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxubW9kYWwtY29udGFpbmVyIHtcblxuICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzICRlYXNlLWluLW91dCAwLjNzLCB0cmFuc2Zvcm0gMC41cyAkZWFzZS1vdXQtcXVhcnQgMC4zcztcbiAgd2lkdGg6dmFyKC0td2lkdGgpO1xuICBoZWlnaHQ6dmFyKC0taGVpZ2h0KTtcbiAgbWF4LWhlaWdodDp2YXIoLS1tYXgtaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOnZhcigtLW1heC13aWR0aCk7XG4gIGJvcmRlcjoxcHggc29saWQgJGdyZXk0OyBcbiAgYm9yZGVyLXJhZGl1czokYm9yZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjokZ3V0dGVyO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuXG4gIEBzdXBwb3J0cyBub3QgKCB3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcblxuICAgIC0td2lkdGggOiA2MHZ3O1xuICAgIG1heC13aWR0aDp2YXIoLS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDp2YXIoLS1taW4td2lkdGgpO1xuXG4gICAgLS1oZWlnaHQgOiA4MHZ3O1xuICAgIG1heC1oZWlnaHQ6dmFyKC0tbWF4LWhlaWdodCk7XG4gICAgbWluLWhlaWdodDp2YXIoLS1taW4taGVpZ2h0KTtcbiAgfVxuXG4gICY6ZW1wdHkge1xuICAgIHdpZHRoOmNhbGModmFyKC0tbWF4LXdpZHRoKSAvIDIpO1xuICAgIGhlaWdodDpjYWxjKHZhcigtLW1heC1oZWlnaHQpIC8gMik7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBsb2FkZXIoMjBweCk7XG4gICAgICBAaW5jbHVkZSBsb2FkZXItYW5pbWF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgPiBidXR0b24uY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcmRlcjotMTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB0b3A6aW5pdGlhbDtcbiAgICByaWdodDppbml0aWFsO1xuICAgIG1hcmdpbi10b3A6Y2FsYygoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkpIC8gMik7XG4gICAgbWFyZ2luLWJvdHRvbTpjYWxjKCgtMSAqIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSkgLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6Y2FsYygoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkpIC8gMik7XG4gIH1cblxufVxuXG5tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIHdpZHRoOmluaGVyaXQ7XG4gIGhlaWdodDppbmhlcml0O1xuICBtYXgtaGVpZ2h0OmluaGVyaXQ7XG4gIG1heC13aWR0aDppbmhlcml0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmc6JGd1dHRlcjtcbiAgPiAqIHsgbWF4LXdpZHRoOjEwMCU7IH1cbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9XCJpbWFnZVwiXSAuaW1hZ2UgeyBcbiAgbWF4LWhlaWdodDpjYWxjKHZhcigtLW1heC1oZWlnaHQpIC0gI3skZ3V0dGVyNn0pO1xuICBib3JkZXI6bm9uZTtcbiAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAjeyRndXR0ZXIzfSAtICN7JGd1dHRlcjR9KTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOmF1dG87XG4gIH1cbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9XCJkZWZhdWx0XCJdIHtcbiAgbW9kYWwtY29udGVudCA+IGltZyB7XG4gICAgJltzcmMqPVwiLnN2Z1wiXSB7IHdpZHRoOjEwMCU7IGhlaWdodDphdXRvOyB9XG4gIH1cbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9XCJ2aWRlb1wiXSB7XG4gIC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7cmdiYShibGFjaywgMC45NSl9O1xuICAtLW1vZGFsLWNsb3NlLWNvbG91ciAgICAgICAgOiAjeyR3aGl0ZX07XG4gIG1vZGFsLWNvbnRhaW5lciB7IFxuICAgIEBpbmNsdWRlIHZpZGVvLWNvbnRhaW5lcigpO1xuICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgcGFkZGluZzokZ2FwOyBcbiAgICBtb2RhbC1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuXG4ub3Blbi1pbi1tb2RhbCB7XG4gIGN1cnNvcjpwb2ludGVyO1xuICB0cmFuc2l0aW9uOm9wYWNpdHkgJHRyYW5zaXRpb247XG4gICY6YWZ0ZXIgeyBAaW5jbHVkZSBsb2FkZXIoMjBweCwgd2hpdGUpOyB9XG4gICYubG9hZGluZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgJjphZnRlciB7IEBpbmNsdWRlIGxvYWRlci1hbmltYXRpb24oKTsgfVxuICB9XG59XG5cbmltZy5vcGVuLWluLW1vZGFsLCAub3Blbi1pbi1tb2RhbCBpbWcgeyBcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gIC1raHRtbC11c2VyLWRyYWc6IG5vbmU7XG4gIC1tb3otdXNlci1kcmFnOiBub25lO1xuICAtby11c2VyLWRyYWc6IG5vbmU7XG4gIHVzZXItZHJhZzogbm9uZTtcbn1cbiIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcblxuXG5AbWl4aW4gbG9hZGVyKCRzaXplIDogMTJweCwgJGJvcmRlci10aGlja25lc3MgOiAycHgsICRjb2xvdXIgOiAkZ3JleSkge1xuICAtLXNpemUgOiAjeyRzaXplfTsgXG4gIGNvbnRlbnQ6XCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6Y2FsYyg1MCUgLSAodmFyKC0tc2l6ZSkgLyAyKSk7IFxuICBsZWZ0OmNhbGMoNTAlIC0gKHZhcigtLXNpemUpIC8gMikpOyBcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6dmFyKC0tc2l6ZSk7IFxuICBoZWlnaHQ6dmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiRib3JkZXItdGhpY2tuZXNzIHNvbGlkIHZhcigtLWxvYWRlci1jb2xvdXIsICRjb2xvdXIpO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsb2FkZXItcm90YXRlO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgJGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICBAa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICAgIGZyb20ge3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICB0byB7dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgfVxuICBAY29udGVudDtcbn1cblxuQG1peGluIGxvYWRlci1hbmltYXRpb24geyBcbiAgb3BhY2l0eToxOyBcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gIEBjb250ZW50O1xufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4uYmFjay10by10b3Age1xuICAtLWhpZGUtb2Zmc2V0ICAgOiAtMTBweDtcbiAgLS1zdmctd2lkdGggICAgIDogMThweDtcbiAgLS1lZGdlLWRpc3RhbmNlIDogMTVweDtcbiAgLS1yaWdodC1vZmZzZXQgIDogMHB4O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXJpZ2h0LW9mZnNldCkgKyB2YXIoLS1lZGdlLWRpc3RhbmNlKSk7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1lZGdlLWRpc3RhbmNlKSArIHZhcigtLWhpZGUtb2Zmc2V0KSk7XG4gIEBpbmNsdWRlIHNxdWFyZShjYWxjKHZhcigtLXN2Zy13aWR0aCkgKyAxMnB4KSk7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogJHotaW5kZXgtbWFpbisxO1xuICAvLyBvcGFjaXR5OiAwO1xuICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gMC4ycyAkdHJhbnNpdGlvbjtcblxuICBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgQGluY2x1ZGUgc3F1YXJlKHZhcigtLXN2Zy13aWR0aCkpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmOm5vdCguaGlkZSkgeyAgICBcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1oaWRlLW9mZnNldCkpO1xuICB9XG5cbiAgZGlzcGxheTogbm9uZTtcblxufVxuXG5AaW5jbHVkZSBicmVhay1vdXQobGFyZ2UpIHtcbiAgc2lkZS1iYXIgfiAuYmFjay10by10b3Age1xuICAgIC0tcmlnaHQtb2Zmc2V0OiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgfVxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5sb2dvLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAkZ3V0dGVyOyBcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiRzcGFjZXI7IFxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6NjBweDsgXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCg4MDBweCApIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn1cbiJdfQ== */