/*! sanitize.css v8.0.0 | CC0 License | github.com/csstools/sanitize.css */
/* Document
 * ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat;
  /* 1 */
  box-sizing: border-box;
  /* 2 */ }

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */ }

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Use the default user interface font in all browsers (opinionated).
 * 3. Correct the line height in all browsers.
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default;
  /* 1 */
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 2 */
  line-height: 1.15;
  /* 3 */
  -moz-tab-size: 4;
  /* 4 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 4 */
  -ms-text-size-adjust: 100%;
  /* 5 */
  -webkit-text-size-adjust: 100%;
  /* 5 */
  word-break: break-word;
  /* 6 */ }

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
 * ========================================================================== */
/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * Add the correct display in IE.
 */
main {
  display: block; }

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none; }

/**
 * 1. Use the default monospace user interface font
 *    in all browsers (opinionated).
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: Menlo, Consolas, Roboto Mono, Ubuntu Monospace, Noto Mono, Oxygen Mono, Liberation Mono, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Add the correct text decoration in Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Use the default monospace user interface font
 *    in all browsers (opinionated).
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: Menlo, Consolas, Roboto Mono, Ubuntu Monospace, Noto Mono, Oxygen Mono, Liberation Mono, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/*
 * Remove the text shadow on text selections in Firefox 61- (opinionated).
 * 1. Restore the coloring undone by defining the text shadow
 *    in all browsers (opinionated).
 */
::-moz-selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000;
  /* 1 */
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000;
  /* 1 */
  text-shadow: none; }

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse; }

/* Forms
 * ========================================================================== */
/**
 * Inherit styling in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

/**
 * Remove the margin in Safari.
 */
button,
input,
select {
  margin: 0; }

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge, Firefox, and IE.
 */
button {
  overflow: visible;
  /* 1 */
  text-transform: none;
  /* 2 */
  border: 0;
  background: transparent;
  font: inherit;
  color: inherit; }
  button:hover {
    cursor: pointer; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * Show the overflow in Edge and IE.
 */
input {
  overflow: visible; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in Edge and IE.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none; }

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction on textareas in all browsers (opinionated).
 */
textarea {
  margin: 0;
  /* 1 */
  overflow: auto;
  /* 2 */
  resize: vertical;
  /* 3 */ }

/**
 * Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  padding: 0; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText; }

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge and IE.
 */
details {
  display: block; }

/*
 * Add the correct styles in Edge, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content; }

dialog:not([open]) {
  display: none; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  /* 1 */
  touch-action: manipulation;
  /* 2 */ }

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy="true"] {
  cursor: progress; }

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer; }

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled="true"],
[disabled] {
  cursor: not-allowed; }

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute; }

.container {
  position: relative;
  max-width: 1480px;
  width: 100%;
  margin: 1rem auto;
  margin-left: auto !important;
  margin-right: auto !important; }
  .container:before, .container:after {
    content: none; }
  @media screen and (min-width: 768px) {
    .container {
      width: 90%; } }
  .container--text {
    max-width: 95%; }
    @media screen and (min-width: 768px) {
      .container--text {
        max-width: 75%; } }
  .container--ninety {
    max-width: 90%;
    margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .container--medium {
      max-width: 720px; } }
  @media screen and (min-width: 768px) {
    .container--small {
      max-width: 400px; } }
  .container--no-margin {
    margin: 0; }
    .container--no-margin-center {
      margin: 0 auto; }

.padding--top--none {
  padding-top: 0; }

.padding--top--xxsml {
  padding-top: 0.25rem; }
  @media screen and (min-width: 768px) {
    .padding--top--xxsml {
      padding-top: 0.5rem; } }

.padding--top--xsml {
  padding-top: 0.5rem; }
  @media screen and (min-width: 768px) {
    .padding--top--xsml {
      padding-top: 0.75rem; } }

.padding--top--sml {
  padding-top: 0.875rem; }
  @media screen and (min-width: 768px) {
    .padding--top--sml {
      padding-top: 1rem; } }

.padding--top--md {
  padding-top: 1rem; }
  @media screen and (min-width: 768px) {
    .padding--top--md {
      padding-top: 1.5rem; } }

.padding--top--lg {
  padding-top: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--top--lg {
      padding-top: 2rem; } }

.padding--top--xlg {
  padding-top: 2rem; }
  @media screen and (min-width: 768px) {
    .padding--top--xlg {
      padding-top: 3rem; } }

.padding--bottom--none {
  padding-bottom: 0; }

.padding--bottom--xxsml {
  padding-bottom: 0.25rem; }
  @media screen and (min-width: 768px) {
    .padding--bottom--xxsml {
      padding-bottom: 0.5rem; } }

.padding--bottom--xsml {
  padding-bottom: 0.5rem; }
  @media screen and (min-width: 768px) {
    .padding--bottom--xsml {
      padding-bottom: 0.75rem; } }

.padding--bottom--sml {
  padding-bottom: 0.875rem; }
  @media screen and (min-width: 768px) {
    .padding--bottom--sml {
      padding-bottom: 1rem; } }

.padding--bottom--md {
  padding-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .padding--bottom--md {
      padding-bottom: 1.5rem; } }

.padding--bottom--lg {
  padding-bottom: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--bottom--lg {
      padding-bottom: 2rem; } }

.padding--bottom--xlg {
  padding-bottom: 2rem; }
  @media screen and (min-width: 768px) {
    .padding--bottom--xlg {
      padding-bottom: 3rem; } }

.padding--left--none {
  padding-left: 0; }

.padding--left--xxsml {
  padding-left: 0.25rem; }
  @media screen and (min-width: 768px) {
    .padding--left--xxsml {
      padding-left: 0.5rem; } }

.padding--left--xsml {
  padding-left: 0.5rem; }
  @media screen and (min-width: 768px) {
    .padding--left--xsml {
      padding-left: 0.75rem; } }

.padding--left--sml {
  padding-left: 0.875rem; }
  @media screen and (min-width: 768px) {
    .padding--left--sml {
      padding-left: 1rem; } }

.padding--left--md {
  padding-left: 1rem; }
  @media screen and (min-width: 768px) {
    .padding--left--md {
      padding-left: 1.5rem; } }

.padding--left--lg {
  padding-left: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--left--lg {
      padding-left: 2rem; } }

.padding--left--xlg {
  padding-left: 2rem; }
  @media screen and (min-width: 768px) {
    .padding--left--xlg {
      padding-left: 3rem; } }

.padding--right--none {
  padding-right: 0; }

.padding--right--xxsml {
  padding-right: 0.25rem; }
  @media screen and (min-width: 768px) {
    .padding--right--xxsml {
      padding-right: 0.5rem; } }

.padding--right--xsml {
  padding-right: 0.5rem; }
  @media screen and (min-width: 768px) {
    .padding--right--xsml {
      padding-right: 0.75rem; } }

.padding--right--sml {
  padding-right: 0.875rem; }
  @media screen and (min-width: 768px) {
    .padding--right--sml {
      padding-right: 1rem; } }

.padding--right--md {
  padding-right: 1rem; }
  @media screen and (min-width: 768px) {
    .padding--right--md {
      padding-right: 1.5rem; } }

.padding--right--lg {
  padding-right: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--right--lg {
      padding-right: 2rem; } }

.padding--right--xlg {
  padding-right: 2rem; }
  @media screen and (min-width: 768px) {
    .padding--right--xlg {
      padding-right: 3rem; } }

.padding--top-bottom--none {
  padding-top: 0;
  padding-bottom: 0; }

.padding--top-bottom--xxsml {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem; }
  @media screen and (min-width: 768px) {
    .padding--top-bottom--xxsml {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem; } }

.padding--top-bottom--xsml {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  @media screen and (min-width: 768px) {
    .padding--top-bottom--xsml {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; } }

.padding--top-bottom--sml {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem; }
  @media screen and (min-width: 768px) {
    .padding--top-bottom--sml {
      padding-top: 1rem;
      padding-bottom: 1rem; } }

.padding--top-bottom--md {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .padding--top-bottom--md {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem; } }

.padding--top-bottom--lg {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--top-bottom--lg {
      padding-top: 2rem;
      padding-bottom: 2rem; } }

.padding--top-bottom--xlg {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media screen and (min-width: 768px) {
    .padding--top-bottom--xlg {
      padding-top: 3rem;
      padding-bottom: 3rem; } }

.padding--top-bottom--xxlg {
  padding-top: 4rem;
  padding-bottom: 4rem; }
  @media screen and (min-width: 768px) {
    .padding--top-bottom--xxlg {
      padding-top: 6rem;
      padding-bottom: 6rem; } }

.padding--left-right--none {
  padding-left: 0;
  padding-right: 0; }

.padding--left-right--xxsml {
  padding-left: 0.25rem;
  padding-right: 0.25rem; }
  @media screen and (min-width: 768px) {
    .padding--left-right--xxsml {
      padding-left: 0.5rem;
      padding-right: 0.5rem; } }

.padding--left-right--xsml {
  padding-left: 0.5rem;
  padding-right: 0.5rem; }
  @media screen and (min-width: 768px) {
    .padding--left-right--xsml {
      padding-left: 0.75rem;
      padding-right: 0.75rem; } }

.padding--left-right--sml {
  padding-left: 0.875rem;
  padding-right: 0.875rem; }
  @media screen and (min-width: 768px) {
    .padding--left-right--sml {
      padding-left: 1rem;
      padding-right: 1rem; } }

.padding--left-right--md {
  padding-left: 1rem;
  padding-right: 1rem; }
  @media screen and (min-width: 768px) {
    .padding--left-right--md {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }

.padding--left-right--lg {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--left-right--lg {
      padding-left: 2rem;
      padding-right: 2rem; } }

.padding--left-right--xlg {
  padding-left: 2rem;
  padding-right: 2rem; }
  @media screen and (min-width: 768px) {
    .padding--left-right--xlg {
      padding-left: 3rem;
      padding-right: 3rem; } }

.padding--all--none {
  padding: 0 !important; }

.padding--all--xxsml {
  padding: 0.25rem; }
  @media screen and (min-width: 768px) {
    .padding--all--xxsml {
      padding: 0.5rem; } }

.padding--all--xsml {
  padding: 0.5rem; }
  @media screen and (min-width: 768px) {
    .padding--all--xsml {
      padding: 0.75rem; } }

.padding--all--sml {
  padding: 0.875rem; }
  @media screen and (min-width: 768px) {
    .padding--all--sml {
      padding: 1rem; } }

.padding--all--md {
  padding: 1rem; }
  @media screen and (min-width: 768px) {
    .padding--all--md {
      padding: 1.5rem; } }

.padding--all--lg {
  padding: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--all--lg {
      padding: 2rem; } }

.padding--all--xlg {
  padding: 1.5rem; }
  @media screen and (min-width: 768px) {
    .padding--all--xlg {
      padding: 3rem; } }

.margin--top--none {
  margin-top: 0; }

.margin--top--xxsml {
  margin-top: 0.25rem; }
  @media screen and (min-width: 768px) {
    .margin--top--xxsml {
      margin-top: 0.5rem; } }

.margin--top--xsml {
  margin-top: 0.5rem; }
  @media screen and (min-width: 768px) {
    .margin--top--xsml {
      margin-top: 0.75rem; } }

.margin--top--sml {
  margin-top: 0.875rem; }
  @media screen and (min-width: 768px) {
    .margin--top--sml {
      margin-top: 1rem; } }

.margin--top--md, #bootcamps--main .content-wrapper .content a.ns-button {
  margin-top: 1rem; }
  @media screen and (min-width: 768px) {
    .margin--top--md, #bootcamps--main .content-wrapper .content a.ns-button {
      margin-top: 1.5rem; } }

.margin--top--lg {
  margin-top: 1.5rem; }
  @media screen and (min-width: 768px) {
    .margin--top--lg {
      margin-top: 2rem; } }

.margin--top--xlg {
  margin-top: 2rem; }
  @media screen and (min-width: 768px) {
    .margin--top--xlg {
      margin-top: 3rem; } }

.margin--bottom--none {
  margin-bottom: 0; }

.margin--bottom--xxsml {
  margin-bottom: 0.25rem; }
  @media screen and (min-width: 768px) {
    .margin--bottom--xxsml {
      margin-bottom: 0.5rem; } }

.margin--bottom--xsml {
  margin-bottom: 0.5rem; }
  @media screen and (min-width: 768px) {
    .margin--bottom--xsml {
      margin-bottom: 0.75rem; } }

.margin--bottom--sml {
  margin-bottom: 0.875rem; }
  @media screen and (min-width: 768px) {
    .margin--bottom--sml {
      margin-bottom: 1rem; } }

.margin--bottom--md {
  margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .margin--bottom--md {
      margin-bottom: 1.5rem; } }

.margin--bottom--lg, #bootcamps--main .content-wrapper .content .accordion--item .a, #faq--main .accordion--item .a {
  margin-bottom: 1.5rem; }
  @media screen and (min-width: 768px) {
    .margin--bottom--lg, #bootcamps--main .content-wrapper .content .accordion--item .a, #faq--main .accordion--item .a {
      margin-bottom: 2rem; } }

.margin--bottom--xlg {
  margin-bottom: 2rem; }
  @media screen and (min-width: 768px) {
    .margin--bottom--xlg {
      margin-bottom: 3rem; } }

.margin--left--none {
  margin-left: 0; }

.margin--left--xxsml {
  margin-left: 0.25rem; }
  @media screen and (min-width: 768px) {
    .margin--left--xxsml {
      margin-left: 0.5rem; } }

.margin--left--xsml {
  margin-left: 0.5rem; }
  @media screen and (min-width: 768px) {
    .margin--left--xsml {
      margin-left: 0.75rem; } }

.margin--left--sml {
  margin-left: 0.875rem; }
  @media screen and (min-width: 768px) {
    .margin--left--sml {
      margin-left: 1rem; } }

.margin--left--md {
  margin-left: 1rem; }
  @media screen and (min-width: 768px) {
    .margin--left--md {
      margin-left: 1.5rem; } }

.margin--left--lg, #bootcamps--main .content-wrapper .content .accordion--item .a, #faq--main .accordion--item .a {
  margin-left: 1.5rem; }
  @media screen and (min-width: 768px) {
    .margin--left--lg, #bootcamps--main .content-wrapper .content .accordion--item .a, #faq--main .accordion--item .a {
      margin-left: 2rem; } }

.margin--left--xlg {
  margin-left: 2rem; }
  @media screen and (min-width: 768px) {
    .margin--left--xlg {
      margin-left: 3rem; } }

.margin--right--none {
  margin-right: 0; }

.margin--right--xxsml {
  margin-right: 0.25rem; }
  @media screen and (min-width: 768px) {
    .margin--right--xxsml {
      margin-right: 0.5rem; } }

.margin--right--xsml {
  margin-right: 0.5rem; }
  @media screen and (min-width: 768px) {
    .margin--right--xsml {
      margin-right: 0.75rem; } }

.margin--right--sml {
  margin-right: 0.875rem; }
  @media screen and (min-width: 768px) {
    .margin--right--sml {
      margin-right: 1rem; } }

.margin--right--md {
  margin-right: 1rem; }
  @media screen and (min-width: 768px) {
    .margin--right--md {
      margin-right: 1.5rem; } }

.margin--right--lg {
  margin-right: 1.5rem; }
  @media screen and (min-width: 768px) {
    .margin--right--lg {
      margin-right: 2rem; } }

.margin--right--xlg {
  margin-right: 2rem; }
  @media screen and (min-width: 768px) {
    .margin--right--xlg {
      margin-right: 3rem; } }

.margin--top-bottom--none {
  margin-top: 0;
  margin-bottom: 0; }

.margin--top-bottom--xxsml {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem; }
  @media screen and (min-width: 768px) {
    .margin--top-bottom--xxsml {
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; } }

.margin--top-bottom--xsml {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem; }
  @media screen and (min-width: 768px) {
    .margin--top-bottom--xsml {
      margin-top: 0.75rem;
      margin-bottom: 0.75rem; } }

.margin--top-bottom--sml {
  margin-top: 0.875rem;
  margin-bottom: 0.875rem; }
  @media screen and (min-width: 768px) {
    .margin--top-bottom--sml {
      margin-top: 1rem;
      margin-bottom: 1rem; } }

.margin--top-bottom--md {
  margin-top: 1rem;
  margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .margin--top-bottom--md {
      margin-top: 1.5rem;
      margin-bottom: 1.5rem; } }

.margin--top-bottom--lg {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }
  @media screen and (min-width: 768px) {
    .margin--top-bottom--lg {
      margin-top: 2rem;
      margin-bottom: 2rem; } }

.margin--top-bottom--xlg {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  @media screen and (min-width: 768px) {
    .margin--top-bottom--xlg {
      margin-top: 3rem;
      margin-bottom: 3rem; } }

.margin--left-right--none {
  margin-left: 0;
  margin-right: 0; }

.margin--left-right--xxsml {
  margin-left: 0.25rem;
  margin-right: 0.25rem; }
  @media screen and (min-width: 768px) {
    .margin--left-right--xxsml {
      margin-left: 0.5rem;
      margin-right: 0.5rem; } }

.margin--left-right--xsml {
  margin-left: 0.5rem;
  margin-right: 0.5rem; }
  @media screen and (min-width: 768px) {
    .margin--left-right--xsml {
      margin-left: 0.75rem;
      margin-right: 0.75rem; } }

.margin--left-right--sml {
  margin-left: 0.875rem;
  margin-right: 0.875rem; }
  @media screen and (min-width: 768px) {
    .margin--left-right--sml {
      margin-left: 1rem;
      margin-right: 1rem; } }

.margin--left-right--md {
  margin-left: 1rem;
  margin-right: 1rem; }
  @media screen and (min-width: 768px) {
    .margin--left-right--md {
      margin-left: 1.5rem;
      margin-right: 1.5rem; } }

.margin--left-right--lg {
  margin-left: 1.5rem;
  margin-right: 1.5rem; }
  @media screen and (min-width: 768px) {
    .margin--left-right--lg {
      margin-left: 2rem;
      margin-right: 2rem; } }

.margin--left-right--xlg {
  margin-left: 2rem;
  margin-right: 2rem; }
  @media screen and (min-width: 768px) {
    .margin--left-right--xlg {
      margin-left: 3rem;
      margin-right: 3rem; } }

.margin--all--none {
  margin: 0; }

.margin--all--xxsml {
  margin: 0.25rem; }
  @media screen and (min-width: 768px) {
    .margin--all--xxsml {
      margin: 0.5rem; } }

.margin--all--xsml {
  margin: 0.5rem; }
  @media screen and (min-width: 768px) {
    .margin--all--xsml {
      margin: 0.75rem; } }

.margin--all--sml {
  margin: 0.875rem; }
  @media screen and (min-width: 768px) {
    .margin--all--sml {
      margin: 1rem; } }

.margin--all--md {
  margin: 1rem; }
  @media screen and (min-width: 768px) {
    .margin--all--md {
      margin: 1.5rem; } }

.margin--all--lg {
  margin: 1.5rem; }
  @media screen and (min-width: 768px) {
    .margin--all--lg {
      margin: 2rem; } }

.margin--all--xlg {
  margin: 2rem; }
  @media screen and (min-width: 768px) {
    .margin--all--xlg {
      margin: 3rem; } }

.column-left {
  max-width: 100%;
  min-width: 100%;
  width: 100%; }
  @media screen and (min-width: 992px) {
    .column-left {
      max-width: 65%;
      min-width: 65%;
      width: 65%; } }

.column-right {
  max-width: 100%;
  min-width: 100%;
  width: 100%; }
  @media screen and (min-width: 992px) {
    .column-right {
      max-width: 35%;
      min-width: 35%;
      width: 35%; } }

.ns-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-left: 0;
  margin-right: 0; }
  .ns-row:before {
    content: none; }
  .ns-row--top {
    align-content: flex-start; }
  .ns-row--center {
    align-items: center; }
  .ns-row--wrap {
    flex-wrap: wrap; }
  .ns-row--start {
    justify-content: flex-start; }
  .ns-row--end {
    justify-content: flex-end; }
  .ns-row--t-s-only {
    display: block; }
    @media screen and (min-width: 768px) {
      .ns-row--t-s-only {
        display: flex; } }
  .ns-row > div[class*=ns-col] {
    position: relative; }

.ns-flex--grow {
  flex-grow: 1; }

.ns-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start; }
  .ns-col--reverse {
    flex-direction: column-reverse;
    justify-content: flex-end; }

[class*='ns-col--'] {
  box-sizing: border-box;
  padding: 1rem; }

@media screen and (min-width: 320px) {
  .ns-col--m-s-1 {
    width: calc(100% / 12 * 1 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-2 {
    width: calc(100% / 12 * 2 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-3 {
    width: calc(100% / 12 * 3 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-4 {
    width: calc(100% / 12 * 4 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-5 {
    width: calc(100% / 12 * 5 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-6 {
    width: calc(100% / 12 * 6 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-7 {
    width: calc(100% / 12 * 7 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-8 {
    width: calc(100% / 12 * 8 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-9 {
    width: calc(100% / 12 * 9 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-10 {
    width: calc(100% / 12 * 10 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-11 {
    width: calc(100% / 12 * 11 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; }
  .ns-col--m-s-12 {
    width: calc(100% / 12 * 12 - 33px); }
  .ns-col--m-s-12 {
    width: 100%; } }

@media screen and (min-width: 480px) {
  .ns-col--m-1 {
    width: calc(100% / 12 * 1 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-2 {
    width: calc(100% / 12 * 2 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-3 {
    width: calc(100% / 12 * 3 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-4 {
    width: calc(100% / 12 * 4 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-5 {
    width: calc(100% / 12 * 5 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-6 {
    width: calc(100% / 12 * 6 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-7 {
    width: calc(100% / 12 * 7 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-8 {
    width: calc(100% / 12 * 8 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-9 {
    width: calc(100% / 12 * 9 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-10 {
    width: calc(100% / 12 * 10 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-11 {
    width: calc(100% / 12 * 11 - 33px); }
  .ns-col--m-12 {
    width: 100%; }
  .ns-col--m-12 {
    width: calc(100% / 12 * 12 - 33px); }
  .ns-col--m-12 {
    width: 100%; } }

@media screen and (min-width: 576px) {
  .ns-col--m-l-1 {
    width: calc(100% / 12 * 1 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-2 {
    width: calc(100% / 12 * 2 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-3 {
    width: calc(100% / 12 * 3 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-4 {
    width: calc(100% / 12 * 4 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-5 {
    width: calc(100% / 12 * 5 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-6 {
    width: calc(100% / 12 * 6 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-7 {
    width: calc(100% / 12 * 7 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-8 {
    width: calc(100% / 12 * 8 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-9 {
    width: calc(100% / 12 * 9 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-10 {
    width: calc(100% / 12 * 10 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-11 {
    width: calc(100% / 12 * 11 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; }
  .ns-col--m-l-12 {
    width: calc(100% / 12 * 12 - 33px); }
  .ns-col--m-l-12 {
    width: 100%; } }

@media screen and (min-width: 768px) {
  .ns-col--t-s-1 {
    width: calc(100% / 12 * 1 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-2 {
    width: calc(100% / 12 * 2 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-3 {
    width: calc(100% / 12 * 3 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-4 {
    width: calc(100% / 12 * 4 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-5 {
    width: calc(100% / 12 * 5 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-6 {
    width: calc(100% / 12 * 6 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-7 {
    width: calc(100% / 12 * 7 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-8 {
    width: calc(100% / 12 * 8 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-9 {
    width: calc(100% / 12 * 9 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-10 {
    width: calc(100% / 12 * 10 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-11 {
    width: calc(100% / 12 * 11 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; }
  .ns-col--t-s-12 {
    width: calc(100% / 12 * 12 - 33px); }
  .ns-col--t-s-12 {
    width: 100%; } }

@media screen and (min-width: 992px) {
  .ns-col--t-1 {
    width: calc(100% / 12 * 1 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-2 {
    width: calc(100% / 12 * 2 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-3 {
    width: calc(100% / 12 * 3 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-4 {
    width: calc(100% / 12 * 4 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-5 {
    width: calc(100% / 12 * 5 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-6 {
    width: calc(100% / 12 * 6 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-7 {
    width: calc(100% / 12 * 7 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-8 {
    width: calc(100% / 12 * 8 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-9 {
    width: calc(100% / 12 * 9 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-10 {
    width: calc(100% / 12 * 10 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-11 {
    width: calc(100% / 12 * 11 - 33px); }
  .ns-col--t-12 {
    width: 100%; }
  .ns-col--t-12 {
    width: calc(100% / 12 * 12 - 33px); }
  .ns-col--t-12 {
    width: 100%; } }

@media screen and (min-width: 1280px) {
  .ns-col--d-s-1 {
    width: calc(100% / 12 * 1 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-2 {
    width: calc(100% / 12 * 2 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-3 {
    width: calc(100% / 12 * 3 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-4 {
    width: calc(100% / 12 * 4 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-5 {
    width: calc(100% / 12 * 5 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-6 {
    width: calc(100% / 12 * 6 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-7 {
    width: calc(100% / 12 * 7 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-8 {
    width: calc(100% / 12 * 8 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-9 {
    width: calc(100% / 12 * 9 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-10 {
    width: calc(100% / 12 * 10 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-11 {
    width: calc(100% / 12 * 11 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; }
  .ns-col--d-s-12 {
    width: calc(100% / 12 * 12 - 33px); }
  .ns-col--d-s-12 {
    width: 100%; } }

@media screen and (min-width: 1480px) {
  .ns-col--d-1 {
    width: calc(100% / 12 * 1 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-2 {
    width: calc(100% / 12 * 2 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-3 {
    width: calc(100% / 12 * 3 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-4 {
    width: calc(100% / 12 * 4 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-5 {
    width: calc(100% / 12 * 5 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-6 {
    width: calc(100% / 12 * 6 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-7 {
    width: calc(100% / 12 * 7 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-8 {
    width: calc(100% / 12 * 8 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-9 {
    width: calc(100% / 12 * 9 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-10 {
    width: calc(100% / 12 * 10 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-11 {
    width: calc(100% / 12 * 11 - 33px); }
  .ns-col--d-12 {
    width: 100%; }
  .ns-col--d-12 {
    width: calc(100% / 12 * 12 - 33px); }
  .ns-col--d-12 {
    width: 100%; } }

.ns-h1, .ns-h3, .ns-h3, .ns-h4, .ns-h5, .ns-h6,
h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0.75rem; }
  @media screen and (min-width: 768px) {
    .ns-h1, .ns-h3, .ns-h3, .ns-h4, .ns-h5, .ns-h6,
    h1, h2, h3, h4, h5, h6 {
      margin-bottom: 1rem; } }

.ns-h1,
h1 {
  font-size: 2rem; }
  @media screen and (min-width: 576px) {
    .ns-h1,
    h1 {
      font-size: 2.5rem; } }
  @media screen and (min-width: 768px) {
    .ns-h1,
    h1 {
      font-size: 3.25rem; } }

.ns-h2,
h2 {
  font-size: 1.5rem; }
  @media screen and (min-width: 576px) {
    .ns-h2,
    h2 {
      font-size: 1.875rem; } }
  @media screen and (min-width: 768px) {
    .ns-h2,
    h2 {
      font-size: 2.25rem; } }

.ns-h3,
h3 {
  font-size: 1.25rem; }
  @media screen and (min-width: 576px) {
    .ns-h3,
    h3 {
      font-size: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .ns-h3,
    h3 {
      font-size: 1.875rem; } }

.ns-h4,
h4 {
  font-size: 1.2rem; }
  @media screen and (min-width: 768px) {
    .ns-h4,
    h4 {
      font-size: 1.5rem; } }

.ns-h5, .ns-h6,
h5, h6 {
  font-size: 1rem; }
  @media screen and (min-width: 768px) {
    .ns-h5, .ns-h6,
    h5, h6 {
      font-size: 1.2rem; } }

.ns-h6,
h6 {
  font-weight: 400; }

p, li.p {
  font-size: 1rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0.75rem; }
  @media screen and (min-width: 768px) {
    p, li.p {
      font-size: 1.1rem;
      line-height: 1.5;
      margin-bottom: 1rem; } }

.ns-font--upper {
  text-transform: uppercase; }

.ns-font--weight-light {
  font-weight: 300; }

.ns-font--weight-normal {
  font-weight: 400; }

.ns-font--weight-semibold {
  font-weight: 600; }

.ns-font--weight-bold {
  font-weight: 700; }

.ns-font--weight-extrabold {
  font-weight: 800; }

.ns-font--size--large {
  font-size: 2.5rem;
  line-height: 1.5;
  font-weight: 600; }

.ns-font--size--medium {
  font-size: 1.2rem; }
  @media screen and (min-width: 768px) {
    .ns-font--size--medium {
      font-size: 1.5rem; } }

.ns-font--size--small {
  font-size: 1rem;
  line-height: 1.5; }

.ns-font--size--wide {
  letter-spacing: 1.1px; }
  @media screen and (min-width: 768px) {
    .ns-font--size--wide {
      letter-spacing: 1.92px; } }

.ns-font--size--condensed {
  line-height: 1.3; }

.text-align--left {
  text-align: left; }

.text-align--center {
  text-align: center; }
  .text-align--center--mobile-only {
    text-align: center; }
    @media screen and (min-width: 768px) {
      .text-align--center--mobile-only {
        text-align: left; } }

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

.heading {
  margin-bottom: 1.3rem; }
  @media screen and (min-width: 768px) {
    .heading {
      margin-bottom: 1.6rem; } }

html {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-family: "Open Sans", sans-serif; }

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

:root {
  font-family: "Open Sans", sans-serif;
  font-size: 16px; }

body {
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  color: #000000;
  margin: 0;
  padding: 0; }

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
  display: none; }

.ns-button {
  display: inline-block;
  text-align: center;
  border-radius: 25px;
  padding: 0.3rem 1.1rem;
  min-width: 4rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  margin: 0.25rem 0; }
  @media screen and (min-width: 768px) {
    .ns-button {
      margin: 0;
      padding: 0.4rem 1.875rem;
      min-width: 10rem; } }
  .ns-button.focus-visible {
    outline: 1px solid #97D700; }
  .ns-button--primary {
    color: #000000;
    background-color: #97D700;
    border: 2px solid #97D700; }
    .ns-button--primary:hover, .ns-button--primary.focus-visible {
      cursor: pointer;
      color: #97D700;
      background-color: transparent;
      transition: all 0.3s ease-in; }
  .ns-button--secondary {
    color: #FFFFFF;
    background-color: transparent;
    border: 2px solid #FFFFFF; }
    .ns-button--secondary:hover, .ns-button--secondary.focus-visible {
      cursor: pointer;
      color: #97D700;
      border-color: #97D700;
      transition: all 0.3s ease-in; }
    .ns-button--secondary:active, .ns-button--secondary:focus {
      color: rgba(151, 215, 0, 0.5);
      border-color: rgba(151, 215, 0, 0.5);
      transition: all 0.3s ease-in; }
  @media screen and (min-width: 576px) {
    .ns-button + .ns-button {
      margin-left: 0.75rem; } }
  @media screen and (min-width: 768px) {
    .ns-button + .ns-button {
      margin-left: 1.25rem; } }

.ns-link {
  font-weight: 700; }
  .ns-link:after {
    line-height: 1;
    display: inline-block;
    -webkit-margin-start: 0.5rem;
            margin-inline-start: 0.5rem;
    position: relative; }
  .ns-link--light {
    color: #FFFFFF; }
    .ns-link--light:hover, .ns-link--light.focus-visible {
      color: #97D700; }
      .ns-link--light:hover:after, .ns-link--light.focus-visible:after {
        content: url("data:image/svg+xml;utf-8,<svg width='6' height='9' viewBox='0 0 6 9' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='0.954971' y='8.57056' width='1.28903' height='5.78204' transform='rotate(-135 0.954971 8.57056)' fill='%2397D700'/><rect x='0.0788269' y='1.34058' width='1.28903' height='5.73175' transform='rotate(-45 0.0788269 1.34058)' fill='%2397D700'/></svg>"); }
    .ns-link--light:after {
      content: url("data:image/svg+xml;utf-8,<svg width='6' height='9' viewBox='0 0 6 9' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='0.954971' y='8.57056' width='1.28903' height='5.78204' transform='rotate(-135 0.954971 8.57056)' fill='%23FFFFFF'/><rect x='0.0788269' y='1.34058' width='1.28903' height='5.73175' transform='rotate(-45 0.0788269 1.34058)' fill='%23FFFFFF'/></svg>"); }
  .ns-link--block {
    line-height: 1; }
    .ns-link--block::before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1;
      content: ""; }

header {
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  position: fixed;
  position: sticky;
  top: 0;
  z-index: 10; }
  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    header {
      width: 100%; } }
  header #header--inner {
    background: #000000;
    z-index: 10; }
    header #header--inner .column-left {
      min-width: -moz-fit-content;
      min-width: fit-content;
      width: auto;
      line-height: 1; }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        header #header--inner .column-left {
          min-width: 0; } }
      @media screen and (min-width: 1140px) {
        header #header--inner .column-left {
          display: flex;
          flex-direction: row;
          justify-content: flex-start;
          align-items: center; } }
      header #header--inner .column-left .header-text {
        display: none;
        margin-bottom: 0; }
        @media screen and (min-width: 1140px) {
          header #header--inner .column-left .header-text {
            display: block; } }
    header #header--inner .column-right {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-end;
      gap: 1rem;
      min-width: -moz-fit-content;
      min-width: fit-content;
      width: 30%;
      text-align: right; }
      @media screen and (min-width: 768px) {
        header #header--inner .column-right {
          gap: 2rem; } }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        header #header--inner .column-right {
          min-width: 0; } }
      header #header--inner .column-right .register {
        display: none; }
        @media screen and (min-width: 576px) {
          header #header--inner .column-right .register {
            display: inline-block;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            max-height: 0; }
            header #header--inner .column-right .register.active {
              visibility: visible;
              transition: all 0.6s;
              opacity: 1;
              max-height: 100%; } }
      header #header--inner .column-right .register-mobile {
        display: inline-block;
        white-space: nowrap;
        padding: 0.2rem 0.9rem;
        font-size: 0.9rem;
        font-weight: 600; }
        @media screen and (min-width: 576px) {
          header #header--inner .column-right .register-mobile {
            display: none; } }
      header #header--inner .column-right .register-mobile-large {
        display: none;
        white-space: nowrap; }
        @media screen and (min-width: 576px) {
          header #header--inner .column-right .register-mobile-large {
            display: inline-block; } }
    header #header--inner .engage-logo {
      display: inline-block; }
      @media screen and (min-width: 576px) {
        header #header--inner .engage-logo {
          opacity: 0;
          visibility: hidden;
          max-height: 0; }
          header #header--inner .engage-logo.active {
            visibility: visible;
            transition: all 0.6s;
            opacity: 1;
            max-height: 100%; } }
      @media screen and (min-width: 1140px) {
        header #header--inner .engage-logo {
          padding-right: 2rem; } }
  @media screen and (min-width: 1140px) and (-ms-high-contrast: active), screen and (min-width: 1140px) and (-ms-high-contrast: none) {
    header #header--inner .engage-logo {
      min-width: 220px; } }
      header #header--inner .engage-logo img, header #header--inner .engage-logo svg {
        display: block;
        max-height: 25px;
        width: auto; }
        @media screen and (min-width: 768px) {
          header #header--inner .engage-logo img, header #header--inner .engage-logo svg {
            max-height: 30px; } }
        @media screen and (min-width: 1140px) {
          header #header--inner .engage-logo img, header #header--inner .engage-logo svg {
            max-height: 35px; } }
  header .burger {
    display: block;
    position: relative;
    width: 30px;
    height: 20px; }
    @media screen and (min-width: 768px) {
      header .burger {
        width: 42px;
        height: 30px; } }
    header .burger > span {
      padding: 0;
      width: 20px;
      height: 2px;
      background-color: #97D700;
      display: block;
      border-radius: 2px;
      transition: all 0.3s ease-in-out;
      position: absolute; }
      @media screen and (min-width: 768px) {
        header .burger > span {
          width: 30px; } }
      header .burger > span:nth-child(1) {
        top: 0;
        transform-origin: 5%; }
      header .burger > span:nth-child(2), header .burger > span:nth-child(3) {
        top: 9px; }
        @media screen and (min-width: 768px) {
          header .burger > span:nth-child(2), header .burger > span:nth-child(3) {
            top: 14px; } }
      header .burger > span:nth-child(4) {
        bottom: 0;
        transform-origin: 5%; }
    header .burger.active > span {
      transition: all 0.4s ease-in-out;
      height: 2px; }
      @media screen and (min-width: 768px) {
        header .burger.active > span {
          height: 3px; } }
      header .burger.active > span:nth-child(1) {
        transform: rotate(45deg);
        width: 28px; }
        @media screen and (min-width: 768px) {
          header .burger.active > span:nth-child(1) {
            width: 42px; } }
      header .burger.active > span:nth-child(2) {
        transform: rotate(-45deg);
        background-color: transparent; }
      header .burger.active > span:nth-child(3) {
        transform: rotate(45deg);
        background-color: transparent; }
      header .burger.active > span:nth-child(4) {
        transform: rotate(-45deg);
        width: 28px; }
        @media screen and (min-width: 768px) {
          header .burger.active > span:nth-child(4) {
            width: 42px; } }
  header nav {
    position: fixed;
    opacity: 0;
    visibility: hidden;
    max-height: 0px;
    left: 0;
    top: -163px;
    width: 100%;
    z-index: -1;
    background: rgba(0, 0, 0, 0.9);
    transition: all 0.6s;
    padding: 1rem 0; }
    header nav.active {
      visibility: visible;
      transition: all 0.6s;
      opacity: 1;
      max-height: 100%;
      top: 62px; }
      @media screen and (min-width: 768px) {
        header nav.active {
          top: 87px; } }
    header nav > ul {
      padding: 0;
      margin: 0;
      width: 100%;
      max-width: 1480px; }
      header nav > ul.ns-row {
        flex-direction: column; }
        @media screen and (min-width: 768px) {
          header nav > ul.ns-row {
            flex-direction: row;
            flex-wrap: wrap;
            width: 90%; } }
        @media screen and (min-width: 1140px) {
          header nav > ul.ns-row {
            flex-wrap: nowrap; } }
      header nav > ul > li {
        display: inline-block;
        flex: 1 0 auto;
        padding: 0;
        margin: 0.75rem 0.75rem 0;
        text-align: center; }
        @media screen and (min-width: 768px) {
          header nav > ul > li {
            text-align: left;
            margin: 0; } }
        @media screen and (min-width: 1140px) {
          header nav > ul > li {
            margin: 0 1.5rem; } }
        @media screen and (min-width: 1280px) {
          header nav > ul > li {
            margin: 0 2rem; } }
        @media screen and (min-width: 768px) {
          header nav > ul > li:first-child {
            margin-left: 0; }
          header nav > ul > li:last-child {
            margin-right: 0; } }
        header nav > ul > li span {
          display: block;
          color: #97D700;
          font-size: 1.2rem;
          font-weight: bold; }
        header nav > ul > li.health-safety {
          flex-basis: auto; }
          @media screen and (min-width: 768px) {
            header nav > ul > li.health-safety {
              flex-basis: 100%; } }
          @media screen and (min-width: 992px) {
            header nav > ul > li.health-safety {
              flex-basis: 50%;
              max-width: 50%; } }
          header nav > ul > li.health-safety span {
            color: #FFFFFF; }
          header nav > ul > li.health-safety p {
            font-size: 0.9rem; }
            @media screen and (min-width: 768px) {
              header nav > ul > li.health-safety p {
                font-size: 1rem; } }
        header nav > ul > li ul {
          display: block;
          padding: 0;
          margin: 0; }
          @media screen and (min-width: 768px) {
            header nav > ul > li ul {
              margin-top: 1rem; } }
          header nav > ul > li ul li {
            display: block;
            margin: 0 0 0.25rem 0;
            padding: 0; }
            @media screen and (min-width: 768px) {
              header nav > ul > li ul li {
                margin: 0 0 1rem 0;
                line-height: 1.5; } }
        header nav > ul > li a.nav-link {
          text-decoration: none;
          padding-bottom: 2px;
          color: #FFFFFF;
          display: inline-block; }
          header nav > ul > li a.nav-link:after {
            transition: all 0.3s ease;
            content: '';
            display: block;
            border-bottom: 2px solid #97D700;
            width: 0; }
          header nav > ul > li a.nav-link:hover:after, header nav > ul > li a.nav-link:active:after, header nav > ul > li a.nav-link:focus:after, header nav > ul > li a.nav-link.active:after {
            width: 100%; }
          header nav > ul > li a.nav-link.focus-visible {
            outline: 1px solid #97D700; }

footer,
.footer {
  background-color: #282D34;
  margin: 0 auto;
  text-align: center;
  font-size: 0.875rem; }
  @media screen and (min-width: 768px) {
    footer,
    .footer {
      margin: 0;
      text-align: left; } }
  footer .footer-col,
  .footer .footer-col {
    display: block;
    text-align: center; }
    @media screen and (min-width: 768px) {
      footer .footer-col,
      .footer .footer-col {
        text-align: left; } }
    footer .footer-col .engage-logo,
    .footer .footer-col .engage-logo {
      max-width: 40%;
      margin: 0 auto 1rem auto; }
      @media screen and (min-width: 768px) {
        footer .footer-col .engage-logo,
        .footer .footer-col .engage-logo {
          max-width: 100%;
          margin-bottom: 1.5rem; } }
      footer .footer-col .engage-logo img, footer .footer-col .engage-logo svg,
      .footer .footer-col .engage-logo img,
      .footer .footer-col .engage-logo svg {
        max-width: 100%;
        width: auto;
        height: auto;
        max-height: 20px; }
        @media screen and (min-width: 768px) {
          footer .footer-col .engage-logo img, footer .footer-col .engage-logo svg,
          .footer .footer-col .engage-logo img,
          .footer .footer-col .engage-logo svg {
            max-height: 30px; } }
    footer .footer-col p,
    .footer .footer-col p {
      font-size: 0.9rem; }
      @media screen and (min-width: 768px) {
        footer .footer-col p,
        .footer .footer-col p {
          font-size: initial; } }
  footer ul#ns-footer-menu,
  .footer ul#ns-footer-menu {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
    margin-top: 1.5rem; }
    footer ul#ns-footer-menu li,
    .footer ul#ns-footer-menu li {
      display: block;
      line-height: 1.5rem;
      font-size: 12px; }
      @media screen and (min-width: 576px) {
        footer ul#ns-footer-menu li,
        .footer ul#ns-footer-menu li {
          display: inline-block; } }
      footer ul#ns-footer-menu li:not(:first-child),
      .footer ul#ns-footer-menu li:not(:first-child) {
        margin: 0 0.25rem; }
      @media screen and (min-width: 768px) {
        footer ul#ns-footer-menu li:not(:first-child):before,
        .footer ul#ns-footer-menu li:not(:first-child):before {
          content: "|";
          display: inline-block;
          margin-right: 0.5rem; } }
      footer ul#ns-footer-menu li div,
      .footer ul#ns-footer-menu li div {
        display: inline; }
  footer ul#social,
  .footer ul#social {
    list-style: none;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
    padding: 0.3rem 0.5rem; }
    footer ul#social li,
    .footer ul#social li {
      list-style-type: none;
      padding: 0;
      display: inline-block;
      margin: 0 0.5rem; }
      footer ul#social li a,
      .footer ul#social li a {
        text-decoration: none;
        display: block;
        line-height: 1; }
        footer ul#social li a svg,
        .footer ul#social li a svg {
          vertical-align: middle;
          transition: all 0.3s ease-in-out;
          width: 1.1rem;
          height: auto; }
          @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
            footer ul#social li a svg,
            .footer ul#social li a svg {
              height: 1.1rem; } }
          @media screen and (min-width: 768px) {
            footer ul#social li a svg,
            .footer ul#social li a svg {
              width: 1.3rem; } }
  @media screen and (min-width: 768px) and (-ms-high-contrast: active), screen and (min-width: 768px) and (-ms-high-contrast: none) {
    footer ul#social li a svg,
    .footer ul#social li a svg {
      height: 1.3rem; } }
        footer ul#social li a:hover svg, footer ul#social li a:focus svg, footer ul#social li a.focus-visible svg,
        .footer ul#social li a:hover svg,
        .footer ul#social li a:focus svg,
        .footer ul#social li a.focus-visible svg {
          transition: all 0.3s ease-in-out;
          color: #97D700; }
    @media screen and (min-width: 992px) {
      footer ul#social,
      .footer ul#social {
        display: block;
        position: fixed;
        bottom: 0;
        right: calc(10% - 2.5rem);
        margin: 0;
        margin-left: auto;
        z-index: 15;
        border-radius: 10px 10px 0 0;
        background-color: rgba(18, 6, 52, 0.4); } }
  @media screen and (min-width: 992px) and (-ms-high-contrast: active), screen and (min-width: 992px) and (-ms-high-contrast: none) {
    footer ul#social,
    .footer ul#social {
      position: fixed;
      bottom: 0px; } }
  footer a:hover, footer a:focus, footer a:active,
  .footer a:hover,
  .footer a:focus,
  .footer a:active {
    color: #97D700;
    text-decoration: underline; }
  footer a.logo,
  .footer a.logo {
    display: inline-block; }
    footer a.logo.focus-visible,
    .footer a.logo.focus-visible {
      outline: 1px solid #97D700; }

html {
  color: #FFFFFF;
  position: relative;
  background-color: #000000; }

body {
  color: #FFFFFF;
  position: relative;
  background-color: #000000; }
  body.modal-open {
    touch-action: none;
    overflow: hidden; }
  body .node__content > div {
    position: relative; }
  body a {
    color: #FFFFFF;
    text-decoration: underline; }
    @media screen and (prefers-reduced-motion: no-preference) {
      body a {
        transition: all 0.3s ease-in-out; } }
    body a:hover, body a:focus, body a:active {
      color: #97D700; }
      @media screen and (prefers-reduced-motion: no-preference) {
        body a:hover, body a:focus, body a:active {
          transition: all 0.3s ease-in; } }
  body a.focus-visible {
    outline-width: 1px;
    outline-color: #97D700;
    outline-style: solid;
    color: #97D700; }
  body .js-focus-visible :focus:not(.focus-visible) {
    outline: none; }
  body main.engage-main {
    position: relative;
    overflow: hidden; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      body main.engage-main {
        padding-top: 76px; } }
    @media screen and (min-width: 992px) {
      body main.engage-main .content-wrapper {
        padding: 0 2rem; } }

@media screen and (min-width: 992px) and (-ms-high-contrast: active), screen and (min-width: 992px) and (-ms-high-contrast: none) {
  body main.engage-main {
    padding-top: 87px; } }
    body main.engage-main section {
      position: relative; }
      body main.engage-main section img,
      body main.engage-main section svg {
        max-width: 100%;
        margin: 0 auto;
        height: auto; }
      body main.engage-main section a:hover, body main.engage-main section a:focus, body main.engage-main section a:focus-visible {
        color: #97D700;
        text-decoration-color: #97D700; }
      body main.engage-main section:last-of-type .container {
        margin-bottom: 0; }
      body main.engage-main section#intro {
        position: relative; }
        @media screen and (min-width: 992px) {
          body main.engage-main section#intro {
            padding-bottom: 4rem; } }
        body main.engage-main section#intro .button-wrapper {
          margin: 2rem 0; }
          @media screen and (min-width: 768px) {
            body main.engage-main section#intro .button-wrapper {
              display: flex;
              flex-wrap: nowrap;
              justify-content: space-between; }
              body main.engage-main section#intro .button-wrapper > div {
                flex: 1 0 100%; }
                body main.engage-main section#intro .button-wrapper > div#pauseButton {
                  align-self: flex-end; } }

.display--block {
  display: block; }

.display--inline {
  display: inline; }

.display--inline-block {
  display: inline-block; }

.display--desktop, .display--tablet {
  display: none; }
  @media screen and (min-width: 768px) {
    .display--desktop, .display--tablet {
      display: block; } }

.display--mobile {
  display: block; }
  @media screen and (min-width: 576px) {
    .display--mobile {
      display: none; } }
  .display--mobile-large {
    display: none; }
    @media screen and (min-width: 576px) {
      .display--mobile-large {
        display: block; } }
    .display--mobile-large--only {
      display: block; }
      @media screen and (min-width: 768px) {
        .display--mobile-large--only {
          display: none; } }

.bkg--img {
  position: relative;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  overflow: hidden; }
  .bkg--img:after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #000000;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    opacity: 0.5; }
  .bkg--img--fixed {
    background-position: center center;
    background-attachment: fixed; }
  .bkg--img--no-gradient:after {
    display: none; }
  .bkg--img--gradient:after {
    background: linear-gradient(to top, black 20%, rgba(0, 0, 0, 0.2) 80%); }
  .bkg--img--gradient--to-right:after {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%); }
  .bkg--img--video:after {
    content: '';
    width: 100%;
    height: 100%;
    background: #000000;
    background: linear-gradient(0deg, #000a22 120px, rgba(0, 0, 0, 0) 50%);
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    opacity: 1; }
  .bkg--img > .container {
    z-index: 1; }
    .bkg--img > .container--fixed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      max-width: 100%; }

.bkg--grey {
  background-color: #282D34;
  color: #FFFFFF; }

.bkg--black {
  background-color: #000000;
  color: #FFFFFF; }

.image-carousel {
  margin-bottom: 1rem; }
  .image-carousel .slick-prev, .image-carousel .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    background: transparent;
    z-index: 1; }
    .image-carousel .slick-prev:before, .image-carousel .slick-next:before {
      opacity: .75; }
    .image-carousel .slick-prev:hover:before, .image-carousel .slick-prev:focus:before, .image-carousel .slick-prev.focus-visible:before, .image-carousel .slick-next:hover:before, .image-carousel .slick-next:focus:before, .image-carousel .slick-next.focus-visible:before {
      opacity: 1; }
  .image-carousel .slick-prev {
    left: 5%; }
    .image-carousel .slick-prev:before {
      content: url('data:image/svg+xml;utf8,<svg aria-hidden="true" focusable="false" data-prefix="fal" data-icon="chevron-left" class="svg-inline--fa fa-chevron-left fa-w-8" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="%23ffffff" d="M238.475 475.535l7.071-7.07c4.686-4.686 4.686-12.284 0-16.971L50.053 256 245.546 60.506c4.686-4.686 4.686-12.284 0-16.971l-7.071-7.07c-4.686-4.686-12.284-4.686-16.97 0L10.454 247.515c-4.686 4.686-4.686 12.284 0 16.971l211.051 211.05c4.686 4.686 12.284 4.686 16.97-.001z"></path></svg>'); }
  .image-carousel .slick-next {
    right: 5%; }
    .image-carousel .slick-next:before {
      content: url('data:image/svg+xml;utf8,<svg aria-hidden="true" focusable="false" data-prefix="fal" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right fa-w-8" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="%23ffffff" d="M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z"></path></svg>'); }
  .image-carousel .slick-dots {
    position: absolute;
    bottom: 25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center; }
    .image-carousel .slick-dots li {
      position: relative;
      display: inline-block;
      width: 10px;
      height: 10px;
      margin: 0 8px;
      padding: 0;
      cursor: pointer; }
      .image-carousel .slick-dots li button {
        font-size: 0;
        line-height: 0;
        display: block;
        width: 10px;
        height: 10px;
        padding: 6px;
        cursor: pointer;
        color: transparent;
        border: 0;
        border-radius: 25px;
        outline: none;
        background: rgba(255, 255, 255, 0.75); }
      .image-carousel .slick-dots li.slick-active button {
        background: #FFFFFF; }

/* early bird registration */
.early-bird.bkg--img {
  background-color: #000000;
  background-position: 0 30%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Site_Footer_New.webp"); }
  .early-bird.bkg--img:after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) -20%, rgba(0, 0, 0, 0.9) 90%) !important;
    opacity: 0.65; }

/* main page */
.front-page.bkg--img {
  background-color: #000000;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Homepage-Header.webp"); }
  .front-page.bkg--img:after {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%); }

.front-page--highlights {
  background-color: #000000;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Homepage-Highlights.webp"); }

.front-page .calendar-icon svg {
  width: 18px;
  height: auto;
  margin-right: 1rem; }
  @media screen and (min-width: 992px) {
    .front-page .calendar-icon svg {
      width: 25px; } }

.front-page--speakers .headshot {
  border: 8px solid #97D700;
  border-radius: 100rem; }

.front-page--speakers button:hover:after, .front-page--speakers button:focus:after {
  transform: rotate(90deg);
  top: 1px; }

.front-page--speakers button:hover + .session-details, .front-page--speakers button:focus + .session-details {
  display: block;
  opacity: 1; }

.front-page--speakers .session-details {
  display: none;
  visibility: hidden;
  opacity: 0;
  animation: 0.4s fadeIn;
  animation-fill-mode: forwards; }
  .front-page--speakers .session-details strong {
    display: block; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    visibility: visible;
    opacity: 1; } }

.vidyard-player-container .vidyard-lightbox-thumbnail .play-button {
  background-color: #FFFFFF !important;
  opacity: 0.7 !important; }
  .vidyard-player-container .vidyard-lightbox-thumbnail .play-button .arrow {
    border-left-color: #000000 !important; }

.vidyard-player-container .vidyard-lightbox-thumbnail:hover .play-button, .vidyard-player-container .vidyard-lightbox-thumbnail:focus .play-button, .vidyard-player-container .vidyard-lightbox-thumbnail.focus-visible .play-button {
  opacity: 1 !important; }

/** agenda **/
#agenda--intro {
  background-color: #000000;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Header-Agenda.webp"); }
  @media screen and (min-width: 768px) {
    #agenda--intro {
      padding-bottom: 3rem; } }

#agenda--main .ns-row > div {
  padding: 0;
  margin: 1rem 0; }
  #agenda--main .ns-row > div:nth-child(even) {
    padding-bottom: 2rem;
    border-bottom: 1px solid #FFFFFF; }
    #agenda--main .ns-row > div:nth-child(even):nth-last-child(-n+1) {
      padding-bottom: 0;
      border-bottom: none; }
  @media screen and (min-width: 768px) {
    #agenda--main .ns-row > div {
      padding-bottom: 3rem;
      border-bottom: 1px solid #FFFFFF; }
      #agenda--main .ns-row > div:nth-last-child(-n+2), #agenda--main .ns-row > div:nth-last-child(-n+1) {
        border-bottom: none; } }
  #agenda--main .ns-row > div h2 {
    line-height: 1;
    margin-bottom: 0; }

/** plan your trip **/
#plan--intro {
  background-color: #000000;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Header-Plan_your_trip.webp"); }
  @media screen and (min-width: 768px) {
    #plan--intro {
      padding-bottom: 1rem; } }

#plan--tabs {
  background-color: #282D34;
  margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    #plan--tabs {
      margin-bottom: 2rem; } }
  #plan--tabs ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly; }
    #plan--tabs ul li {
      flex: 1 0 50%;
      display: block;
      text-align: center;
      vertical-align: center;
      padding: 0; }
      #plan--tabs ul li:first-child {
        border-right: 1px solid #000000; }
      #plan--tabs ul li button {
        width: 100%;
        color: inherit;
        font: inherit;
        text-align: center;
        padding: 0.5rem 0 0;
        font-size: 1.1rem;
        font-weight: bold; }
        @media screen and (min-width: 768px) {
          #plan--tabs ul li button {
            font-size: 1.3rem; } }
        #plan--tabs ul li button span,
        #plan--tabs ul li button h2 {
          position: relative;
          display: inline;
          font-size: 1.1rem;
          line-height: 2;
          color: #FFFFFF;
          font-weight: 700;
          opacity: 0.4; }
          @media screen and (prefers-reduced-motion: no-preference) {
            #plan--tabs ul li button span,
            #plan--tabs ul li button h2 {
              transition: all 0.3s ease; } }
          #plan--tabs ul li button span:after,
          #plan--tabs ul li button h2:after {
            content: '';
            display: block;
            border-bottom: 4px solid #97D700;
            width: 0; }
            @media screen and (prefers-reduced-motion: no-preference) {
              #plan--tabs ul li button span:after,
              #plan--tabs ul li button h2:after {
                transition: all 0.3s ease; } }
        #plan--tabs ul li button.active span,
        #plan--tabs ul li button.active h2, #plan--tabs ul li button:hover span,
        #plan--tabs ul li button:hover h2, #plan--tabs ul li button:focus span,
        #plan--tabs ul li button:focus h2, #plan--tabs ul li button:active span,
        #plan--tabs ul li button:active h2 {
          opacity: 1; }
          #plan--tabs ul li button.active span:after,
          #plan--tabs ul li button.active h2:after, #plan--tabs ul li button:hover span:after,
          #plan--tabs ul li button:hover h2:after, #plan--tabs ul li button:focus span:after,
          #plan--tabs ul li button:focus h2:after, #plan--tabs ul li button:active span:after,
          #plan--tabs ul li button:active h2:after {
            width: 100%; }

#plan--main .plan-content-wrapper .content,
#plan--main .letters-content-wrapper .content {
  display: none; }
  #plan--main .plan-content-wrapper .content.active,
  #plan--main .letters-content-wrapper .content.active {
    display: block; }

#plan--main #location .register-button {
  margin: 1rem auto;
  text-align: center; }
  @media screen and (min-width: 992px) {
    #plan--main #location .register-button {
      margin: 0;
      text-align: left; } }

#plan--main #letters > .ns-row > div:last-child {
  display: none; }
  @media screen and (min-width: 992px) {
    #plan--main #letters > .ns-row > div:last-child {
      display: block; } }

#plan--main #letters .letters-downloads {
  display: block;
  text-align: center;
  margin: 1rem auto; }
  @media screen and (min-width: 992px) {
    #plan--main #letters .letters-downloads {
      display: none; } }

#plan--main .letters-tabs {
  display: none; }
  @media screen and (min-width: 992px) {
    #plan--main .letters-tabs {
      display: block; } }
  #plan--main .letters-tabs ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    #plan--main .letters-tabs ul li {
      display: block;
      padding: 0;
      margin: 0 0 0.5rem; }
      #plan--main .letters-tabs ul li button {
        width: 100%;
        text-align: left;
        padding: 0.5rem 0 0;
        font-size: 1.1rem;
        font-weight: bold;
        max-width: 250px; }
        @media screen and (min-width: 768px) {
          #plan--main .letters-tabs ul li button {
            font-size: 1.3rem; } }
        #plan--main .letters-tabs ul li button span,
        #plan--main .letters-tabs ul li button h4 {
          position: relative;
          display: inline;
          font-size: 1.1rem;
          color: #FFFFFF;
          font-weight: 700;
          opacity: 0.4; }
          @media screen and (prefers-reduced-motion: no-preference) {
            #plan--main .letters-tabs ul li button span,
            #plan--main .letters-tabs ul li button h4 {
              transition: all 0.3s ease; } }
          #plan--main .letters-tabs ul li button span:after,
          #plan--main .letters-tabs ul li button h4:after {
            content: '';
            display: block;
            border-bottom: 4px solid #97D700;
            width: 0; }
            @media screen and (prefers-reduced-motion: no-preference) {
              #plan--main .letters-tabs ul li button span:after,
              #plan--main .letters-tabs ul li button h4:after {
                transition: all 0.3s ease; } }
        #plan--main .letters-tabs ul li button.active span,
        #plan--main .letters-tabs ul li button.active h4, #plan--main .letters-tabs ul li button:hover span,
        #plan--main .letters-tabs ul li button:hover h4, #plan--main .letters-tabs ul li button:focus span,
        #plan--main .letters-tabs ul li button:focus h4, #plan--main .letters-tabs ul li button:active span,
        #plan--main .letters-tabs ul li button:active h4 {
          opacity: 1; }
          #plan--main .letters-tabs ul li button.active span:after,
          #plan--main .letters-tabs ul li button.active h4:after, #plan--main .letters-tabs ul li button:hover span:after,
          #plan--main .letters-tabs ul li button:hover h4:after, #plan--main .letters-tabs ul li button:focus span:after,
          #plan--main .letters-tabs ul li button:focus h4:after, #plan--main .letters-tabs ul li button:active span:after,
          #plan--main .letters-tabs ul li button:active h4:after {
            width: 100%; }

#plan--main .justification-letter p, #plan--main .justification-letter li {
  line-height: 1.4;
  font-size: 1rem; }

#plan--main .justification-letter table {
  border: 1px solid #FFFFFF;
  margin: 1rem 0;
  border-collapse: collapse; }
  #plan--main .justification-letter table th, #plan--main .justification-letter table td {
    border: 1px solid #FFFFFF;
    padding: 10px; }
    #plan--main .justification-letter table th.nowrap, #plan--main .justification-letter table td.nowrap {
      white-space: nowrap; }
    #plan--main .justification-letter table th.right, #plan--main .justification-letter table td.right {
      text-align: right; }

/** events **/
#events--intro {
  background-color: #000000;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Header-Events.webp"); }
  @media screen and (min-width: 768px) {
    #events--intro {
      padding-bottom: 3rem; } }

#events--main .feature {
  display: flex;
  flex-direction: column-reverse; }
  @media screen and (min-width: 768px) {
    #events--main .feature {
      flex-direction: row; }
      #events--main .feature .feature--image {
        width: 50%; }
      #events--main .feature.desktop-reverse {
        flex-direction: row-reverse; }
        #events--main .feature.desktop-reverse .feature--text {
          padding-left: 2rem; }
        #events--main .feature.desktop-reverse .feature--image {
          margin-right: 0; } }
  #events--main .feature .feature--text {
    padding: 1rem;
    position: relative;
    max-width: 100%; }
    #events--main .feature .feature--text .feature--text--headers {
      display: none; }
      @media screen and (min-width: 768px) {
        #events--main .feature .feature--text .feature--text--headers {
          display: block; } }
  #events--main .feature .feature--image {
    padding: 0;
    position: relative;
    max-width: 100%;
    height: 100%; }
    #events--main .feature .feature--image img {
      position: relative;
      z-index: 0; }
    #events--main .feature .feature--image .feature--text--headers {
      display: block;
      z-index: 1;
      position: absolute;
      bottom: 0;
      padding: 0 1rem; }
      @media screen and (min-width: 768px) {
        #events--main .feature .feature--image .feature--text--headers {
          display: none; } }
    #events--main .feature .feature--image:after {
      content: "";
      width: 100%;
      height: 100%;
      background: linear-gradient(to top, #000 40%, transparent 80%);
      position: absolute;
      bottom: 0;
      left: 0;
      opacity: .5; }
      @media screen and (min-width: 768px) {
        #events--main .feature .feature--image:after {
          display: none; } }

/** workshops **/
#bootcamps--intro {
  background-color: #000000;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Header-Hands-on_labs.webp"); }
  @media screen and (min-width: 768px) {
    #bootcamps--intro {
      padding-bottom: 3rem; } }

#bootcamps--main .ns-row > div {
  padding: 0; }

#bootcamps--main ul#tracks {
  margin: 0;
  padding: 0;
  display: none; }
  @media screen and (min-width: 768px) {
    #bootcamps--main ul#tracks {
      margin-right: 2rem;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between; } }
  @media screen and (min-width: 1140px) {
    #bootcamps--main ul#tracks {
      display: block; } }
  #bootcamps--main ul#tracks li {
    list-style-type: none;
    display: block;
    margin: 0 0 0.5rem 0;
    text-align: left; }
    #bootcamps--main ul#tracks li br {
      content: ' ';
      display: inline; }
      #bootcamps--main ul#tracks li br:after {
        content: ' '; }
      @media screen and (min-width: 768px) {
        #bootcamps--main ul#tracks li br {
          display: block;
          content: none; }
          #bootcamps--main ul#tracks li br:after {
            content: none; } }
    @media screen and (min-width: 768px) {
      #bootcamps--main ul#tracks li {
        text-align: center;
        display: inline-block; } }
    @media screen and (min-width: 1140px) {
      #bootcamps--main ul#tracks li {
        display: block;
        margin: 2rem 0;
        text-align: left; }
        #bootcamps--main ul#tracks li:first-child {
          margin-top: 0; }
        #bootcamps--main ul#tracks li:last-child {
          margin-bottom: 0; } }
    #bootcamps--main ul#tracks li button {
      text-align: left;
      padding: 0 0 4px 0;
      font-size: 1.1rem; }
      @media screen and (min-width: 768px) {
        #bootcamps--main ul#tracks li button {
          font-size: 1.3rem;
          line-height: 1.5;
          max-width: 300px; } }
      #bootcamps--main ul#tracks li button span {
        position: relative;
        display: inline;
        color: #FFFFFF;
        font-weight: 700;
        opacity: 0.4; }
        @media screen and (prefers-reduced-motion: no-preference) {
          #bootcamps--main ul#tracks li button span {
            transition: all 0.3s ease; } }
        #bootcamps--main ul#tracks li button span:after {
          content: '';
          display: block;
          border-bottom: 4px solid #97D700;
          width: 0; }
          @media screen and (prefers-reduced-motion: no-preference) {
            #bootcamps--main ul#tracks li button span:after {
              transition: all 0.3s ease; } }
      #bootcamps--main ul#tracks li button.active span, #bootcamps--main ul#tracks li button:hover span, #bootcamps--main ul#tracks li button:focus span, #bootcamps--main ul#tracks li button:active span {
        opacity: 1; }
        #bootcamps--main ul#tracks li button.active span:after, #bootcamps--main ul#tracks li button:hover span:after, #bootcamps--main ul#tracks li button:focus span:after, #bootcamps--main ul#tracks li button:active span:after {
          width: 100%; }

#bootcamps--main .content-wrapper .content {
  display: block;
  padding: 0.5rem 2.5rem;
  text-align: left;
  margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    #bootcamps--main .content-wrapper .content {
      border-left: 1px solid #FFFFFF;
      display: none;
      margin-bottom: 0; } }
  #bootcamps--main .content-wrapper .content .ns-row--t-s-only {
    display: flex;
    flex-direction: column;
    gap: 1rem; }
    @media screen and (min-width: 768px) {
      #bootcamps--main .content-wrapper .content .ns-row--t-s-only {
        flex-direction: row;
        gap: 0; } }
    #bootcamps--main .content-wrapper .content .ns-row--t-s-only .image-content {
      display: none;
      text-align: center; }
      #bootcamps--main .content-wrapper .content .ns-row--t-s-only .image-content img {
        width: 70vw;
        margin-inline: auto; }
      @media screen and (min-width: 768px) {
        #bootcamps--main .content-wrapper .content .ns-row--t-s-only .image-content {
          text-align: unset;
          position: relative;
          top: -2.875rem; } }
  #bootcamps--main .content-wrapper .content.active {
    display: block; }
    #bootcamps--main .content-wrapper .content.active ul,
    #bootcamps--main .content-wrapper .content.active div[class*="ns-col--"] {
      display: block; }
    #bootcamps--main .content-wrapper .content.active .ns-row--t-s-only {
      display: flex; }
    #bootcamps--main .content-wrapper .content.active h3 .icon:before {
      transform: rotate(180deg); }
  #bootcamps--main .content-wrapper .content ul,
  #bootcamps--main .content-wrapper .content div[class*="ns-col--"] {
    display: none;
    margin: 0;
    padding: 0; }
    #bootcamps--main .content-wrapper .content ul li,
    #bootcamps--main .content-wrapper .content div[class*="ns-col--"] li {
      list-style-type: disc;
      list-style-position: outside;
      margin-left: 1rem;
      margin-bottom: 1rem; }
      #bootcamps--main .content-wrapper .content ul li:last-child,
      #bootcamps--main .content-wrapper .content div[class*="ns-col--"] li:last-child {
        margin-bottom: 0; }
  #bootcamps--main .content-wrapper .content .accordion--item {
    margin-bottom: 1rem; }
    #bootcamps--main .content-wrapper .content .accordion--item:last-child {
      margin-bottom: 0; }
    #bootcamps--main .content-wrapper .content .accordion--item .q button {
      background: none;
      border: 0;
      padding: 0;
      text-align: left;
      color: #FFFFFF;
      position: relative;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap; }
      #bootcamps--main .content-wrapper .content .accordion--item .q button:focus {
        outline: none; }
      #bootcamps--main .content-wrapper .content .accordion--item .q button.focus-visible {
        outline: 1px solid #97D700; }
      #bootcamps--main .content-wrapper .content .accordion--item .q button .icon {
        display: inline-block;
        width: 16px;
        height: 16px; }
        #bootcamps--main .content-wrapper .content .accordion--item .q button .icon:before {
          content: '';
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          height: 2px;
          width: 14px;
          background-color: #97D700;
          transition: transform 0.3s ease;
          transform: rotate(90deg); }
        #bootcamps--main .content-wrapper .content .accordion--item .q button .icon:after {
          content: '';
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          height: 2px;
          width: 14px;
          background-color: #97D700;
          transition: transform 0.3s ease; }
      #bootcamps--main .content-wrapper .content .accordion--item .q button .text {
        margin-left: 1rem; }
      #bootcamps--main .content-wrapper .content .accordion--item .q button.active .icon:before {
        transform: rotate(180deg); }
    #bootcamps--main .content-wrapper .content .accordion--item .a {
      display: none;
      width: 100%; }
      #bootcamps--main .content-wrapper .content .accordion--item .a p {
        line-height: 1.5; }
      @media screen and (min-width: 768px) {
        #bootcamps--main .content-wrapper .content .accordion--item .a {
          margin-bottom: 3rem; } }
      #bootcamps--main .content-wrapper .content .accordion--item .a.active {
        display: block; }
  #bootcamps--main .content-wrapper .content p:last-child {
    margin-bottom: 0; }
  #bootcamps--main .content-wrapper .content h3 {
    position: relative;
    padding-right: 22px;
    cursor: pointer;
    display: flex;
    justify-content: space-between; }
    #bootcamps--main .content-wrapper .content h3.focus-visible {
      outline: 1px solid #97D700; }
    @media screen and (min-width: 768px) {
      #bootcamps--main .content-wrapper .content h3 {
        padding-left: 0;
        cursor: initial;
        display: block; } }
    #bootcamps--main .content-wrapper .content h3 .icon {
      display: inline-block;
      width: 16px;
      height: 16px;
      position: relative; }
      #bootcamps--main .content-wrapper .content h3 .icon:before {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        height: 2px;
        width: 14px;
        background-color: #97D700;
        transition: transform 0.3s ease;
        transform: rotate(90deg); }
      #bootcamps--main .content-wrapper .content h3 .icon:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        height: 2px;
        width: 14px;
        background-color: #97D700;
        transition: transform 0.3s ease; }
      @media screen and (min-width: 768px) {
        #bootcamps--main .content-wrapper .content h3 .icon {
          display: none; } }

/** FAQ **/
#faq--intro {
  background-color: #000000;
  background-position: 0% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/sites/default/files/shared/engage23/images/E23_Header-FAQ.webp"); }
  @media screen and (min-width: 768px) {
    #faq--intro {
      padding-bottom: 3rem; } }

#faq--main .accordion--item {
  margin-bottom: 1rem; }
  #faq--main .accordion--item:last-child {
    margin-bottom: 0; }
  #faq--main .accordion--item .q button {
    background: none;
    border: 0;
    padding: 0;
    text-align: left;
    color: #FFFFFF;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; }
    #faq--main .accordion--item .q button:focus {
      outline: none; }
    #faq--main .accordion--item .q button.focus-visible {
      outline: 1px solid #97D700; }
    #faq--main .accordion--item .q button .icon {
      display: inline-block;
      width: 16px;
      height: 16px; }
      #faq--main .accordion--item .q button .icon:before {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        height: 2px;
        width: 14px;
        background-color: #97D700;
        transition: transform 0.3s ease;
        transform: rotate(90deg); }
      #faq--main .accordion--item .q button .icon:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        height: 2px;
        width: 14px;
        background-color: #97D700;
        transition: transform 0.3s ease; }
    #faq--main .accordion--item .q button .text {
      margin-left: 1rem; }
    #faq--main .accordion--item .q button.active .icon:before {
      transform: rotate(180deg); }
  #faq--main .accordion--item .a {
    display: none;
    width: 100%; }
    #faq--main .accordion--item .a p {
      line-height: 1.5; }
    @media screen and (min-width: 768px) {
      #faq--main .accordion--item .a {
        margin-bottom: 3rem; } }
    #faq--main .accordion--item .a.active {
      display: block; }

/** mobile app **/
.display--qr-code {
  display: none; }
  @media screen and (min-width: 768px) {
    .display--qr-code {
      display: flex; }
      .display--qr-code p {
        font-size: 1rem;
        line-height: 1.4;
        max-width: 220px; } }
  .display--qr-code img {
    padding-right: 2rem; }

#mobileapp--main ol {
  margin: 0;
  padding: 0;
  list-style: inside;
  list-style-type: decimal; }
  #mobileapp--main ol li {
    margin-bottom: 3rem; }
    #mobileapp--main ol li p {
      display: inline; }

#mobileapp--main .image--engage-screenshot {
  margin: 1rem auto;
  text-align: center; }
  #mobileapp--main .image--engage-screenshot img {
    max-width: 80%; }
  @media screen and (min-width: 768px) {
    #mobileapp--main .image--engage-screenshot {
      text-align: left;
      margin: 2rem 0 0 0; }
      #mobileapp--main .image--engage-screenshot img {
        max-width: 100%; } }

.mktoForm {
  width: 100% !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 14px !important; }
  .mktoForm .mktoOffset, .mktoForm .mktoGutter, .mktoForm .mktoClear {
    display: none !important; }
  .mktoForm .mktoLabel,
  .mktoForm .mktoField,
  .mktoForm .mktoFieldWrap {
    float: none !important; }
  .mktoForm label,
  .mktoForm input,
  .mktoForm select,
  .mktoForm textarea {
    display: block; }
  .mktoForm label {
    font-size: 14px;
    font-weight: bold;
    color: #FFFFFF;
    padding-bottom: 0.3rem;
    width: auto !important; }
    .mktoForm label[for="Comments__c"], .mktoForm label[for="emailOptIn"], .mktoForm label[for="nETSCOUTBlogSubscribed"], .mktoForm label[for="nETSCOUTBlogOptIn"], .mktoForm label[for="blogSubscription"], .mktoForm label[for="aSERTBlogSubscribed"] {
      display: inline-block;
      max-width: calc(100% - 40px); }
  .mktoForm select {
    width: 100% !important;
    -moz-appearance: menulist-button !important;
         appearance: menulist-button !important;
    -webkit-appearance: menulist-button !important; }
  .mktoForm textarea {
    width: 100% !important; }
  .mktoForm .mktoAsterix {
    position: relative;
    float: left !important;
    margin-right: 0.5rem;
    top: 3px;
    color: red; }
  .mktoForm .mktoLabel {
    padding: 0.5rem 0; }
  .mktoForm .mktoField {
    border: 1px solid #EFEFEF;
    border-radius: 2px;
    padding: 8px 6px; }
    .mktoForm .mktoField[type="email"], .mktoForm .mktoField[type="tel"], .mktoForm .mktoField[type="text"] {
      height: 40px;
      width: 100% !important; }
  .mktoForm .mktoLogicalField input + label#LblnETSCOUTBlogSubscribed,
  .mktoForm .mktoLogicalField input + label#LblemailOptIn,
  .mktoForm .mktoLogicalField input + label#LblaSERTBlogSubscribed {
    display: none; }
  .mktoForm .mktoLogicalField.mktoCheckboxList, .mktoForm .mktoLogicalField.mktoRadioList {
    width: auto !important;
    margin-right: 0.5rem;
    float: left;
    clear: none;
    position: relative;
    top: 2px; }
    .mktoForm .mktoLogicalField.mktoCheckboxList input, .mktoForm .mktoLogicalField.mktoCheckboxList label, .mktoForm .mktoLogicalField.mktoRadioList input, .mktoForm .mktoLogicalField.mktoRadioList label {
      display: block;
      float: left; }
    .mktoForm .mktoLogicalField.mktoCheckboxList input, .mktoForm .mktoLogicalField.mktoRadioList input {
      clear: both; }
    .mktoForm .mktoLogicalField.mktoCheckboxList label, .mktoForm .mktoLogicalField.mktoRadioList label {
      line-height: 1;
      min-height: unset;
      margin-top: 0; }
  .mktoForm .mktoButtonRow {
    width: 100% !important;
    margin: 0.5rem 0 0 0; }
    .mktoForm .mktoButtonRow .mktoButtonWrap {
      margin-left: 0 !important; }
  .mktoForm .mktoButtonWrap.mktoSimple .mktoButton,
  .mktoForm .mktoButton {
    height: auto !important;
    width: auto;
    background: #97D700 !important;
    color: #282D34 !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    text-shadow: none !important;
    border: 2px solid #97D700 !important;
    border-radius: 25rem !important;
    padding: 0.35rem 1.2rem !important;
    line-height: 1.3; }
    @media screen and (prefers-reduced-motion: no-preference) {
      .mktoForm .mktoButtonWrap.mktoSimple .mktoButton,
      .mktoForm .mktoButton {
        transition: all 0.3s ease-in-out; } }
    @media screen and (min-width: 768px) {
      .mktoForm .mktoButtonWrap.mktoSimple .mktoButton,
      .mktoForm .mktoButton {
        padding: 0.5rem 1.8rem !important; } }
    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover, .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus, .mktoForm .mktoButtonWrap.mktoSimple .mktoButton.focus-visible,
    .mktoForm .mktoButton:hover,
    .mktoForm .mktoButton:focus,
    .mktoForm .mktoButton.focus-visible {
      background: transparent !important;
      color: #97D700 !important;
      text-shadow: none !important; }
      @media screen and (prefers-reduced-motion: no-preference) {
        .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover, .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus, .mktoForm .mktoButtonWrap.mktoSimple .mktoButton.focus-visible,
        .mktoForm .mktoButton:hover,
        .mktoForm .mktoButton:focus,
        .mktoForm .mktoButton.focus-visible {
          transition: all 0.3s ease-in; } }
    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus, .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus-visible,
    .mktoForm .mktoButton:focus,
    .mktoForm .mktoButton:focus-visible {
      outline: 1px dotted #006068 !important;
      outline: 1px auto -webkit-focus-ring-color !important;
      transition: none; }
  .mktoForm .mktoErrorMsg {
    border: none !important;
    background-color: #006068 !important;
    background-image: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    padding: 10px !important; }
  .mktoForm .mktoErrorArrow {
    background-color: #006068 !important;
    border: #006068 !important; }
  .mktoForm .mktoHtmlText {
    width: 100% !important;
    color: #FFFFFF; }
    .mktoForm .mktoHtmlText a {
      color: #97D700;
      text-decoration: underline; }
      .mktoForm .mktoHtmlText a:hover, .mktoForm .mktoHtmlText a:focus, .mktoForm .mktoHtmlText a.focus-visible {
        color: #97D700; }
  .mktoForm .mktoFormRow {
    display: block;
    width: 100%; }
    .mktoForm .mktoFormRow .mktoFormCol {
      display: block;
      width: 100%; }
    @media screen and (min-width: 768px) {
      .mktoForm .mktoFormRow {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap; }
        .mktoForm .mktoFormRow .mktoFormCol {
          width: 50%;
          float: none;
          flex-grow: 1; }
          .mktoForm .mktoFormRow .mktoFormCol + .mktoFormCol {
            margin-left: 10px; } }

.mktoRadioList input[type=radio]:checked + label:before {
  display: none; }

.mktoMobileShow .mktoForm, .mktoForm * {
  padding: inherit; }

.early-bird-form input[type='email'] {
  background-color: #FFFFFF;
  border: 2px solid #FFFFFF;
  border-radius: 20px;
  padding: 0.5rem 1rem;
  min-width: 80%; }
  @media screen and (min-width: 576px) {
    .early-bird-form input[type='email'] {
      min-width: 350px; } }
  .early-bird-form input[type='email']::-moz-placeholder {
    font-weight: 300; }
  .early-bird-form input[type='email']::placeholder {
    font-weight: 300; }

.early-bird-form button.early-bird-button {
  background-color: #97D700;
  border: 2px solid #97D700;
  border-radius: 20px;
  color: #000000;
  font-weight: bold;
  padding: 0.5rem 2rem;
  display: block;
  margin: 1rem auto 0 auto; }
  @media screen and (min-width: 576px) {
    .early-bird-form button.early-bird-button {
      display: inline-block;
      margin: 0 0 0 -10%; } }
  @media screen and (prefers-reduced-motion: no-preference) {
    .early-bird-form button.early-bird-button {
      transition: all 0.3s ease-in-out; } }
  .early-bird-form button.early-bird-button:hover, .early-bird-form button.early-bird-button:focus, .early-bird-form button.early-bird-button.focus-visible {
    background-color: #000000;
    color: #97D700; }
    @media screen and (prefers-reduced-motion: no-preference) {
      .early-bird-form button.early-bird-button:hover, .early-bird-form button.early-bird-button:focus, .early-bird-form button.early-bird-button.focus-visible {
        transition: all 0.3s ease-in; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zYW5pdGl6ZS5zY3NzIiwic3R5bGVzLmNzcyIsIl9ncmlkLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfcGFkZGluZy5zY3NzIiwiX3R5cG9ncmFwaHkuc2NzcyIsIl9iYXNlLnNjc3MiLCJfY29sb3JzLnNjc3MiLCJfYnV0dG9ucy5zY3NzIiwiX2hlYWRlci5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwiX21haW4uc2NzcyIsIl9mb3Jtcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUFBO0FBRUE7K0VDQStFO0FERy9FOzs7RUNDRTtBRElGOzs7RUFHRSw0QkFBNEI7RUFBRSxNQUFBO0VBQzlCLHNCQUFzQjtFQUFFLE1BQUEsRUFBTzs7QUFHakM7OztFQ0NFO0FESUY7O0VBRUUsd0JBQXdCO0VBQUUsTUFBQTtFQUMxQix1QkFBdUI7RUFBRSxNQUFBLEVBQU87O0FBR2xDOzs7Ozs7OztFQ01FO0FESUY7RUFDRSxlQUFlO0VBQUUsTUFBQTtFQUNqQiwrS0FZOEM7RUFBRSxNQUFBO0VBRWhELGlCQUFpQjtFQUFFLE1BQUE7RUFDbkIsZ0JBQWdCO0VBQUUsTUFBQTtFQUNsQixjQUFXO0tBQVgsV0FBVztFQUFFLE1BQUE7RUFDYiwwQkFBMEI7RUFBRSxNQUFBO0VBQzVCLDhCQUE4QjtFQUFFLE1BQUE7RUFDaEMsc0JBQXNCO0VBQUUsTUFBQSxFQUFPOztBQUdqQzsrRUNSK0U7QURXL0U7O0VDUkU7QURZRjtFQUNFLFNBQVMsRUFBQTs7QUFHWDs7O0VDVEU7QURjRjtFQUNFLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFHbEI7K0VDYitFO0FEZ0IvRTs7O0VDWkU7QURpQkY7RUFDRSxTQUFTO0VBQUUsTUFBQTtFQUNYLGlCQUFpQjtFQUFFLE1BQUEsRUFBTzs7QUFHNUI7O0VDYkU7QURpQkY7RUFDRSxjQUFjLEVBQUE7O0FBR2hCOztFQ2ZFO0FEbUJGOztFQUVFLGdCQUFnQixFQUFBOztBQUdsQjs7OztFQ2ZFO0FE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QjtFQUVJLHlCTHZNVztFS3dNWCx5Qkx4TVc7RUt5TVgsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixjQUFjLEVBQUE7RVRuTGhCO0lTNktGO01BUU0sZ0JBQWdCLEVBQUEsRUFNbkI7RUFkSDtJQVlNLGdCQUFnQixFQUFBO0VBWnRCO0lBWU0sZ0JBQWdCLEVBQUE7O0FBWnRCO0VBaUJJLHlCTDlNVztFSytNWCx5QkwvTVc7RUtnTlgsbUJBQW1CO0VBQ25CLGNMeE5XO0VLeU5YLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLHdCQUF3QixFQUFBO0VUck0xQjtJUzZLRjtNQTBCTSxxQkFBcUI7TUFDckIsa0JBQWtCLEVBQUEsRUFlckI7RUFiQztJQTdCSjtNQThCTSxnQ1Z0TXlDLEVBQUEsRVVrTjVDO0VBMUNIO0lBb0NNLHlCTHhPUztJS3lPVCxjTGxPUyxFQUFBO0lLbU9UO01BdENOO1FBdUNRLDRCVjlNeUMsRUFBQSxFVWdONUMiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBzYW5pdGl6ZS5jc3MgdjguMC4wIHwgQ0MwIExpY2Vuc2UgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgcmVwZWF0aW5nIGJhY2tncm91bmRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIGJvcmRlciBib3ggc2l6aW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGV4dCBkZWNvcmF0aW9uIGluaGVyaXRhbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBVc2UgdGhlIGRlZmF1bHQgY3Vyc29yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gVXNlIHRoZSBkZWZhdWx0IHVzZXIgaW50ZXJmYWNlIGZvbnQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiA0LiBVc2UgYSA0LXNwYWNlIHRhYiB3aWR0aCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDUuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqIDYuIEJyZWFrcyB3b3JkcyB0byBwcmV2ZW50IG92ZXJmbG93IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmh0bWwge1xuICBjdXJzb3I6IGRlZmF1bHQ7IC8qIDEgKi9cbiAgZm9udC1mYW1pbHk6XG4gICAgICAgICAgc3lzdGVtLXVpLFxuICAgICAgICAgICAgLyogbWFjT1MgMTAuMTEtMTAuMTIgKi8gLWFwcGxlLXN5c3RlbSxcbiAgICAgICAgICAgIC8qIFdpbmRvd3MgNisgKi8gU2Vnb2UgVUksXG4gICAgICAgICAgICAvKiBBbmRyb2lkIDQrICovIFJvYm90byxcbiAgICAgICAgICAgIC8qIFVidW50dSAxMC4xMCsgKi8gVWJ1bnR1LFxuICAgICAgICAgICAgLyogR25vbWUgMysgKi8gQ2FudGFyZWxsLFxuICAgICAgICAgICAgLyogS0RFIFBsYXNtYSA1KyAqLyBOb3RvIFNhbnMsXG4gICAgICAgICAgICAvKiBmYWxsYmFjayAqLyBzYW5zLXNlcmlmLFxuICAgICAgICAgICAgLyogbWFjT1MgZW1vamkgKi8gXCJBcHBsZSBDb2xvciBFbW9qaVwiLFxuICAgICAgICAgICAgLyogV2luZG93cyBlbW9qaSAqLyBcIlNlZ29lIFVJIEVtb2ppXCIsXG4gICAgICAgICAgICAvKiBXaW5kb3dzIGVtb2ppICovIFwiU2Vnb2UgVUkgU3ltYm9sXCIsXG4gICAgICAgICAgICAvKiBMaW51eCBlbW9qaSAqLyBcIk5vdG8gQ29sb3IgRW1vamlcIjsgLyogMiAqL1xuXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAzICovXG4gIC1tb3otdGFiLXNpemU6IDQ7IC8qIDQgKi9cbiAgdGFiLXNpemU6IDQ7IC8qIDQgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDUgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiA1ICovXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IC8qIDYgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBsaXN0IHN0eWxlIG9uIG5hdmlnYXRpb24gbGlzdHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxubmF2IG9sLFxubmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBVc2UgdGhlIGRlZmF1bHQgbW9ub3NwYWNlIHVzZXIgaW50ZXJmYWNlIGZvbnRcbiAqICAgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OlxuICAgICAgICAgIC8qIG1hY09TIDEwLjEwKyAqLyBNZW5sbyxcbiAgICAvKiBXaW5kb3dzIDYrICovIENvbnNvbGFzLFxuICAgIC8qIEFuZHJvaWQgNCsgKi8gUm9ib3RvIE1vbm8sXG4gICAgLyogVWJ1bnR1IDEwLjEwKyAqLyBVYnVudHUgTW9ub3NwYWNlLFxuICAgIC8qIEtERSBQbGFzbWEgNSsgKi8gTm90byBNb25vLFxuICAgIC8qIEtERSBQbGFzbWEgNCsgKi8gT3h5Z2VuIE1vbm8sXG4gICAgLyogTGludXgvT3Blbk9mZmljZSBmYWxsYmFjayAqLyBMaWJlcmF0aW9uIE1vbm8sXG4gICAgLyogZmFsbGJhY2sgKi8gbW9ub3NwYWNlOyAvKiAxICovXG5cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBVc2UgdGhlIGRlZmF1bHQgbW9ub3NwYWNlIHVzZXIgaW50ZXJmYWNlIGZvbnRcbiAqICAgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6XG4gICAgICAgICAgLyogbWFjT1MgMTAuMTArICovIE1lbmxvLFxuICAgIC8qIFdpbmRvd3MgNisgKi8gQ29uc29sYXMsXG4gICAgLyogQW5kcm9pZCA0KyAqLyBSb2JvdG8gTW9ubyxcbiAgICAvKiBVYnVudHUgMTAuMTArICovIFVidW50dSBNb25vc3BhY2UsXG4gICAgLyogS0RFIFBsYXNtYSA1KyAqLyBOb3RvIE1vbm8sXG4gICAgLyogS0RFIFBsYXNtYSA0KyAqLyBPeHlnZW4gTW9ubyxcbiAgICAvKiBMaW51eC9PcGVuT2ZmaWNlIGZhbGxiYWNrICovIExpYmVyYXRpb24gTW9ubyxcbiAgICAvKiBmYWxsYmFjayAqLyBtb25vc3BhY2U7IC8qIDEgKi9cblxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIHRleHQgc2hhZG93IG9uIHRleHQgc2VsZWN0aW9ucyBpbiBGaXJlZm94IDYxLSAob3BpbmlvbmF0ZWQpLlxuICogMS4gUmVzdG9yZSB0aGUgY29sb3JpbmcgdW5kb25lIGJ5IGRlZmluaW5nIHRoZSB0ZXh0IHNoYWRvd1xuICogICAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7IC8qIDEgKi9cbiAgY29sb3I6ICMwMDA7IC8qIDEgKi9cbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYzsgLyogMSAqL1xuICBjb2xvcjogIzAwMDsgLyogMSAqL1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93ZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbnN2Zzpub3QoW2ZpbGxdKSB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFRhYnVsYXIgZGF0YVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb2xsYXBzZSBib3JkZXIgc3BhY2luZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi8qIEZvcm1zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEluaGVyaXQgc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8qIDIgKi9cbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKi9cblxubGVnZW5kIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqIDIuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKiAzLiBDaGFuZ2UgdGhlIHJlc2l6ZSBkaXJlY3Rpb24gb24gdGV4dGFyZWFzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiBhdXRvOyAvKiAyICovXG4gIHJlc2l6ZTogdmVydGljYWw7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBvZiBmb2N1cyBvdXRsaW5lcyBpbiBGaXJlZm94LlxuICovXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBvdXRsaW5lIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSBpbiBGaXJlZm94LlxuICovXG5cbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyogSW50ZXJhY3RpdmVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3Qgc3R5bGVzIGluIEVkZ2UsIElFLCBhbmQgU2FmYXJpLlxuICovXG5cbmRpYWxvZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IHNvbGlkO1xuICBjb2xvcjogYmxhY2s7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7XG4gIGhlaWdodDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG5kaWFsb2c6bm90KFtvcGVuXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBVc2VyIGludGVyYWN0aW9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IG9uIGNsaWNrYWJsZSBlbGVtZW50c1xuICAgICAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogMSAqL1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFjY2Vzc2liaWxpdHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gYnVzeSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5bYXJpYS1idXN5PVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi8qXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBjb250cm9sIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZVxuICogaW5vcGVyYWJsZSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0sXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50c1xuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl1baGlkZGVuXTpub3QoOmZvY3VzKSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn0iLCIvKiEgc2FuaXRpemUuY3NzIHY4LjAuMCB8IENDMCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgcmVwZWF0aW5nIGJhY2tncm91bmRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIGJvcmRlciBib3ggc2l6aW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBBZGQgdGV4dCBkZWNvcmF0aW9uIGluaGVyaXRhbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBVc2UgdGhlIGRlZmF1bHQgY3Vyc29yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gVXNlIHRoZSBkZWZhdWx0IHVzZXIgaW50ZXJmYWNlIGZvbnQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiA0LiBVc2UgYSA0LXNwYWNlIHRhYiB3aWR0aCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDUuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqIDYuIEJyZWFrcyB3b3JkcyB0byBwcmV2ZW50IG92ZXJmbG93IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5odG1sIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBOb3RvIFNhbnMsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLyogMiAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMyAqL1xuICAtbW96LXRhYi1zaXplOiA0O1xuICAvKiA0ICovXG4gIHRhYi1zaXplOiA0O1xuICAvKiA0ICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiA1ICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogNSAqL1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAvKiA2ICovIH1cblxuLyogU2VjdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3Qgc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGxpc3Qgc3R5bGUgb24gbmF2aWdhdGlvbiBsaXN0cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xubmF2IG9sLFxubmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFVzZSB0aGUgZGVmYXVsdCBtb25vc3BhY2UgdXNlciBpbnRlcmZhY2UgZm9udFxuICogICAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBNZW5sbywgQ29uc29sYXMsIFJvYm90byBNb25vLCBVYnVudHUgTW9ub3NwYWNlLCBOb3RvIE1vbm8sIE94eWdlbiBNb25vLCBMaWJlcmF0aW9uIE1vbm8sIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIFVzZSB0aGUgZGVmYXVsdCBtb25vc3BhY2UgdXNlciBpbnRlcmZhY2UgZm9udFxuICogICAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IE1lbmxvLCBDb25zb2xhcywgUm9ib3RvIE1vbm8sIFVidW50dSBNb25vc3BhY2UsIE5vdG8gTW9ubywgT3h5Z2VuIE1vbm8sIExpYmVyYXRpb24gTW9ubywgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSB0ZXh0IHNoYWRvdyBvbiB0ZXh0IHNlbGVjdGlvbnMgaW4gRmlyZWZveCA2MS0gKG9waW5pb25hdGVkKS5cbiAqIDEuIFJlc3RvcmUgdGhlIGNvbG9yaW5nIHVuZG9uZSBieSBkZWZpbmluZyB0aGUgdGV4dCBzaGFkb3dcbiAqICAgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYztcbiAgLyogMSAqL1xuICBjb2xvcjogIzAwMDtcbiAgLyogMSAqL1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7XG4gIC8qIDEgKi9cbiAgY29sb3I6ICMwMDA7XG4gIC8qIDEgKi9cbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDaGFuZ2UgdGhlIGFsaWdubWVudCBvbiBtZWRpYSBlbGVtZW50cyBpbiBhbGwgYnJvd2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAqIENoYW5nZSB0aGUgZmlsbCBjb2xvciB0byBtYXRjaCB0aGUgdGV4dCBjb2xvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuc3ZnOm5vdChbZmlsbF0pIHtcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBUYWJ1bGFyIGRhdGFcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvbGxhcHNlIGJvcmRlciBzcGFjaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLyogRm9ybXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEluaGVyaXQgc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiAyICovXG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIGJ1dHRvbjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKi9cbmxlZ2VuZCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqIDIuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKiAzLiBDaGFuZ2UgdGhlIHJlc2l6ZSBkaXJlY3Rpb24gb24gdGV4dGFyZWFzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMiAqL1xuICByZXNpemU6IHZlcnRpY2FsO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBvZiBmb2N1cyBvdXRsaW5lcyBpbiBGaXJlZm94LlxuICovXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBvdXRsaW5lIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSBpbiBGaXJlZm94LlxuICovXG46LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyogSW50ZXJhY3RpdmVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IHN0eWxlcyBpbiBFZGdlLCBJRSwgYW5kIFNhZmFyaS5cbiAqL1xuZGlhbG9nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogc29saWQ7XG4gIGNvbG9yOiBibGFjaztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogLW1vei1maXQtY29udGVudDtcbiAgaGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cblxuZGlhbG9nOm5vdChbb3Blbl0pIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIFNjcmlwdGluZ1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogVXNlciBpbnRlcmFjdGlvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgdGhlIHRhcHBpbmcgZGVsYXkgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHRhcHBpbmcgZGVsYXkgb24gY2xpY2thYmxlIGVsZW1lbnRzXG4gICAgICBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLyogMSAqL1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQWNjZXNzaWJpbGl0eVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gYnVzeSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuW2FyaWEtYnVzeT1cInRydWVcIl0ge1xuICBjdXJzb3I6IHByb2dyZXNzOyB9XG5cbi8qXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBjb250cm9sIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5bYXJpYS1jb250cm9sc10ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZVxuICogaW5vcGVyYWJsZSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLFxuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50c1xuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblthcmlhLWhpZGRlbj1cImZhbHNlXCJdW2hpZGRlbl06bm90KDpmb2N1cykge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxNDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFyZW0gYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNvbnRhaW5lcjpiZWZvcmUsIC5jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA5MCU7IH0gfVxuICAuY29udGFpbmVyLS10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDk1JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29udGFpbmVyLS10ZXh0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuICAuY29udGFpbmVyLS1uaW5ldHkge1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhaW5lci0tbWVkaXVtIHtcbiAgICAgIG1heC13aWR0aDogNzIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXItLXNtYWxsIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH0gfVxuICAuY29udGFpbmVyLS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jb250YWluZXItLW5vLW1hcmdpbi1jZW50ZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnBhZGRpbmctLXRvcC0tbm9uZSB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5wYWRkaW5nLS10b3AtLXh4c21sIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tdG9wLS14eHNtbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9IH1cblxuLnBhZGRpbmctLXRvcC0teHNtbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tdG9wLS14c21sIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtOyB9IH1cblxuLnBhZGRpbmctLXRvcC0tc21sIHtcbiAgcGFkZGluZy10b3A6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLXRvcC0tc21sIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9IH1cblxuLnBhZGRpbmctLXRvcC0tbWQge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS10b3AtLW1kIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH0gfVxuXG4ucGFkZGluZy0tdG9wLS1sZyB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tdG9wLS1sZyB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG5cbi5wYWRkaW5nLS10b3AtLXhsZyB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLXRvcC0teGxnIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cblxuLnBhZGRpbmctLWJvdHRvbS0tbm9uZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5wYWRkaW5nLS1ib3R0b20tLXh4c21sIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tYm90dG9tLS14eHNtbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9IH1cblxuLnBhZGRpbmctLWJvdHRvbS0teHNtbCB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tYm90dG9tLS14c21sIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtOyB9IH1cblxuLnBhZGRpbmctLWJvdHRvbS0tc21sIHtcbiAgcGFkZGluZy1ib3R0b206IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWJvdHRvbS0tc21sIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cblxuLnBhZGRpbmctLWJvdHRvbS0tbWQge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS1ib3R0b20tLW1kIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH0gfVxuXG4ucGFkZGluZy0tYm90dG9tLS1sZyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tYm90dG9tLS1sZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5wYWRkaW5nLS1ib3R0b20tLXhsZyB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWJvdHRvbS0teGxnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cblxuLnBhZGRpbmctLWxlZnQtLW5vbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnBhZGRpbmctLWxlZnQtLXh4c21sIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWxlZnQtLXh4c21sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9IH1cblxuLnBhZGRpbmctLWxlZnQtLXhzbWwge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS1sZWZ0LS14c21sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfSB9XG5cbi5wYWRkaW5nLS1sZWZ0LS1zbWwge1xuICBwYWRkaW5nLWxlZnQ6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWxlZnQtLXNtbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG4ucGFkZGluZy0tbGVmdC0tbWQge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tbGVmdC0tbWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH0gfVxuXG4ucGFkZGluZy0tbGVmdC0tbGcge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS1sZWZ0LS1sZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH0gfVxuXG4ucGFkZGluZy0tbGVmdC0teGxnIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWxlZnQtLXhsZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH0gfVxuXG4ucGFkZGluZy0tcmlnaHQtLW5vbmUge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5wYWRkaW5nLS1yaWdodC0teHhzbWwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLXJpZ2h0LS14eHNtbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH0gfVxuXG4ucGFkZGluZy0tcmlnaHQtLXhzbWwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tcmlnaHQtLXhzbWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTsgfSB9XG5cbi5wYWRkaW5nLS1yaWdodC0tc21sIHtcbiAgcGFkZGluZy1yaWdodDogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tcmlnaHQtLXNtbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuLnBhZGRpbmctLXJpZ2h0LS1tZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tcmlnaHQtLW1kIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG5cbi5wYWRkaW5nLS1yaWdodC0tbGcge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tcmlnaHQtLWxnIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH0gfVxuXG4ucGFkZGluZy0tcmlnaHQtLXhsZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tcmlnaHQtLXhsZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cblxuLnBhZGRpbmctLXRvcC1ib3R0b20tLW5vbmUge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnBhZGRpbmctLXRvcC1ib3R0b20tLXh4c21sIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLXRvcC1ib3R0b20tLXh4c21sIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9IH1cblxuLnBhZGRpbmctLXRvcC1ib3R0b20tLXhzbWwge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLXRvcC1ib3R0b20tLXhzbWwge1xuICAgICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTsgfSB9XG5cbi5wYWRkaW5nLS10b3AtYm90dG9tLS1zbWwge1xuICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS10b3AtYm90dG9tLS1zbWwge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5wYWRkaW5nLS10b3AtYm90dG9tLS1tZCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS10b3AtYm90dG9tLS1tZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfSB9XG5cbi5wYWRkaW5nLS10b3AtYm90dG9tLS1sZyB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tdG9wLWJvdHRvbS0tbGcge1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5wYWRkaW5nLS10b3AtYm90dG9tLS14bGcge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tdG9wLWJvdHRvbS0teGxnIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuXG4ucGFkZGluZy0tdG9wLWJvdHRvbS0teHhsZyB7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS10b3AtYm90dG9tLS14eGxnIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07IH0gfVxuXG4ucGFkZGluZy0tbGVmdC1yaWdodC0tbm9uZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ucGFkZGluZy0tbGVmdC1yaWdodC0teHhzbWwge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tbGVmdC1yaWdodC0teHhzbWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH0gfVxuXG4ucGFkZGluZy0tbGVmdC1yaWdodC0teHNtbCB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tbGVmdC1yaWdodC0teHNtbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOyB9IH1cblxuLnBhZGRpbmctLWxlZnQtcmlnaHQtLXNtbCB7XG4gIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWxlZnQtcmlnaHQtLXNtbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuLnBhZGRpbmctLWxlZnQtcmlnaHQtLW1kIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWxlZnQtcmlnaHQtLW1kIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9IH1cblxuLnBhZGRpbmctLWxlZnQtcmlnaHQtLWxnIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS1sZWZ0LXJpZ2h0LS1sZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9IH1cblxuLnBhZGRpbmctLWxlZnQtcmlnaHQtLXhsZyB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS1sZWZ0LXJpZ2h0LS14bGcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG5cbi5wYWRkaW5nLS1hbGwtLW5vbmUge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctLWFsbC0teHhzbWwge1xuICBwYWRkaW5nOiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWFsbC0teHhzbWwge1xuICAgICAgcGFkZGluZzogMC41cmVtOyB9IH1cblxuLnBhZGRpbmctLWFsbC0teHNtbCB7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS1hbGwtLXhzbWwge1xuICAgICAgcGFkZGluZzogMC43NXJlbTsgfSB9XG5cbi5wYWRkaW5nLS1hbGwtLXNtbCB7XG4gIHBhZGRpbmc6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZGRpbmctLWFsbC0tc21sIHtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuXG4ucGFkZGluZy0tYWxsLS1tZCB7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tYWxsLS1tZCB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07IH0gfVxuXG4ucGFkZGluZy0tYWxsLS1sZyB7XG4gIHBhZGRpbmc6IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWRkaW5nLS1hbGwtLWxnIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuXG4ucGFkZGluZy0tYWxsLS14bGcge1xuICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFkZGluZy0tYWxsLS14bGcge1xuICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG5cbi5tYXJnaW4tLXRvcC0tbm9uZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLm1hcmdpbi0tdG9wLS14eHNtbCB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS10b3AtLXh4c21sIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfSB9XG5cbi5tYXJnaW4tLXRvcC0teHNtbCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLXRvcC0teHNtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9IH1cblxuLm1hcmdpbi0tdG9wLS1zbWwge1xuICBtYXJnaW4tdG9wOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLXRvcC0tc21sIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuXG4ubWFyZ2luLS10b3AtLW1kLCAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgYS5ucy1idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tdG9wLS1tZCwgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IGEubnMtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG5cbi5tYXJnaW4tLXRvcC0tbGcge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS10b3AtLWxnIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuXG4ubWFyZ2luLS10b3AtLXhsZyB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS10b3AtLXhsZyB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cblxuLm1hcmdpbi0tYm90dG9tLS1ub25lIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubWFyZ2luLS1ib3R0b20tLXh4c21sIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLWJvdHRvbS0teHhzbWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cblxuLm1hcmdpbi0tYm90dG9tLS14c21sIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYm90dG9tLS14c21sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH0gfVxuXG4ubWFyZ2luLS1ib3R0b20tLXNtbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYm90dG9tLS1zbWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5tYXJnaW4tLWJvdHRvbS0tbWQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYm90dG9tLS1tZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuXG4ubWFyZ2luLS1ib3R0b20tLWxnLCAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmFjY29yZGlvbi0taXRlbSAuYSwgI2ZhcS0tbWFpbiAuYWNjb3JkaW9uLS1pdGVtIC5hIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYm90dG9tLS1sZywgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IC5hY2NvcmRpb24tLWl0ZW0gLmEsICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAuYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuLm1hcmdpbi0tYm90dG9tLS14bGcge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYm90dG9tLS14bGcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG5cbi5tYXJnaW4tLWxlZnQtLW5vbmUge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ubWFyZ2luLS1sZWZ0LS14eHNtbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tbGVmdC0teHhzbWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfSB9XG5cbi5tYXJnaW4tLWxlZnQtLXhzbWwge1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tbGVmdC0teHNtbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfSB9XG5cbi5tYXJnaW4tLWxlZnQtLXNtbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLWxlZnQtLXNtbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG5cbi5tYXJnaW4tLWxlZnQtLW1kIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS1sZWZ0LS1tZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41cmVtOyB9IH1cblxuLm1hcmdpbi0tbGVmdC0tbGcsICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYWNjb3JkaW9uLS1pdGVtIC5hLCAjZmFxLS1tYWluIC5hY2NvcmRpb24tLWl0ZW0gLmEge1xuICBtYXJnaW4tbGVmdDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tbGVmdC0tbGcsICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYWNjb3JkaW9uLS1pdGVtIC5hLCAjZmFxLS1tYWluIC5hY2NvcmRpb24tLWl0ZW0gLmEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07IH0gfVxuXG4ubWFyZ2luLS1sZWZ0LS14bGcge1xuICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLWxlZnQtLXhsZyB7XG4gICAgICBtYXJnaW4tbGVmdDogM3JlbTsgfSB9XG5cbi5tYXJnaW4tLXJpZ2h0LS1ub25lIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5tYXJnaW4tLXJpZ2h0LS14eHNtbCB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLXJpZ2h0LS14eHNtbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfSB9XG5cbi5tYXJnaW4tLXJpZ2h0LS14c21sIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS1yaWdodC0teHNtbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH0gfVxuXG4ubWFyZ2luLS1yaWdodC0tc21sIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLXJpZ2h0LS1zbWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cblxuLm1hcmdpbi0tcmlnaHQtLW1kIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tcmlnaHQtLW1kIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtOyB9IH1cblxuLm1hcmdpbi0tcmlnaHQtLWxnIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS1yaWdodC0tbGcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9IH1cblxuLm1hcmdpbi0tcmlnaHQtLXhsZyB7XG4gIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLXJpZ2h0LS14bGcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtOyB9IH1cblxuLm1hcmdpbi0tdG9wLWJvdHRvbS0tbm9uZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1hcmdpbi0tdG9wLWJvdHRvbS0teHhzbWwge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tdG9wLWJvdHRvbS0teHhzbWwge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cblxuLm1hcmdpbi0tdG9wLWJvdHRvbS0teHNtbCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tdG9wLWJvdHRvbS0teHNtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfSB9XG5cbi5tYXJnaW4tLXRvcC1ib3R0b20tLXNtbCB7XG4gIG1hcmdpbi10b3A6IDAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLXRvcC1ib3R0b20tLXNtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5tYXJnaW4tLXRvcC1ib3R0b20tLW1kIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLXRvcC1ib3R0b20tLW1kIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG5cbi5tYXJnaW4tLXRvcC1ib3R0b20tLWxnIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS10b3AtYm90dG9tLS1sZyB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5tYXJnaW4tLXRvcC1ib3R0b20tLXhsZyB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS10b3AtYm90dG9tLS14bGcge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuXG4ubWFyZ2luLS1sZWZ0LXJpZ2h0LS1ub25lIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubWFyZ2luLS1sZWZ0LXJpZ2h0LS14eHNtbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS1sZWZ0LXJpZ2h0LS14eHNtbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH0gfVxuXG4ubWFyZ2luLS1sZWZ0LXJpZ2h0LS14c21sIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS1sZWZ0LXJpZ2h0LS14c21sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9IH1cblxuLm1hcmdpbi0tbGVmdC1yaWdodC0tc21sIHtcbiAgbWFyZ2luLWxlZnQ6IDAuODc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tbGVmdC1yaWdodC0tc21sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cblxuLm1hcmdpbi0tbGVmdC1yaWdodC0tbWQge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tbGVmdC1yaWdodC0tbWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtOyB9IH1cblxuLm1hcmdpbi0tbGVmdC1yaWdodC0tbGcge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLWxlZnQtcmlnaHQtLWxnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9IH1cblxuLm1hcmdpbi0tbGVmdC1yaWdodC0teGxnIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLWxlZnQtcmlnaHQtLXhsZyB7XG4gICAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfSB9XG5cbi5tYXJnaW4tLWFsbC0tbm9uZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubWFyZ2luLS1hbGwtLXh4c21sIHtcbiAgbWFyZ2luOiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYWxsLS14eHNtbCB7XG4gICAgICBtYXJnaW46IDAuNXJlbTsgfSB9XG5cbi5tYXJnaW4tLWFsbC0teHNtbCB7XG4gIG1hcmdpbjogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYWxsLS14c21sIHtcbiAgICAgIG1hcmdpbjogMC43NXJlbTsgfSB9XG5cbi5tYXJnaW4tLWFsbC0tc21sIHtcbiAgbWFyZ2luOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLWFsbC0tc21sIHtcbiAgICAgIG1hcmdpbjogMXJlbTsgfSB9XG5cbi5tYXJnaW4tLWFsbC0tbWQge1xuICBtYXJnaW46IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubWFyZ2luLS1hbGwtLW1kIHtcbiAgICAgIG1hcmdpbjogMS41cmVtOyB9IH1cblxuLm1hcmdpbi0tYWxsLS1sZyB7XG4gIG1hcmdpbjogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hcmdpbi0tYWxsLS1sZyB7XG4gICAgICBtYXJnaW46IDJyZW07IH0gfVxuXG4ubWFyZ2luLS1hbGwtLXhsZyB7XG4gIG1hcmdpbjogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tYXJnaW4tLWFsbC0teGxnIHtcbiAgICAgIG1hcmdpbjogM3JlbTsgfSB9XG5cbi5jb2x1bW4tbGVmdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb2x1bW4tbGVmdCB7XG4gICAgICBtYXgtd2lkdGg6IDY1JTtcbiAgICAgIG1pbi13aWR0aDogNjUlO1xuICAgICAgd2lkdGg6IDY1JTsgfSB9XG5cbi5jb2x1bW4tcmlnaHQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29sdW1uLXJpZ2h0IHtcbiAgICAgIG1heC13aWR0aDogMzUlO1xuICAgICAgbWluLXdpZHRoOiAzNSU7XG4gICAgICB3aWR0aDogMzUlOyB9IH1cblxuLm5zLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICAubnMtcm93OmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAubnMtcm93LS10b3Age1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm5zLXJvdy0tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5ucy1yb3ctLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAubnMtcm93LS1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5ucy1yb3ctLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAubnMtcm93LS10LXMtb25seSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5zLXJvdy0tdC1zLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLm5zLXJvdyA+IGRpdltjbGFzcyo9bnMtY29sXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5ucy1mbGV4LS1ncm93IHtcbiAgZmxleC1ncm93OiAxOyB9XG5cbi5ucy1jb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm5zLWNvbC0tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuW2NsYXNzKj0nbnMtY29sLS0nXSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC5ucy1jb2wtLW0tcy0xIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLXMtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMiAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLW0tcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS1zLTMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDMgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tcy00IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA0IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLXMtNSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLW0tcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS1zLTYge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDYgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tcy03IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA3IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLXMtOCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogOCAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLW0tcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS1zLTkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDkgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tcy0xMCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTAgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tcy0xMSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTEgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tcy0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTIgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm5zLWNvbC0tbS0xIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS0yIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS0zIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAzIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS00IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA0IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS01IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA1IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS02IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA2IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS03IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA3IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS04IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA4IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS05IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA5IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTAgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLTExIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxMSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDEyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAubnMtY29sLS1tLWwtMSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLW0tbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS1sLTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDIgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLWwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tbC0zIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAzIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1sLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLWwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNCAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLW0tbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS1sLTUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDUgLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLWwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tbC02IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA2IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1sLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLWwtNyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNyAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLW0tbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tbS1sLTgge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDggLSAzM3B4KTsgfVxuICAubnMtY29sLS1tLWwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLW0tbC05IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA5IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1sLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLWwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDEwIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1sLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLWwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDExIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1sLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1tLWwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDEyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tbS1sLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ucy1jb2wtLXQtcy0xIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS10LXMtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMiAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLXQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC1zLTMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDMgLSAzM3B4KTsgfVxuICAubnMtY29sLS10LXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLXQtcy00IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA0IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS10LXMtNSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLXQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC1zLTYge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDYgLSAzM3B4KTsgfVxuICAubnMtY29sLS10LXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLXQtcy03IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA3IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS10LXMtOCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogOCAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLXQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC1zLTkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDkgLSAzM3B4KTsgfVxuICAubnMtY29sLS10LXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLXQtcy0xMCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTAgLSAzM3B4KTsgfVxuICAubnMtY29sLS10LXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLXQtcy0xMSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTEgLSAzM3B4KTsgfVxuICAubnMtY29sLS10LXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLXQtcy0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTIgLSAzM3B4KTsgfVxuICAubnMtY29sLS10LXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5zLWNvbC0tdC0xIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC0yIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC0zIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAzIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC00IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA0IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC01IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA1IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC02IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA2IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC03IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA3IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC04IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA4IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC05IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA5IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tdC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTAgLSAzM3B4KTsgfVxuICAubnMtY29sLS10LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS10LTExIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxMSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLXQtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDEyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tdC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLm5zLWNvbC0tZC1zLTEge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDEgLSAzM3B4KTsgfVxuICAubnMtY29sLS1kLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLWQtcy0yIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1kLXMtMyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMyAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLWQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC1zLTQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDQgLSAzM3B4KTsgfVxuICAubnMtY29sLS1kLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLWQtcy01IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA1IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1kLXMtNiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNiAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLWQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC1zLTcge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDcgLSAzM3B4KTsgfVxuICAubnMtY29sLS1kLXMtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLWQtcy04IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA4IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC1zLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1kLXMtOSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogOSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLWQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC1zLTEwIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxMCAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLWQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC1zLTExIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxMSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLWQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC1zLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxMiAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLWQtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDgwcHgpIHtcbiAgLm5zLWNvbC0tZC0xIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC0yIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC0zIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAzIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC00IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA0IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC01IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA1IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC02IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA2IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC03IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA3IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC04IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA4IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC05IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA5IC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5zLWNvbC0tZC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogMTAgLSAzM3B4KTsgfVxuICAubnMtY29sLS1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubnMtY29sLS1kLTExIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiAxMSAtIDMzcHgpOyB9XG4gIC5ucy1jb2wtLWQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ucy1jb2wtLWQtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDEyIC0gMzNweCk7IH1cbiAgLm5zLWNvbC0tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubnMtaDEsIC5ucy1oMywgLm5zLWgzLCAubnMtaDQsIC5ucy1oNSwgLm5zLWg2LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5zLWgxLCAubnMtaDMsIC5ucy1oMywgLm5zLWg0LCAubnMtaDUsIC5ucy1oNixcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG4ubnMtaDEsXG5oMSB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5ucy1oMSxcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5zLWgxLFxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4yNXJlbTsgfSB9XG5cbi5ucy1oMixcbmgyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAubnMtaDIsXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5zLWgyLFxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbi5ucy1oMyxcbmgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLm5zLWgzLFxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubnMtaDMsXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbi5ucy1oNCxcbmg0IHtcbiAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubnMtaDQsXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4ubnMtaDUsIC5ucy1oNixcbmg1LCBoNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5ucy1oNSwgLm5zLWg2LFxuICAgIGg1LCBoNiB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG5cbi5ucy1oNixcbmg2IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5wLCBsaS5wIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgcCwgbGkucCB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuLm5zLWZvbnQtLXVwcGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubnMtZm9udC0td2VpZ2h0LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4ubnMtZm9udC0td2VpZ2h0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLm5zLWZvbnQtLXdlaWdodC1zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLm5zLWZvbnQtLXdlaWdodC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubnMtZm9udC0td2VpZ2h0LWV4dHJhYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLm5zLWZvbnQtLXNpemUtLWxhcmdlIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLm5zLWZvbnQtLXNpemUtLW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5zLWZvbnQtLXNpemUtLW1lZGl1bSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5ucy1mb250LS1zaXplLS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ubnMtZm9udC0tc2l6ZS0td2lkZSB7XG4gIGxldHRlci1zcGFjaW5nOiAxLjFweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5ucy1mb250LS1zaXplLS13aWRlIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjkycHg7IH0gfVxuXG4ubnMtZm9udC0tc2l6ZS0tY29uZGVuc2VkIHtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4udGV4dC1hbGlnbi0tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtYWxpZ24tLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudGV4dC1hbGlnbi0tY2VudGVyLS1tb2JpbGUtb25seSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC50ZXh0LWFsaWduLS1jZW50ZXItLW1vYmlsZS1vbmx5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi50ZXh0LWFsaWduLS1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4zcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS42cmVtOyB9IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmOyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG46cm9vdCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubnMtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHBhZGRpbmc6IDAuM3JlbSAxLjFyZW07XG4gIG1pbi13aWR0aDogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgbWFyZ2luOiAwLjI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubnMtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAuNHJlbSAxLjg3NXJlbTtcbiAgICAgIG1pbi13aWR0aDogMTByZW07IH0gfVxuICAubnMtYnV0dG9uLmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCAjOTdENzAwOyB9XG4gIC5ucy1idXR0b24tLXByaW1hcnkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5N0Q3MDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzk3RDcwMDsgfVxuICAgIC5ucy1idXR0b24tLXByaW1hcnk6aG92ZXIsIC5ucy1idXR0b24tLXByaW1hcnkuZm9jdXMtdmlzaWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogIzk3RDcwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsgfVxuICAubnMtYnV0dG9uLS1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkZGRkY7IH1cbiAgICAubnMtYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIsIC5ucy1idXR0b24tLXNlY29uZGFyeS5mb2N1cy12aXNpYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAjOTdENzAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTdENzAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsgfVxuICAgIC5ucy1idXR0b24tLXNlY29uZGFyeTphY3RpdmUsIC5ucy1idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBjb2xvcjogcmdiYSgxNTEsIDIxNSwgMCwgMC41KTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTEsIDIxNSwgMCwgMC41KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAubnMtYnV0dG9uICsgLm5zLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5zLWJ1dHRvbiArIC5ucy1idXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG4ubnMtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5zLWxpbms6YWZ0ZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ucy1saW5rLS1saWdodCB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAubnMtbGluay0tbGlnaHQ6aG92ZXIsIC5ucy1saW5rLS1saWdodC5mb2N1cy12aXNpYmxlIHtcbiAgICAgIGNvbG9yOiAjOTdENzAwOyB9XG4gICAgICAubnMtbGluay0tbGlnaHQ6aG92ZXI6YWZ0ZXIsIC5ucy1saW5rLS1saWdodC5mb2N1cy12aXNpYmxlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0Zi04LDxzdmcgd2lkdGg9JzYnIGhlaWdodD0nOScgdmlld0JveD0nMCAwIDYgOScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cmVjdCB4PScwLjk1NDk3MScgeT0nOC41NzA1Nicgd2lkdGg9JzEuMjg5MDMnIGhlaWdodD0nNS43ODIwNCcgdHJhbnNmb3JtPSdyb3RhdGUoLTEzNSAwLjk1NDk3MSA4LjU3MDU2KScgZmlsbD0nJTIzOTdENzAwJy8+PHJlY3QgeD0nMC4wNzg4MjY5JyB5PScxLjM0MDU4JyB3aWR0aD0nMS4yODkwMycgaGVpZ2h0PSc1LjczMTc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtNDUgMC4wNzg4MjY5IDEuMzQwNTgpJyBmaWxsPSclMjM5N0Q3MDAnLz48L3N2Zz5cIik7IH1cbiAgICAubnMtbGluay0tbGlnaHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0Zi04LDxzdmcgd2lkdGg9JzYnIGhlaWdodD0nOScgdmlld0JveD0nMCAwIDYgOScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cmVjdCB4PScwLjk1NDk3MScgeT0nOC41NzA1Nicgd2lkdGg9JzEuMjg5MDMnIGhlaWdodD0nNS43ODIwNCcgdHJhbnNmb3JtPSdyb3RhdGUoLTEzNSAwLjk1NDk3MSA4LjU3MDU2KScgZmlsbD0nJTIzRkZGRkZGJy8+PHJlY3QgeD0nMC4wNzg4MjY5JyB5PScxLjM0MDU4JyB3aWR0aD0nMS4yODkwMycgaGVpZ2h0PSc1LjczMTc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtNDUgMC4wNzg4MjY5IDEuMzQwNTgpJyBmaWxsPSclMjNGRkZGRkYnLz48L3N2Zz5cIik7IH1cbiAgLm5zLWxpbmstLWJsb2NrIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5ucy1saW5rLS1ibG9jazo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG5cbmhlYWRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBoZWFkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBoZWFkZXIgI2hlYWRlci0taW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmNvbHVtbi1sZWZ0IHtcbiAgICAgIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmNvbHVtbi1sZWZ0IHtcbiAgICAgICAgICBtaW4td2lkdGg6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE0MHB4KSB7XG4gICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuY29sdW1uLWxlZnQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmNvbHVtbi1sZWZ0IC5oZWFkZXItdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE0MHB4KSB7XG4gICAgICAgICAgaGVhZGVyICNoZWFkZXItLWlubmVyIC5jb2x1bW4tbGVmdCAuaGVhZGVyLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuY29sdW1uLXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDFyZW07XG4gICAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmNvbHVtbi1yaWdodCB7XG4gICAgICAgICAgZ2FwOiAycmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuY29sdW1uLXJpZ2h0IHtcbiAgICAgICAgICBtaW4td2lkdGg6IDA7IH0gfVxuICAgICAgaGVhZGVyICNoZWFkZXItLWlubmVyIC5jb2x1bW4tcmlnaHQgLnJlZ2lzdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuY29sdW1uLXJpZ2h0IC5yZWdpc3RlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7IH1cbiAgICAgICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuY29sdW1uLXJpZ2h0IC5yZWdpc3Rlci5hY3RpdmUge1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTsgfSB9XG4gICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmNvbHVtbi1yaWdodCAucmVnaXN0ZXItbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMC45cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuY29sdW1uLXJpZ2h0IC5yZWdpc3Rlci1tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmNvbHVtbi1yaWdodCAucmVnaXN0ZXItbW9iaWxlLWxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuY29sdW1uLXJpZ2h0IC5yZWdpc3Rlci1tb2JpbGUtbGFyZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmVuZ2FnZS1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgaGVhZGVyICNoZWFkZXItLWlubmVyIC5lbmdhZ2UtbG9nbyB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgbWF4LWhlaWdodDogMDsgfVxuICAgICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuZW5nYWdlLWxvZ28uYWN0aXZlIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNDBweCkge1xuICAgICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmVuZ2FnZS1sb2dvIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE0MHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNDBweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuZW5nYWdlLWxvZ28ge1xuICAgICAgbWluLXdpZHRoOiAyMjBweDsgfSB9XG4gICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmVuZ2FnZS1sb2dvIGltZywgaGVhZGVyICNoZWFkZXItLWlubmVyIC5lbmdhZ2UtbG9nbyBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogMjVweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmVuZ2FnZS1sb2dvIGltZywgaGVhZGVyICNoZWFkZXItLWlubmVyIC5lbmdhZ2UtbG9nbyBzdmcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzBweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNDBweCkge1xuICAgICAgICAgIGhlYWRlciAjaGVhZGVyLS1pbm5lciAuZW5nYWdlLWxvZ28gaW1nLCBoZWFkZXIgI2hlYWRlci0taW5uZXIgLmVuZ2FnZS1sb2dvIHN2ZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNXB4OyB9IH1cbiAgaGVhZGVyIC5idXJnZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgaGVhZGVyIC5idXJnZXIge1xuICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9IH1cbiAgICBoZWFkZXIgLmJ1cmdlciA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTdENzAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgaGVhZGVyIC5idXJnZXIgPiBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogMzBweDsgfSB9XG4gICAgICBoZWFkZXIgLmJ1cmdlciA+IHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1JTsgfVxuICAgICAgaGVhZGVyIC5idXJnZXIgPiBzcGFuOm50aC1jaGlsZCgyKSwgaGVhZGVyIC5idXJnZXIgPiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHRvcDogOXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgaGVhZGVyIC5idXJnZXIgPiBzcGFuOm50aC1jaGlsZCgyKSwgaGVhZGVyIC5idXJnZXIgPiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICB0b3A6IDE0cHg7IH0gfVxuICAgICAgaGVhZGVyIC5idXJnZXIgPiBzcGFuOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNSU7IH1cbiAgICBoZWFkZXIgLmJ1cmdlci5hY3RpdmUgPiBzcGFuIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgaGVpZ2h0OiAycHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGhlYWRlciAuYnVyZ2VyLmFjdGl2ZSA+IHNwYW4ge1xuICAgICAgICAgIGhlaWdodDogM3B4OyB9IH1cbiAgICAgIGhlYWRlciAuYnVyZ2VyLmFjdGl2ZSA+IHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB3aWR0aDogMjhweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIGhlYWRlciAuYnVyZ2VyLmFjdGl2ZSA+IHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MnB4OyB9IH1cbiAgICAgIGhlYWRlciAuYnVyZ2VyLmFjdGl2ZSA+IHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIGhlYWRlciAuYnVyZ2VyLmFjdGl2ZSA+IHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgaGVhZGVyIC5idXJnZXIuYWN0aXZlID4gc3BhbjpudGgtY2hpbGQoNCkge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB3aWR0aDogMjhweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIGhlYWRlciAuYnVyZ2VyLmFjdGl2ZSA+IHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MnB4OyB9IH1cbiAgaGVhZGVyIG5hdiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogLTE2M3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgICBoZWFkZXIgbmF2LmFjdGl2ZSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogNjJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgaGVhZGVyIG5hdi5hY3RpdmUge1xuICAgICAgICAgIHRvcDogODdweDsgfSB9XG4gICAgaGVhZGVyIG5hdiA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTQ4MHB4OyB9XG4gICAgICBoZWFkZXIgbmF2ID4gdWwubnMtcm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIGhlYWRlciBuYXYgPiB1bC5ucy1yb3cge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTQwcHgpIHtcbiAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwubnMtcm93IHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAgIGhlYWRlciBuYXYgPiB1bCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwLjc1cmVtIDAuNzVyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNDBweCkge1xuICAgICAgICAgIGhlYWRlciBuYXYgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxLjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMnJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAgIGhlYWRlciBuYXYgPiB1bCA+IGxpIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAjOTdENzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAgIGhlYWRlciBuYXYgPiB1bCA+IGxpLmhlYWx0aC1zYWZldHkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGkuaGVhbHRoLXNhZmV0eSB7XG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwgPiBsaS5oZWFsdGgtc2FmZXR5IHtcbiAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG4gICAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGkuaGVhbHRoLXNhZmV0eSBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGkuaGVhbHRoLXNhZmV0eSBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwgPiBsaS5oZWFsdGgtc2FmZXR5IHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICAgIGhlYWRlciBuYXYgPiB1bCA+IGxpIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwgPiBsaSB1bCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAgICAgICAgIGhlYWRlciBuYXYgPiB1bCA+IGxpIHVsIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGkgdWwgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cbiAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGkgYS5uYXYtbGluayB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICAgaGVhZGVyIG5hdiA+IHVsID4gbGkgYS5uYXYtbGluazphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOTdENzAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwgPiBsaSBhLm5hdi1saW5rOmhvdmVyOmFmdGVyLCBoZWFkZXIgbmF2ID4gdWwgPiBsaSBhLm5hdi1saW5rOmFjdGl2ZTphZnRlciwgaGVhZGVyIG5hdiA+IHVsID4gbGkgYS5uYXYtbGluazpmb2N1czphZnRlciwgaGVhZGVyIG5hdiA+IHVsID4gbGkgYS5uYXYtbGluay5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICBoZWFkZXIgbmF2ID4gdWwgPiBsaSBhLm5hdi1saW5rLmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICM5N0Q3MDA7IH1cblxuZm9vdGVyLFxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODJEMzQ7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIsXG4gICAgLmZvb3RlciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgZm9vdGVyIC5mb290ZXItY29sLFxuICAuZm9vdGVyIC5mb290ZXItY29sIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgZm9vdGVyIC5mb290ZXItY29sLFxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIGZvb3RlciAuZm9vdGVyLWNvbCAuZW5nYWdlLWxvZ28sXG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbCAuZW5nYWdlLWxvZ28ge1xuICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICBtYXJnaW46IDAgYXV0byAxcmVtIGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGZvb3RlciAuZm9vdGVyLWNvbCAuZW5nYWdlLWxvZ28sXG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb2wgLmVuZ2FnZS1sb2dvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWNvbCAuZW5nYWdlLWxvZ28gaW1nLCBmb290ZXIgLmZvb3Rlci1jb2wgLmVuZ2FnZS1sb2dvIHN2ZyxcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb2wgLmVuZ2FnZS1sb2dvIGltZyxcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb2wgLmVuZ2FnZS1sb2dvIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIGZvb3RlciAuZm9vdGVyLWNvbCAuZW5nYWdlLWxvZ28gaW1nLCBmb290ZXIgLmZvb3Rlci1jb2wgLmVuZ2FnZS1sb2dvIHN2ZyxcbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXItY29sIC5lbmdhZ2UtbG9nbyBpbWcsXG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbCAuZW5nYWdlLWxvZ28gc3ZnIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7IH0gfVxuICAgIGZvb3RlciAuZm9vdGVyLWNvbCBwLFxuICAgIC5mb290ZXIgLmZvb3Rlci1jb2wgcCB7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgZm9vdGVyIC5mb290ZXItY29sIHAsXG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb2wgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiBpbml0aWFsOyB9IH1cbiAgZm9vdGVyIHVsI25zLWZvb3Rlci1tZW51LFxuICAuZm9vdGVyIHVsI25zLWZvb3Rlci1tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICBmb290ZXIgdWwjbnMtZm9vdGVyLW1lbnUgbGksXG4gICAgLmZvb3RlciB1bCNucy1mb290ZXItbWVudSBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgIGZvb3RlciB1bCNucy1mb290ZXItbWVudSBsaSxcbiAgICAgICAgLmZvb3RlciB1bCNucy1mb290ZXItbWVudSBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAgIGZvb3RlciB1bCNucy1mb290ZXItbWVudSBsaTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgIC5mb290ZXIgdWwjbnMtZm9vdGVyLW1lbnUgbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW46IDAgMC4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgZm9vdGVyIHVsI25zLWZvb3Rlci1tZW51IGxpOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSxcbiAgICAgICAgLmZvb3RlciB1bCNucy1mb290ZXItbWVudSBsaTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfSB9XG4gICAgICBmb290ZXIgdWwjbnMtZm9vdGVyLW1lbnUgbGkgZGl2LFxuICAgICAgLmZvb3RlciB1bCNucy1mb290ZXItbWVudSBsaSBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgZm9vdGVyIHVsI3NvY2lhbCxcbiAgLmZvb3RlciB1bCNzb2NpYWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC41cmVtOyB9XG4gICAgZm9vdGVyIHVsI3NvY2lhbCBsaSxcbiAgICAuZm9vdGVyIHVsI3NvY2lhbCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbTsgfVxuICAgICAgZm9vdGVyIHVsI3NvY2lhbCBsaSBhLFxuICAgICAgLmZvb3RlciB1bCNzb2NpYWwgbGkgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAgIGZvb3RlciB1bCNzb2NpYWwgbGkgYSBzdmcsXG4gICAgICAgIC5mb290ZXIgdWwjc29jaWFsIGxpIGEgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHdpZHRoOiAxLjFyZW07XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgIGZvb3RlciB1bCNzb2NpYWwgbGkgYSBzdmcsXG4gICAgICAgICAgICAuZm9vdGVyIHVsI3NvY2lhbCBsaSBhIHN2ZyB7XG4gICAgICAgICAgICAgIGhlaWdodDogMS4xcmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZm9vdGVyIHVsI3NvY2lhbCBsaSBhIHN2ZyxcbiAgICAgICAgICAgIC5mb290ZXIgdWwjc29jaWFsIGxpIGEgc3ZnIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEuM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgZm9vdGVyIHVsI3NvY2lhbCBsaSBhIHN2ZyxcbiAgICAuZm9vdGVyIHVsI3NvY2lhbCBsaSBhIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDEuM3JlbTsgfSB9XG4gICAgICAgIGZvb3RlciB1bCNzb2NpYWwgbGkgYTpob3ZlciBzdmcsIGZvb3RlciB1bCNzb2NpYWwgbGkgYTpmb2N1cyBzdmcsIGZvb3RlciB1bCNzb2NpYWwgbGkgYS5mb2N1cy12aXNpYmxlIHN2ZyxcbiAgICAgICAgLmZvb3RlciB1bCNzb2NpYWwgbGkgYTpob3ZlciBzdmcsXG4gICAgICAgIC5mb290ZXIgdWwjc29jaWFsIGxpIGE6Zm9jdXMgc3ZnLFxuICAgICAgICAuZm9vdGVyIHVsI3NvY2lhbCBsaSBhLmZvY3VzLXZpc2libGUgc3ZnIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBjb2xvcjogIzk3RDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb290ZXIgdWwjc29jaWFsLFxuICAgICAgLmZvb3RlciB1bCNzb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwJSAtIDIuNXJlbSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDE1O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCA2LCA1MiwgMC40KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgZm9vdGVyIHVsI3NvY2lhbCxcbiAgICAuZm9vdGVyIHVsI3NvY2lhbCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBib3R0b206IDBweDsgfSB9XG4gIGZvb3RlciBhOmhvdmVyLCBmb290ZXIgYTpmb2N1cywgZm9vdGVyIGE6YWN0aXZlLFxuICAuZm9vdGVyIGE6aG92ZXIsXG4gIC5mb290ZXIgYTpmb2N1cyxcbiAgLmZvb3RlciBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM5N0Q3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgZm9vdGVyIGEubG9nbyxcbiAgLmZvb3RlciBhLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIGZvb3RlciBhLmxvZ28uZm9jdXMtdmlzaWJsZSxcbiAgICAuZm9vdGVyIGEubG9nby5mb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAjOTdENzAwOyB9XG5cbmh0bWwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG5cbmJvZHkge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIGJvZHkubW9kYWwtb3BlbiB7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgYm9keSAubm9kZV9fY29udGVudCA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGJvZHkgYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgYm9keSBhIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH0gfVxuICAgIGJvZHkgYTpob3ZlciwgYm9keSBhOmZvY3VzLCBib2R5IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjOTdENzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICBib2R5IGE6aG92ZXIsIGJvZHkgYTpmb2N1cywgYm9keSBhOmFjdGl2ZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsgfSB9XG4gIGJvZHkgYS5mb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lLXdpZHRoOiAxcHg7XG4gICAgb3V0bGluZS1jb2xvcjogIzk3RDcwMDtcbiAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICBjb2xvcjogIzk3RDcwMDsgfVxuICBib2R5IC5qcy1mb2N1cy12aXNpYmxlIDpmb2N1czpub3QoLmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIGJvZHkgbWFpbi5lbmdhZ2UtbWFpbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgYm9keSBtYWluLmVuZ2FnZS1tYWluIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDc2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBib2R5IG1haW4uZW5nYWdlLW1haW4gLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIGJvZHkgbWFpbi5lbmdhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDg3cHg7IH0gfVxuICAgIGJvZHkgbWFpbi5lbmdhZ2UtbWFpbiBzZWN0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgYm9keSBtYWluLmVuZ2FnZS1tYWluIHNlY3Rpb24gaW1nLFxuICAgICAgYm9keSBtYWluLmVuZ2FnZS1tYWluIHNlY3Rpb24gc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICBib2R5IG1haW4uZW5nYWdlLW1haW4gc2VjdGlvbiBhOmhvdmVyLCBib2R5IG1haW4uZW5nYWdlLW1haW4gc2VjdGlvbiBhOmZvY3VzLCBib2R5IG1haW4uZW5nYWdlLW1haW4gc2VjdGlvbiBhOmZvY3VzLXZpc2libGUge1xuICAgICAgICBjb2xvcjogIzk3RDcwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjOTdENzAwOyB9XG4gICAgICBib2R5IG1haW4uZW5nYWdlLW1haW4gc2VjdGlvbjpsYXN0LW9mLXR5cGUgLmNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGJvZHkgbWFpbi5lbmdhZ2UtbWFpbiBzZWN0aW9uI2ludHJvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgYm9keSBtYWluLmVuZ2FnZS1tYWluIHNlY3Rpb24jaW50cm8ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuICAgICAgICBib2R5IG1haW4uZW5nYWdlLW1haW4gc2VjdGlvbiNpbnRybyAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgIG1hcmdpbjogMnJlbSAwOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGJvZHkgbWFpbi5lbmdhZ2UtbWFpbiBzZWN0aW9uI2ludHJvIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICAgICAgYm9keSBtYWluLmVuZ2FnZS1tYWluIHNlY3Rpb24jaW50cm8gLmJ1dHRvbi13cmFwcGVyID4gZGl2IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMTAwJTsgfVxuICAgICAgICAgICAgICAgIGJvZHkgbWFpbi5lbmdhZ2UtbWFpbiBzZWN0aW9uI2ludHJvIC5idXR0b24td3JhcHBlciA+IGRpdiNwYXVzZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfSB9XG5cbi5kaXNwbGF5LS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kaXNwbGF5LS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmRpc3BsYXktLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZGlzcGxheS0tZGVza3RvcCwgLmRpc3BsYXktLXRhYmxldCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZGlzcGxheS0tZGVza3RvcCwgLmRpc3BsYXktLXRhYmxldCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5kaXNwbGF5LS1tb2JpbGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5kaXNwbGF5LS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5kaXNwbGF5LS1tb2JpbGUtbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgLmRpc3BsYXktLW1vYmlsZS1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuZGlzcGxheS0tbW9iaWxlLWxhcmdlLS1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZGlzcGxheS0tbW9iaWxlLWxhcmdlLS1vbmx5IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJrZy0taW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5ia2ctLWltZzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmJrZy0taW1nLS1maXhlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9XG4gIC5ia2ctLWltZy0tbm8tZ3JhZGllbnQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJrZy0taW1nLS1ncmFkaWVudDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2sgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgODAlKTsgfVxuICAuYmtnLS1pbWctLWdyYWRpZW50LS10by1yaWdodDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTsgfVxuICAuYmtnLS1pbWctLXZpZGVvOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzAwMGEyMiAxMjBweCwgcmdiYSgwLCAwLCAwLCAwKSA1MCUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuYmtnLS1pbWcgPiAuY29udGFpbmVyIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLmJrZy0taW1nID4gLmNvbnRhaW5lci0tZml4ZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5ia2ctLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyRDM0O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uYmtnLS1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5pbWFnZS1jYXJvdXNlbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmltYWdlLWNhcm91c2VsIC5zbGljay1wcmV2LCAuaW1hZ2UtY2Fyb3VzZWwgLnNsaWNrLW5leHQge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5pbWFnZS1jYXJvdXNlbCAuc2xpY2stcHJldjpiZWZvcmUsIC5pbWFnZS1jYXJvdXNlbCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjc1OyB9XG4gICAgLmltYWdlLWNhcm91c2VsIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLmltYWdlLWNhcm91c2VsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSwgLmltYWdlLWNhcm91c2VsIC5zbGljay1wcmV2LmZvY3VzLXZpc2libGU6YmVmb3JlLCAuaW1hZ2UtY2Fyb3VzZWwgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLCAuaW1hZ2UtY2Fyb3VzZWwgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlLCAuaW1hZ2UtY2Fyb3VzZWwgLnNsaWNrLW5leHQuZm9jdXMtdmlzaWJsZTpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuaW1hZ2UtY2Fyb3VzZWwgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDUlOyB9XG4gICAgLmltYWdlLWNhcm91c2VsIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiBkYXRhLXByZWZpeD1cImZhbFwiIGRhdGEtaWNvbj1cImNoZXZyb24tbGVmdFwiIGNsYXNzPVwic3ZnLWlubGluZS0tZmEgZmEtY2hldnJvbi1sZWZ0IGZhLXctOFwiIHJvbGU9XCJpbWdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNTYgNTEyXCI+PHBhdGggZmlsbD1cIiUyM2ZmZmZmZlwiIGQ9XCJNMjM4LjQ3NSA0NzUuNTM1bDcuMDcxLTcuMDdjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxTDUwLjA1MyAyNTYgMjQ1LjU0NiA2MC41MDZjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxbC03LjA3MS03LjA3Yy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcgMEwxMC40NTQgMjQ3LjUxNWMtNC42ODYgNC42ODYtNC42ODYgMTIuMjg0IDAgMTYuOTcxbDIxMS4wNTEgMjExLjA1YzQuNjg2IDQuNjg2IDEyLjI4NCA0LjY4NiAxNi45Ny0uMDAxelwiPjwvcGF0aD48L3N2Zz4nKTsgfVxuICAuaW1hZ2UtY2Fyb3VzZWwgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiA1JTsgfVxuICAgIC5pbWFnZS1jYXJvdXNlbCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCIgZGF0YS1wcmVmaXg9XCJmYWxcIiBkYXRhLWljb249XCJjaGV2cm9uLXJpZ2h0XCIgY2xhc3M9XCJzdmctaW5saW5lLS1mYSBmYS1jaGV2cm9uLXJpZ2h0IGZhLXctOFwiIHJvbGU9XCJpbWdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNTYgNTEyXCI+PHBhdGggZmlsbD1cIiUyM2ZmZmZmZlwiIGQ9XCJNMTcuNTI1IDM2LjQ2NWwtNy4wNzEgNy4wN2MtNC42ODYgNC42ODYtNC42ODYgMTIuMjg0IDAgMTYuOTcxTDIwNS45NDcgMjU2IDEwLjQ1NCA0NTEuNDk0Yy00LjY4NiA0LjY4Ni00LjY4NiAxMi4yODQgMCAxNi45NzFsNy4wNzEgNy4wN2M0LjY4NiA0LjY4NiAxMi4yODQgNC42ODYgMTYuOTcgMGwyMTEuMDUxLTIxMS4wNWM0LjY4Ni00LjY4NiA0LjY4Ni0xMi4yODQgMC0xNi45NzFMMzQuNDk1IDM2LjQ2NWMtNC42ODYtNC42ODctMTIuMjg0LTQuNjg3LTE2Ljk3IDB6XCI+PC9wYXRoPjwvc3ZnPicpOyB9XG4gIC5pbWFnZS1jYXJvdXNlbCAuc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5pbWFnZS1jYXJvdXNlbCAuc2xpY2stZG90cyBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuaW1hZ2UtY2Fyb3VzZWwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuICAgICAgLmltYWdlLWNhcm91c2VsIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG5cbi8qIGVhcmx5IGJpcmQgcmVnaXN0cmF0aW9uICovXG4uZWFybHktYmlyZC5ia2ctLWltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMzAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc2l0ZXMvZGVmYXVsdC9maWxlcy9zaGFyZWQvZW5nYWdlMjMvaW1hZ2VzL0UyM19TaXRlX0Zvb3Rlcl9OZXcud2VicFwiKTsgfVxuICAuZWFybHktYmlyZC5ia2ctLWltZzphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjYpIC0yMCUsIHJnYmEoMCwgMCwgMCwgMC45KSA5MCUpICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42NTsgfVxuXG4vKiBtYWluIHBhZ2UgKi9cbi5mcm9udC1wYWdlLmJrZy0taW1nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NoYXJlZC9lbmdhZ2UyMy9pbWFnZXMvRTIzX0hvbWVwYWdlLUhlYWRlci53ZWJwXCIpOyB9XG4gIC5mcm9udC1wYWdlLmJrZy0taW1nOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC42KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA4MCUpOyB9XG5cbi5mcm9udC1wYWdlLS1oaWdobGlnaHRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NoYXJlZC9lbmdhZ2UyMy9pbWFnZXMvRTIzX0hvbWVwYWdlLUhpZ2hsaWdodHMud2VicFwiKTsgfVxuXG4uZnJvbnQtcGFnZSAuY2FsZW5kYXItaWNvbiBzdmcge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZnJvbnQtcGFnZSAuY2FsZW5kYXItaWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDI1cHg7IH0gfVxuXG4uZnJvbnQtcGFnZS0tc3BlYWtlcnMgLmhlYWRzaG90IHtcbiAgYm9yZGVyOiA4cHggc29saWQgIzk3RDcwMDtcbiAgYm9yZGVyLXJhZGl1czogMTAwcmVtOyB9XG5cbi5mcm9udC1wYWdlLS1zcGVha2VycyBidXR0b246aG92ZXI6YWZ0ZXIsIC5mcm9udC1wYWdlLS1zcGVha2VycyBidXR0b246Zm9jdXM6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRvcDogMXB4OyB9XG5cbi5mcm9udC1wYWdlLS1zcGVha2VycyBidXR0b246aG92ZXIgKyAuc2Vzc2lvbi1kZXRhaWxzLCAuZnJvbnQtcGFnZS0tc3BlYWtlcnMgYnV0dG9uOmZvY3VzICsgLnNlc3Npb24tZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mcm9udC1wYWdlLS1zcGVha2VycyAuc2Vzc2lvbi1kZXRhaWxzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IDAuNHMgZmFkZUluO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuICAuZnJvbnQtcGFnZS0tc3BlYWtlcnMgLnNlc3Npb24tZGV0YWlscyBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnZpZHlhcmQtcGxheWVyLWNvbnRhaW5lciAudmlkeWFyZC1saWdodGJveC10aHVtYm5haWwgLnBsYXktYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjcgIWltcG9ydGFudDsgfVxuICAudmlkeWFyZC1wbGF5ZXItY29udGFpbmVyIC52aWR5YXJkLWxpZ2h0Ym94LXRodW1ibmFpbCAucGxheS1idXR0b24gLmFycm93IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG5cbi52aWR5YXJkLXBsYXllci1jb250YWluZXIgLnZpZHlhcmQtbGlnaHRib3gtdGh1bWJuYWlsOmhvdmVyIC5wbGF5LWJ1dHRvbiwgLnZpZHlhcmQtcGxheWVyLWNvbnRhaW5lciAudmlkeWFyZC1saWdodGJveC10aHVtYm5haWw6Zm9jdXMgLnBsYXktYnV0dG9uLCAudmlkeWFyZC1wbGF5ZXItY29udGFpbmVyIC52aWR5YXJkLWxpZ2h0Ym94LXRodW1ibmFpbC5mb2N1cy12aXNpYmxlIC5wbGF5LWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG4vKiogYWdlbmRhICoqL1xuI2FnZW5kYS0taW50cm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3NpdGVzL2RlZmF1bHQvZmlsZXMvc2hhcmVkL2VuZ2FnZTIzL2ltYWdlcy9FMjNfSGVhZGVyLUFnZW5kYS53ZWJwXCIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2FnZW5kYS0taW50cm8ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuXG4jYWdlbmRhLS1tYWluIC5ucy1yb3cgPiBkaXYge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDFyZW0gMDsgfVxuICAjYWdlbmRhLS1tYWluIC5ucy1yb3cgPiBkaXY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZGRkZGRjsgfVxuICAgICNhZ2VuZGEtLW1haW4gLm5zLXJvdyA+IGRpdjpudGgtY2hpbGQoZXZlbik6bnRoLWxhc3QtY2hpbGQoLW4rMSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2FnZW5kYS0tbWFpbiAubnMtcm93ID4gZGl2IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkZGRkY7IH1cbiAgICAgICNhZ2VuZGEtLW1haW4gLm5zLXJvdyA+IGRpdjpudGgtbGFzdC1jaGlsZCgtbisyKSwgI2FnZW5kYS0tbWFpbiAubnMtcm93ID4gZGl2Om50aC1sYXN0LWNoaWxkKC1uKzEpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfSB9XG4gICNhZ2VuZGEtLW1haW4gLm5zLXJvdyA+IGRpdiBoMiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiogcGxhbiB5b3VyIHRyaXAgKiovXG4jcGxhbi0taW50cm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3NpdGVzL2RlZmF1bHQvZmlsZXMvc2hhcmVkL2VuZ2FnZTIzL2ltYWdlcy9FMjNfSGVhZGVyLVBsYW5feW91cl90cmlwLndlYnBcIik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcGxhbi0taW50cm8ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuXG4jcGxhbi0tdGFicyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODJEMzQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcGxhbi0tdGFicyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgI3BsYW4tLXRhYnMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG4gICAgI3BsYW4tLXRhYnMgdWwgbGkge1xuICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNwbGFuLS10YWJzIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgICAgI3BsYW4tLXRhYnMgdWwgbGkgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG4gICAgICAgICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbiBzcGFuLFxuICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b24gaDIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgI3BsYW4tLXRhYnMgdWwgbGkgYnV0dG9uIHNwYW4sXG4gICAgICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b24gaDIge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9IH1cbiAgICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b24gc3BhbjphZnRlcixcbiAgICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b24gaDI6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjOTdENzAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbiBzcGFuOmFmdGVyLFxuICAgICAgICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b24gaDI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH0gfVxuICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b24uYWN0aXZlIHNwYW4sXG4gICAgICAgICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbi5hY3RpdmUgaDIsICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbjpob3ZlciBzcGFuLFxuICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b246aG92ZXIgaDIsICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbjpmb2N1cyBzcGFuLFxuICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b246Zm9jdXMgaDIsICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbjphY3RpdmUgc3BhbixcbiAgICAgICAgI3BsYW4tLXRhYnMgdWwgbGkgYnV0dG9uOmFjdGl2ZSBoMiB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbi5hY3RpdmUgc3BhbjphZnRlcixcbiAgICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b24uYWN0aXZlIGgyOmFmdGVyLCAjcGxhbi0tdGFicyB1bCBsaSBidXR0b246aG92ZXIgc3BhbjphZnRlcixcbiAgICAgICAgICAjcGxhbi0tdGFicyB1bCBsaSBidXR0b246aG92ZXIgaDI6YWZ0ZXIsICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbjpmb2N1cyBzcGFuOmFmdGVyLFxuICAgICAgICAgICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbjpmb2N1cyBoMjphZnRlciwgI3BsYW4tLXRhYnMgdWwgbGkgYnV0dG9uOmFjdGl2ZSBzcGFuOmFmdGVyLFxuICAgICAgICAgICNwbGFuLS10YWJzIHVsIGxpIGJ1dHRvbjphY3RpdmUgaDI6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cblxuI3BsYW4tLW1haW4gLnBsYW4tY29udGVudC13cmFwcGVyIC5jb250ZW50LFxuI3BsYW4tLW1haW4gLmxldHRlcnMtY29udGVudC13cmFwcGVyIC5jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAjcGxhbi0tbWFpbiAucGxhbi1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQuYWN0aXZlLFxuICAjcGxhbi0tbWFpbiAubGV0dGVycy1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4jcGxhbi0tbWFpbiAjbG9jYXRpb24gLnJlZ2lzdGVyLWJ1dHRvbiB7XG4gIG1hcmdpbjogMXJlbSBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAjcGxhbi0tbWFpbiAjbG9jYXRpb24gLnJlZ2lzdGVyLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuI3BsYW4tLW1haW4gI2xldHRlcnMgPiAubnMtcm93ID4gZGl2Omxhc3QtY2hpbGQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgI3BsYW4tLW1haW4gI2xldHRlcnMgPiAubnMtcm93ID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4jcGxhbi0tbWFpbiAjbGV0dGVycyAubGV0dGVycy1kb3dubG9hZHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDFyZW0gYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICNwbGFuLS1tYWluICNsZXR0ZXJzIC5sZXR0ZXJzLWRvd25sb2FkcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMC41cmVtOyB9XG4gICAgICAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMCAwO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG4gICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uIHNwYW4sXG4gICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uIGg0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uIHNwYW4sXG4gICAgICAgICAgICAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbiBoNCB7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH0gfVxuICAgICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uIHNwYW46YWZ0ZXIsXG4gICAgICAgICAgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCBsaSBidXR0b24gaDQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjOTdENzAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uIHNwYW46YWZ0ZXIsXG4gICAgICAgICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uIGg0OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9IH1cbiAgICAgICAgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCBsaSBidXR0b24uYWN0aXZlIHNwYW4sXG4gICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uLmFjdGl2ZSBoNCwgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCBsaSBidXR0b246aG92ZXIgc3BhbixcbiAgICAgICAgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCBsaSBidXR0b246aG92ZXIgaDQsICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uOmZvY3VzIHNwYW4sXG4gICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uOmZvY3VzIGg0LCAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbjphY3RpdmUgc3BhbixcbiAgICAgICAgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCBsaSBidXR0b246YWN0aXZlIGg0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCBsaSBidXR0b24uYWN0aXZlIHNwYW46YWZ0ZXIsXG4gICAgICAgICAgI3BsYW4tLW1haW4gLmxldHRlcnMtdGFicyB1bCBsaSBidXR0b24uYWN0aXZlIGg0OmFmdGVyLCAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbjpob3ZlciBzcGFuOmFmdGVyLFxuICAgICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uOmhvdmVyIGg0OmFmdGVyLCAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbjpmb2N1cyBzcGFuOmFmdGVyLFxuICAgICAgICAgICNwbGFuLS1tYWluIC5sZXR0ZXJzLXRhYnMgdWwgbGkgYnV0dG9uOmZvY3VzIGg0OmFmdGVyLCAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbjphY3RpdmUgc3BhbjphZnRlcixcbiAgICAgICAgICAjcGxhbi0tbWFpbiAubGV0dGVycy10YWJzIHVsIGxpIGJ1dHRvbjphY3RpdmUgaDQ6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cblxuI3BsYW4tLW1haW4gLmp1c3RpZmljYXRpb24tbGV0dGVyIHAsICNwbGFuLS1tYWluIC5qdXN0aWZpY2F0aW9uLWxldHRlciBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4jcGxhbi0tbWFpbiAuanVzdGlmaWNhdGlvbi1sZXR0ZXIgdGFibGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICBtYXJnaW46IDFyZW0gMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICAjcGxhbi0tbWFpbiAuanVzdGlmaWNhdGlvbi1sZXR0ZXIgdGFibGUgdGgsICNwbGFuLS1tYWluIC5qdXN0aWZpY2F0aW9uLWxldHRlciB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgI3BsYW4tLW1haW4gLmp1c3RpZmljYXRpb24tbGV0dGVyIHRhYmxlIHRoLm5vd3JhcCwgI3BsYW4tLW1haW4gLmp1c3RpZmljYXRpb24tbGV0dGVyIHRhYmxlIHRkLm5vd3JhcCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgI3BsYW4tLW1haW4gLmp1c3RpZmljYXRpb24tbGV0dGVyIHRhYmxlIHRoLnJpZ2h0LCAjcGxhbi0tbWFpbiAuanVzdGlmaWNhdGlvbi1sZXR0ZXIgdGFibGUgdGQucmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyoqIGV2ZW50cyAqKi9cbiNldmVudHMtLWludHJvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NoYXJlZC9lbmdhZ2UyMy9pbWFnZXMvRTIzX0hlYWRlci1FdmVudHMud2VicFwiKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNldmVudHMtLWludHJvIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cblxuI2V2ZW50cy0tbWFpbiAuZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNldmVudHMtLW1haW4gLmZlYXR1cmUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgI2V2ZW50cy0tbWFpbiAuZmVhdHVyZSAuZmVhdHVyZS0taW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAjZXZlbnRzLS1tYWluIC5mZWF0dXJlLmRlc2t0b3AtcmV2ZXJzZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgICAjZXZlbnRzLS1tYWluIC5mZWF0dXJlLmRlc2t0b3AtcmV2ZXJzZSAuZmVhdHVyZS0tdGV4dCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gICAgICAgICNldmVudHMtLW1haW4gLmZlYXR1cmUuZGVza3RvcC1yZXZlcnNlIC5mZWF0dXJlLS1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgI2V2ZW50cy0tbWFpbiAuZmVhdHVyZSAuZmVhdHVyZS0tdGV4dCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgI2V2ZW50cy0tbWFpbiAuZmVhdHVyZSAuZmVhdHVyZS0tdGV4dCAuZmVhdHVyZS0tdGV4dC0taGVhZGVycyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAjZXZlbnRzLS1tYWluIC5mZWF0dXJlIC5mZWF0dXJlLS10ZXh0IC5mZWF0dXJlLS10ZXh0LS1oZWFkZXJzIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICNldmVudHMtLW1haW4gLmZlYXR1cmUgLmZlYXR1cmUtLWltYWdlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgI2V2ZW50cy0tbWFpbiAuZmVhdHVyZSAuZmVhdHVyZS0taW1hZ2UgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDA7IH1cbiAgICAjZXZlbnRzLS1tYWluIC5mZWF0dXJlIC5mZWF0dXJlLS1pbWFnZSAuZmVhdHVyZS0tdGV4dC0taGVhZGVycyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNldmVudHMtLW1haW4gLmZlYXR1cmUgLmZlYXR1cmUtLWltYWdlIC5mZWF0dXJlLS10ZXh0LS1oZWFkZXJzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjZXZlbnRzLS1tYWluIC5mZWF0dXJlIC5mZWF0dXJlLS1pbWFnZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDAwIDQwJSwgdHJhbnNwYXJlbnQgODAlKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAuNTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI2V2ZW50cy0tbWFpbiAuZmVhdHVyZSAuZmVhdHVyZS0taW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiogd29ya3Nob3BzICoqL1xuI2Jvb3RjYW1wcy0taW50cm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3NpdGVzL2RlZmF1bHQvZmlsZXMvc2hhcmVkL2VuZ2FnZTIzL2ltYWdlcy9FMjNfSGVhZGVyLUhhbmRzLW9uX2xhYnMud2VicFwiKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNib290Y2FtcHMtLWludHJvIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cblxuI2Jvb3RjYW1wcy0tbWFpbiAubnMtcm93ID4gZGl2IHtcbiAgcGFkZGluZzogMDsgfVxuXG4jYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE0MHB4KSB7XG4gICAgI2Jvb3RjYW1wcy0tbWFpbiB1bCN0cmFja3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSBiciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSBiciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJyOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTQwcHgpIHtcbiAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJ1dHRvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZzogMCAwIDRweCAwO1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJ1dHRvbiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSBidXR0b24gc3BhbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9IH1cbiAgICAgICAgI2Jvb3RjYW1wcy0tbWFpbiB1bCN0cmFja3MgbGkgYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjOTdENzAwO1xuICAgICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJ1dHRvbiBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfSB9XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSBidXR0b24uYWN0aXZlIHNwYW4sICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJ1dHRvbjpob3ZlciBzcGFuLCAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSBidXR0b246Zm9jdXMgc3BhbiwgI2Jvb3RjYW1wcy0tbWFpbiB1bCN0cmFja3MgbGkgYnV0dG9uOmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSBidXR0b24uYWN0aXZlIHNwYW46YWZ0ZXIsICNib290Y2FtcHMtLW1haW4gdWwjdHJhY2tzIGxpIGJ1dHRvbjpob3ZlciBzcGFuOmFmdGVyLCAjYm9vdGNhbXBzLS1tYWluIHVsI3RyYWNrcyBsaSBidXR0b246Zm9jdXMgc3BhbjphZnRlciwgI2Jvb3RjYW1wcy0tbWFpbiB1bCN0cmFja3MgbGkgYnV0dG9uOmFjdGl2ZSBzcGFuOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuXG4jYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtIDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAubnMtcm93LS10LXMtb25seSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLm5zLXJvdy0tdC1zLW9ubHkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDA7IH0gfVxuICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAubnMtcm93LS10LXMtb25seSAuaW1hZ2UtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLm5zLXJvdy0tdC1zLW9ubHkgLmltYWdlLWNvbnRlbnQgaW1nIHtcbiAgICAgICAgd2lkdGg6IDcwdnc7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAubnMtcm93LS10LXMtb25seSAuaW1hZ2UtY29udGVudCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTIuODc1cmVtOyB9IH1cbiAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50LmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQuYWN0aXZlIHVsLFxuICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC5hY3RpdmUgZGl2W2NsYXNzKj1cIm5zLWNvbC0tXCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50LmFjdGl2ZSAubnMtcm93LS10LXMtb25seSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50LmFjdGl2ZSBoMyAuaWNvbjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgdWwsXG4gICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCBkaXZbY2xhc3MqPVwibnMtY29sLS1cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgdWwgbGksXG4gICAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IGRpdltjbGFzcyo9XCJucy1jb2wtLVwiXSBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgdWwgbGk6bGFzdC1jaGlsZCxcbiAgICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCBkaXZbY2xhc3MqPVwibnMtY29sLS1cIl0gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IC5hY2NvcmRpb24tLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmFjY29yZGlvbi0taXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmFjY29yZGlvbi0taXRlbSAucSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAjOTdENzAwOyB9XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24gLmljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7IH1cbiAgICAgICAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IC5hY2NvcmRpb24tLWl0ZW0gLnEgYnV0dG9uIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk3RDcwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24gLmljb246YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5N0Q3MDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTsgfVxuICAgICAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IC5hY2NvcmRpb24tLWl0ZW0gLnEgYnV0dG9uIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYWNjb3JkaW9uLS1pdGVtIC5xIGJ1dHRvbi5hY3RpdmUgLmljb246YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYWNjb3JkaW9uLS1pdGVtIC5hIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IC5hY2NvcmRpb24tLWl0ZW0gLmEgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYWNjb3JkaW9uLS1pdGVtIC5hIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCAuYWNjb3JkaW9uLS1pdGVtIC5hLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDMuZm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgIzk3RDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGN1cnNvcjogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoMyAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI2Jvb3RjYW1wcy0tbWFpbiAuY29udGVudC13cmFwcGVyIC5jb250ZW50IGgzIC5pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTdENzAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgICAgICNib290Y2FtcHMtLW1haW4gLmNvbnRlbnQtd3JhcHBlciAuY29udGVudCBoMyAuaWNvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTdENzAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAjYm9vdGNhbXBzLS1tYWluIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQgaDMgLmljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiogRkFRICoqL1xuI2ZhcS0taW50cm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NoYXJlZC9lbmdhZ2UyMy9pbWFnZXMvRTIzX0hlYWRlci1GQVEud2VicFwiKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmYXEtLWludHJvIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cblxuI2ZhcS0tbWFpbiAuYWNjb3JkaW9uLS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAjZmFxLS1tYWluIC5hY2NvcmRpb24tLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjZmFxLS1tYWluIC5hY2NvcmRpb24tLWl0ZW0gLnEgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAucSBidXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgIzk3RDcwMDsgfVxuICAgICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24gLmljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7IH1cbiAgICAgICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24gLmljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5N0Q3MDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgI2ZhcS0tbWFpbiAuYWNjb3JkaW9uLS1pdGVtIC5xIGJ1dHRvbiAuaWNvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTdENzAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOyB9XG4gICAgI2ZhcS0tbWFpbiAuYWNjb3JkaW9uLS1pdGVtIC5xIGJ1dHRvbiAudGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAucSBidXR0b24uYWN0aXZlIC5pY29uOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAuYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNmYXEtLW1haW4gLmFjY29yZGlvbi0taXRlbSAuYSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgI2ZhcS0tbWFpbiAuYWNjb3JkaW9uLS1pdGVtIC5hIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgI2ZhcS0tbWFpbiAuYWNjb3JkaW9uLS1pdGVtIC5hLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogbW9iaWxlIGFwcCAqKi9cbi5kaXNwbGF5LS1xci1jb2RlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kaXNwbGF5LS1xci1jb2RlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5kaXNwbGF5LS1xci1jb2RlIHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1heC13aWR0aDogMjIwcHg7IH0gfVxuICAuZGlzcGxheS0tcXItY29kZSBpbWcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cblxuI21vYmlsZWFwcC0tbWFpbiBvbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogaW5zaWRlO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7IH1cbiAgI21vYmlsZWFwcC0tbWFpbiBvbCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAgICNtb2JpbGVhcHAtLW1haW4gb2wgbGkgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuI21vYmlsZWFwcC0tbWFpbiAuaW1hZ2UtLWVuZ2FnZS1zY3JlZW5zaG90IHtcbiAgbWFyZ2luOiAxcmVtIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjbW9iaWxlYXBwLS1tYWluIC5pbWFnZS0tZW5nYWdlLXNjcmVlbnNob3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDgwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNtb2JpbGVhcHAtLW1haW4gLmltYWdlLS1lbmdhZ2Utc2NyZWVuc2hvdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luOiAycmVtIDAgMCAwOyB9XG4gICAgICAjbW9iaWxlYXBwLS1tYWluIC5pbWFnZS0tZW5nYWdlLXNjcmVlbnNob3QgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLm1rdG9Gb3JtIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLm1rdG9Gb3JtIC5ta3RvT2Zmc2V0LCAubWt0b0Zvcm0gLm1rdG9HdXR0ZXIsIC5ta3RvRm9ybSAubWt0b0NsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1rdG9Gb3JtIC5ta3RvTGFiZWwsXG4gIC5ta3RvRm9ybSAubWt0b0ZpZWxkLFxuICAubWt0b0Zvcm0gLm1rdG9GaWVsZFdyYXAge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1rdG9Gb3JtIGxhYmVsLFxuICAubWt0b0Zvcm0gaW5wdXQsXG4gIC5ta3RvRm9ybSBzZWxlY3QsXG4gIC5ta3RvRm9ybSB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1rdG9Gb3JtIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZy1ib3R0b206IDAuM3JlbTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm1rdG9Gb3JtIGxhYmVsW2Zvcj1cIkNvbW1lbnRzX19jXCJdLCAubWt0b0Zvcm0gbGFiZWxbZm9yPVwiZW1haWxPcHRJblwiXSwgLm1rdG9Gb3JtIGxhYmVsW2Zvcj1cIm5FVFNDT1VUQmxvZ1N1YnNjcmliZWRcIl0sIC5ta3RvRm9ybSBsYWJlbFtmb3I9XCJuRVRTQ09VVEJsb2dPcHRJblwiXSwgLm1rdG9Gb3JtIGxhYmVsW2Zvcj1cImJsb2dTdWJzY3JpcHRpb25cIl0sIC5ta3RvRm9ybSBsYWJlbFtmb3I9XCJhU0VSVEJsb2dTdWJzY3JpYmVkXCJdIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7IH1cbiAgLm1rdG9Gb3JtIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBhcHBlYXJhbmNlOiBtZW51bGlzdC1idXR0b24gIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbiAhaW1wb3J0YW50OyB9XG4gIC5ta3RvRm9ybSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAubWt0b0Zvcm0gLm1rdG9Bc3Rlcml4IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB0b3A6IDNweDtcbiAgICBjb2xvcjogcmVkOyB9XG4gIC5ta3RvRm9ybSAubWt0b0xhYmVsIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfVxuICAubWt0b0Zvcm0gLm1rdG9GaWVsZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0VGRUZFRjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgcGFkZGluZzogOHB4IDZweDsgfVxuICAgIC5ta3RvRm9ybSAubWt0b0ZpZWxkW3R5cGU9XCJlbWFpbFwiXSwgLm1rdG9Gb3JtIC5ta3RvRmllbGRbdHlwZT1cInRlbFwiXSwgLm1rdG9Gb3JtIC5ta3RvRmllbGRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAubWt0b0Zvcm0gLm1rdG9Mb2dpY2FsRmllbGQgaW5wdXQgKyBsYWJlbCNMYmxuRVRTQ09VVEJsb2dTdWJzY3JpYmVkLFxuICAubWt0b0Zvcm0gLm1rdG9Mb2dpY2FsRmllbGQgaW5wdXQgKyBsYWJlbCNMYmxlbWFpbE9wdEluLFxuICAubWt0b0Zvcm0gLm1rdG9Mb2dpY2FsRmllbGQgaW5wdXQgKyBsYWJlbCNMYmxhU0VSVEJsb2dTdWJzY3JpYmVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ta3RvRm9ybSAubWt0b0xvZ2ljYWxGaWVsZC5ta3RvQ2hlY2tib3hMaXN0LCAubWt0b0Zvcm0gLm1rdG9Mb2dpY2FsRmllbGQubWt0b1JhZGlvTGlzdCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7IH1cbiAgICAubWt0b0Zvcm0gLm1rdG9Mb2dpY2FsRmllbGQubWt0b0NoZWNrYm94TGlzdCBpbnB1dCwgLm1rdG9Gb3JtIC5ta3RvTG9naWNhbEZpZWxkLm1rdG9DaGVja2JveExpc3QgbGFiZWwsIC5ta3RvRm9ybSAubWt0b0xvZ2ljYWxGaWVsZC5ta3RvUmFkaW9MaXN0IGlucHV0LCAubWt0b0Zvcm0gLm1rdG9Mb2dpY2FsRmllbGQubWt0b1JhZGlvTGlzdCBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1rdG9Gb3JtIC5ta3RvTG9naWNhbEZpZWxkLm1rdG9DaGVja2JveExpc3QgaW5wdXQsIC5ta3RvRm9ybSAubWt0b0xvZ2ljYWxGaWVsZC5ta3RvUmFkaW9MaXN0IGlucHV0IHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1rdG9Gb3JtIC5ta3RvTG9naWNhbEZpZWxkLm1rdG9DaGVja2JveExpc3QgbGFiZWwsIC5ta3RvRm9ybSAubWt0b0xvZ2ljYWxGaWVsZC5ta3RvUmFkaW9MaXN0IGxhYmVsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5ta3RvRm9ybSAubWt0b0J1dHRvblJvdyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDAgMDsgfVxuICAgIC5ta3RvRm9ybSAubWt0b0J1dHRvblJvdyAubWt0b0J1dHRvbldyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9TaW1wbGUgLm1rdG9CdXR0b24sXG4gIC5ta3RvRm9ybSAubWt0b0J1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZDogIzk3RDcwMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjgyRDM0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzk3RDcwMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC4zNXJlbSAxLjJyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1NpbXBsZSAubWt0b0J1dHRvbixcbiAgICAgIC5ta3RvRm9ybSAubWt0b0J1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uV3JhcC5ta3RvU2ltcGxlIC5ta3RvQnV0dG9uLFxuICAgICAgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDEuOHJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9TaW1wbGUgLm1rdG9CdXR0b246aG92ZXIsIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1NpbXBsZSAubWt0b0J1dHRvbjpmb2N1cywgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uV3JhcC5ta3RvU2ltcGxlIC5ta3RvQnV0dG9uLmZvY3VzLXZpc2libGUsXG4gICAgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uOmhvdmVyLFxuICAgIC5ta3RvRm9ybSAubWt0b0J1dHRvbjpmb2N1cyxcbiAgICAubWt0b0Zvcm0gLm1rdG9CdXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICM5N0Q3MDAgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1NpbXBsZSAubWt0b0J1dHRvbjpob3ZlciwgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uV3JhcC5ta3RvU2ltcGxlIC5ta3RvQnV0dG9uOmZvY3VzLCAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9TaW1wbGUgLm1rdG9CdXR0b24uZm9jdXMtdmlzaWJsZSxcbiAgICAgICAgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uOmhvdmVyLFxuICAgICAgICAubWt0b0Zvcm0gLm1rdG9CdXR0b246Zm9jdXMsXG4gICAgICAgIC5ta3RvRm9ybSAubWt0b0J1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluOyB9IH1cbiAgICAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9TaW1wbGUgLm1rdG9CdXR0b246Zm9jdXMsIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1NpbXBsZSAubWt0b0J1dHRvbjpmb2N1cy12aXNpYmxlLFxuICAgIC5ta3RvRm9ybSAubWt0b0J1dHRvbjpmb2N1cyxcbiAgICAubWt0b0Zvcm0gLm1rdG9CdXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAxcHggZG90dGVkICMwMDYwNjggIWltcG9ydGFudDtcbiAgICAgIG91dGxpbmU6IDFweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAubWt0b0Zvcm0gLm1rdG9FcnJvck1zZyB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjA2OCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLm1rdG9Gb3JtIC5ta3RvRXJyb3JBcnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjA2OCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogIzAwNjA2OCAhaW1wb3J0YW50OyB9XG4gIC5ta3RvRm9ybSAubWt0b0h0bWxUZXh0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLm1rdG9Gb3JtIC5ta3RvSHRtbFRleHQgYSB7XG4gICAgICBjb2xvcjogIzk3RDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAubWt0b0Zvcm0gLm1rdG9IdG1sVGV4dCBhOmhvdmVyLCAubWt0b0Zvcm0gLm1rdG9IdG1sVGV4dCBhOmZvY3VzLCAubWt0b0Zvcm0gLm1rdG9IdG1sVGV4dCBhLmZvY3VzLXZpc2libGUge1xuICAgICAgICBjb2xvcjogIzk3RDcwMDsgfVxuICAubWt0b0Zvcm0gLm1rdG9Gb3JtUm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ta3RvRm9ybSAubWt0b0Zvcm1Sb3cgLm1rdG9Gb3JtQ29sIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1rdG9Gb3JtIC5ta3RvRm9ybVJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAgIC5ta3RvRm9ybSAubWt0b0Zvcm1Sb3cgLm1rdG9Gb3JtQ29sIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgICAgIC5ta3RvRm9ybSAubWt0b0Zvcm1Sb3cgLm1rdG9Gb3JtQ29sICsgLm1rdG9Gb3JtQ29sIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9IH1cblxuLm1rdG9SYWRpb0xpc3QgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1rdG9Nb2JpbGVTaG93IC5ta3RvRm9ybSwgLm1rdG9Gb3JtICoge1xuICBwYWRkaW5nOiBpbmhlcml0OyB9XG5cbi5lYXJseS1iaXJkLWZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBtaW4td2lkdGg6IDgwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5lYXJseS1iaXJkLWZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gICAgICBtaW4td2lkdGg6IDM1MHB4OyB9IH1cbiAgLmVhcmx5LWJpcmQtZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddOjpwbGFjZWhvbGRlciB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4uZWFybHktYmlyZC1mb3JtIGJ1dHRvbi5lYXJseS1iaXJkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5N0Q3MDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM5N0Q3MDA7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMC41cmVtIDJyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAuZWFybHktYmlyZC1mb3JtIGJ1dHRvbi5lYXJseS1iaXJkLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAwIC0xMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgIC5lYXJseS1iaXJkLWZvcm0gYnV0dG9uLmVhcmx5LWJpcmQtYnV0dG9uIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9IH1cbiAgLmVhcmx5LWJpcmQtZm9ybSBidXR0b24uZWFybHktYmlyZC1idXR0b246aG92ZXIsIC5lYXJseS1iaXJkLWZvcm0gYnV0dG9uLmVhcmx5LWJpcmQtYnV0dG9uOmZvY3VzLCAuZWFybHktYmlyZC1mb3JtIGJ1dHRvbi5lYXJseS1iaXJkLWJ1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjOTdENzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIC5lYXJseS1iaXJkLWZvcm0gYnV0dG9uLmVhcmx5LWJpcmQtYnV0dG9uOmhvdmVyLCAuZWFybHktYmlyZC1mb3JtIGJ1dHRvbi5lYXJseS1iaXJkLWJ1dHRvbjpmb2N1cywgLmVhcmx5LWJpcmQtZm9ybSBidXR0b24uZWFybHktYmlyZC1idXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47IH0gfVxuIiwiLy8gY29udGFpbmVyc1xuLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAkZGVza3RvcDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMXJlbSBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG5cbiAgJi0tdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgIG1heC13aWR0aDogNzUlO1xuICAgIH1cbiAgfVxuXG4gICYtLW5pbmV0eSB7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmLS1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtLXNtYWxsIHtcbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG4gIH1cblxuICAmLS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDtcbiAgICAmLWNlbnRlciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gZ2xvYmFsIHBhZGRpbmcgYW5kIG1hcmdpbiBjbGFzc2VzXG5AaW1wb3J0IFwicGFkZGluZ1wiO1xuXG4uY29sdW1uLWxlZnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBtYXgtd2lkdGg6IDY1JTtcbiAgICBtaW4td2lkdGg6IDY1JTtcbiAgICB3aWR0aDogNjUlO1xuICB9XG59XG5cbi5jb2x1bW4tcmlnaHQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICBtaW4td2lkdGg6IDM1JTtcbiAgICB3aWR0aDogMzUlO1xuICB9XG59XG5cbi8vIHJvd3Ncbi5ucy1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG4gICYtLXRvcCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAmLS1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgJi0td3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gICYtLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgJi0tZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gICYtLXQtcy1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgPiBkaXZbY2xhc3MqPW5zLWNvbF0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuLm5zLWZsZXgge1xuICAmLS1ncm93IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbn1cblxuLm5zLWNvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgJi0tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cbi8vIGNvbHVtbnNcbltjbGFzcyo9J25zLWNvbC0tJ10ge1xuICBAaW5jbHVkZSBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG5AaW5jbHVkZSBtb2JpbGUtc21hbGwge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC5ucy1jb2wtLW0tcy0jeyRpfSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skZ3JpZC1jb2x1bW5zfSAqICN7JGl9IC0gI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcbiAgICB9XG4gICAgLm5zLWNvbC0tbS1zLSN7JGdyaWQtY29sdW1uc30ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBtb2JpbGUge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC5ucy1jb2wtLW0tI3skaX0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGdyaWQtY29sdW1uc30gKiAjeyRpfSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG4gICAgfVxuICAgIC5ucy1jb2wtLW0tI3skZ3JpZC1jb2x1bW5zfSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbkBpbmNsdWRlIG1vYmlsZS1sYXJnZSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLm5zLWNvbC0tbS1sLSN7JGl9IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAjeyRncmlkLWNvbHVtbnN9ICogI3skaX0gLSAjeyRncmlkLWd1dHRlci13aWR0aH0pO1xuICAgIH1cbiAgICAubnMtY29sLS1tLWwtI3skZ3JpZC1jb2x1bW5zfSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAubnMtY29sLS10LXMtI3skaX0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGdyaWQtY29sdW1uc30gKiAjeyRpfSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG4gICAgfVxuICAgIC5ucy1jb2wtLXQtcy0jeyRncmlkLWNvbHVtbnN9IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgdGFibGV0IHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAubnMtY29sLS10LSN7JGl9IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAjeyRncmlkLWNvbHVtbnN9ICogI3skaX0gLSAjeyRncmlkLWd1dHRlci13aWR0aH0pO1xuICAgIH1cbiAgICAubnMtY29sLS10LSN7JGdyaWQtY29sdW1uc30ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBkZXNrdG9wLXNtYWxsIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAubnMtY29sLS1kLXMtI3skaX0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGdyaWQtY29sdW1uc30gKiAjeyRpfSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG4gICAgfVxuICAgIC5ucy1jb2wtLWQtcy0jeyRncmlkLWNvbHVtbnN9IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgZGVza3RvcCB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLm5zLWNvbC0tZC0jeyRpfSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skZ3JpZC1jb2x1bW5zfSAqICN7JGl9IC0gI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcbiAgICB9XG4gICAgLm5zLWNvbC0tZC0jeyRncmlkLWNvbHVtbnN9IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludHNcbiRtb2JpbGUtc21hbGw6IDMyMHB4O1xuJG1vYmlsZTogNDgwcHg7XG4kbW9iaWxlLWxhcmdlOiA1NzZweDtcbiR0YWJsZXQtc21hbGw6IDc2OHB4O1xuJHRhYmxldDogOTkycHg7XG4kdGFibGV0LWxhcmdlOiAxMTQwcHg7XG4kZGVza3RvcC1zbWFsbDogMTI4MHB4O1xuJGRlc2t0b3A6IDE0ODBweDtcbiRkZXNrdG9wLWxhcmdlOiAxOTIwcHg7XG5cbi8vIGNvbHVtbnNcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWF4LXdpZHRoOiAkZGVza3RvcDtcbiRncmlkLWd1dHRlci13aWR0aDogMzNweDtcblxuXG4vLyBmb250XG4kZm9udC1zaXplLWxhcmdlOiAyNHB4O1xuJGZvbnQtc2l6ZS1tZWRpdW06IDIwcHg7XG4kZm9udC1zaXplLWRlZmF1bHQ6IDE2cHg7XG4kZm9udC1zaXplLXNtbDogMTRweDtcbiRmb250LWZhbWlseS1kZWZhdWx0OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiRmb250LXdlaWdodC1saWdodDogMzAwO1xuJGZvbnQtd2VpZ2h0LWRlZmF1bHQ6IDQwMDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiRmb250LXdlaWdodC1leHRyYWJvbGQ6IDgwMDtcblxuLy8gVHJhbnNpdGlvbi5cbiRkZWZhdWx0LXRyYW5zaXRpb24tYnV0dG9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuJGRlZmF1bHQtdHJhbnNpdGlvbi1idXR0b24taG92ZXI6IGFsbCAuM3MgZWFzZS1pbjtcbiRkZWZhdWx0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4iLCIvLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gQ29udmVydCB0byByZW1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkZm9udC1zaXplLWRlZmF1bHQpIHtcbiAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLyBNaXhpbiBicmVha3BvaW50cy5cbkBtaXhpbiBtb2JpbGUtc21hbGwge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlLXNtYWxsKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1vYmlsZSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtb2JpbGUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLWxhcmdlIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1vYmlsZS1sYXJnZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB0YWJsZXQtc21hbGwge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXNtYWxsKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHRhYmxldCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdGFibGV0LWxhcmdlIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1sYXJnZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBkZXNrdG9wLXNtYWxsIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3Atc21hbGwpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZGVza3RvcCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGRlc2t0b3AtbGFyZ2Uge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVza3RvcC1sYXJnZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEJveCBzaXppbmcuXG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBDbGVhcmZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIENvbnRhaW5lci5cbkBtaXhpbiBpbml0LWNvbnRhaW5lcigkbWF4LXdpZHRoOiAkZGVza3RvcCkge1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogY29udmVydC10by1yZW0oJGZvbnQtc2l6ZS1kZWZhdWx0KTtcbiAgcGFkZGluZy1yaWdodDogY29udmVydC10by1yZW0oJGZvbnQtc2l6ZS1kZWZhdWx0KTtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLy8gUm93LlxuQG1peGluIGluaXQtcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbn1cblxuQG1peGluIGNzcy1hY2NvcmRpb24taWNvbigpIHtcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy1hY2NvcmRpb24taWNvbi1kZWZhdWx0KCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLWFjY29yZGlvbi1pY29uLWRlZmF1bHQoKTtcbiAgfVxufVxuXG5AbWl4aW4gY3NzLWFjY29yZGlvbi1pY29uLWRlZmF1bHQoKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi8vIEFycm93cy5cbkBtaXhpbiBjYXJvdXNlbC1hcnJvdyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjVweDtcbiAgei1pbmRleDogOTA7XG59XG5cbkBtaXhpbiBjYXJvdXNlbC1sZWZ0LWFycm93e1xuICBAaW5jbHVkZSBjYXJvdXNlbC1hcnJvdztcbiAgbGVmdDogMDtcbn1cblxuQG1peGluIGNhcm91c2VsLXJpZ2h0LWFycm93e1xuICBAaW5jbHVkZSBjYXJvdXNlbC1hcnJvdztcbiAgcmlnaHQ6IDA7XG59XG4iLCIvLyBwYWRkaW5nXG4ucGFkZGluZyB7XG4gICYtLXRvcCB7XG4gICAgJi0tbm9uZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgJi0teHhzbWwge1xuICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14c21sIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjg3NXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1tZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxnIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teGxnIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWJvdHRvbSB7XG4gICAgJi0tbm9uZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgJi0teHhzbWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14c21sIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjg3NXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1tZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teGxnIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWxlZnQge1xuICAgICYtLW5vbmUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAmLS14eHNtbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teHNtbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLW1kIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1sZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teGxnIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tcmlnaHQge1xuICAgICYtLW5vbmUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgJi0teHhzbWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teHNtbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1zbWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1tZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1sZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14bGcge1xuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXRvcC1ib3R0b20ge1xuICAgICYtLW5vbmUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgJi0teHhzbWwge1xuICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXhzbWwge1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXNtbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44NzVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLW1kIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1sZyB7XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teGxnIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXh4bGcge1xuICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tbGVmdC1yaWdodCB7XG4gICAgJi0tbm9uZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmLS14eHNtbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teHNtbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjg3NXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxnIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14bGcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tYWxsIHtcbiAgICAmLS1ub25lIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0teHhzbWwge1xuICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teHNtbCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1zbWwge1xuICAgICAgcGFkZGluZzogMC44NzVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1tZCB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1sZyB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14bGcge1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1hcmdpbiB7XG4gICYtLXRvcCB7XG4gICAgJi0tbm9uZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAmLS14eHNtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14c21sIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXNtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjg3NXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLW1kIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxnIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXhsZyB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tYm90dG9tIHtcbiAgICAmLS1ub25lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICYtLXh4c21sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXhzbWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuODc1cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbGcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teGxnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1sZWZ0IHtcbiAgICAmLS1ub25lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAmLS14eHNtbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXhzbWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1zbWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuODc1cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLW1kIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbGcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14bGcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tcmlnaHQge1xuICAgICYtLW5vbmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmLS14eHNtbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teHNtbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC44NzVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLW1kIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1sZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teGxnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tdG9wLWJvdHRvbSB7XG4gICAgJi0tbm9uZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgJi0teHhzbWwge1xuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teHNtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1zbWwge1xuICAgICAgbWFyZ2luLXRvcDogMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLW1kIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxnIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXhsZyB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWxlZnQtcmlnaHQge1xuICAgICYtLW5vbmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgICYtLXh4c21sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLXhzbWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC44NzVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1tZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1sZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS14bGcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1hbGwge1xuICAgICYtLW5vbmUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmLS14eHNtbCB7XG4gICAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW46IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teHNtbCB7XG4gICAgICBtYXJnaW46IDAuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbjogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc21sIHtcbiAgICAgIG1hcmdpbjogMC44NzVyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBtYXJnaW46IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtLW1kIHtcbiAgICAgIG1hcmdpbjogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbjogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1sZyB7XG4gICAgICBtYXJnaW46IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbjogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0teGxnIHtcbiAgICAgIG1hcmdpbjogMnJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1hcmdpbjogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvLyBIZWFkZXJzXG4ubnMtaDEsIC5ucy1oMywgLm5zLWgzLCAubnMtaDQsIC5ucy1oNSwgLm5zLWg2LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZGVmYXVsdDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXG4gIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuXG4ubnMtaDEsXG5oMSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgQGluY2x1ZGUgbW9iaWxlLWxhcmdlIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxuICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMy4yNXJlbTtcbiAgfVxufVxuXG4ubnMtaDIsXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBAaW5jbHVkZSBtb2JpbGUtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gIH1cbn1cblxuLm5zLWgzLFxuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIEBpbmNsdWRlIG1vYmlsZS1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICB9XG59XG5cbi5ucy1oNCxcbmg0IHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLm5zLWg1LCAubnMtaDYsXG5oNSwgaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbn1cblxuLm5zLWg2LFxuaDYge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWRlZmF1bHQ7XG59XG5cbi8vIEJvZHkgc2l6ZXNcbnAsIGxpLnAgIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG59XG5cbi5ucy1mb250IHtcbiAgJi0tdXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmLS13ZWlnaHQge1xuICAgICYtbGlnaHQge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgICB9XG4gICAgJi1ub3JtYWwge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1kZWZhdWx0O1xuICAgIH1cbiAgICAmLXNlbWlib2xkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgfVxuICAgICYtYm9sZCB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICAgICYtZXh0cmFib2xkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtZXh0cmFib2xkO1xuICAgIH1cbiAgfVxuXG4gICYtLXNpemUge1xuICAgICYtLWxhcmdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgfVxuICAgICYtLW1lZGl1bSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgICAmLS13aWRlIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjFweDtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjkycHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtLWNvbmRlbnNlZCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1hbGlnbiB7XG4gICYtLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgJi0tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJi0tbW9iaWxlLW9ubHkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbiAgfVxufVxuIiwiaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtZGVmYXVsdDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1kZWZhdWx0O1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbjpyb290IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1kZWZhdWx0O1xuICBmb250LXNpemU6ICRmb250LXNpemUtZGVmYXVsdDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZGVmYXVsdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogJGJsYWNrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwxcHgsMXB4LDFweCk7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIvLyBUaGVtZSBjb2xvcnNcbiR3aGl0ZTogI0ZGRkZGRjtcbiRibGFjazogIzAwMDAwMDtcbiRibGFjay1tZW51OiAjMDAwMDAwO1xuXG4kZ3JleTogI0VGRUZFRjtcbiRncmV5LWRhcms6ICMyODJEMzQ7XG5cbiRibHVlOiAjMDA2MDY4O1xuJGdyZWVuOiAjOTdENzAwO1xuJHB1cnBsZTogIzEyMDYzNDtcblxuJHRlYWwtbGlnaHQ6ICNCRkZGRkY7XG4kdGVhbDogIzAwOTlBODtcbiR0ZWFsLWRhcms6ICMwQTYwNjc7XG5cbiRjaXJjbGUtYmx1ZTogIzMwNjFGRjtcbiRjaXJjbGUtdGVhbDogIzAwOTlBODtcbiRjaXJjbGUtZ3JlZW46ICM5N0Q3MDA7XG4kY2lyY2xlLXB1cnBsZTogIzgwMjlERTtcbiRjaXJjbGUtcGluazogI0VCNERGNjsiLCIvLyBMaW5rcyBhbmQgYnV0dG9uc1xuLm5zLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBwYWRkaW5nOiAwLjNyZW0gMS4xcmVtO1xuICBtaW4td2lkdGg6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWJ1dHRvbjtcbiAgbWFyZ2luOiAwLjI1cmVtIDA7XG5cbiAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC40cmVtIDEuODc1cmVtO1xuICAgIG1pbi13aWR0aDogMTByZW07XG4gIH1cbiAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgJGdyZWVuO1xuICB9XG4gICYtLXByaW1hcnkge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmVlbjtcblxuICAgICY6aG92ZXIsICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWJ1dHRvbi1ob3ZlcjtcbiAgICB9XG4gIH1cbiAgJi0tc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAmOmhvdmVyLCAmLmZvY3VzLXZpc2libGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xuICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1idXR0b24taG92ZXI7XG4gICAgfVxuICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRncmVlbiwgMC41KTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkZ3JlZW4sIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWJ1dHRvbi1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmICsgLm5zLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbW9iaWxlLWxhcmdlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5ucy1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAmOmFmdGVyIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMC41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL2NvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGYtOCw8c3ZnIHdpZHRoPSc2JyBoZWlnaHQ9JzknIHZpZXdCb3g9JzAgMCA2IDknIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHJlY3QgeD0nMC45NTQ5NzEnIHk9JzguNTcwNTYnIHdpZHRoPScxLjI4OTAzJyBoZWlnaHQ9JzUuNzgyMDQnIHRyYW5zZm9ybT0ncm90YXRlKC0xMzUgMC45NTQ5NzEgOC41NzA1NiknIGZpbGw9JyUyMzI4MkQzNCcvPjxyZWN0IHg9JzAuMDc4ODI2OScgeT0nMS4zNDA1OCcgd2lkdGg9JzEuMjg5MDMnIGhlaWdodD0nNS43MzE3NScgdHJhbnNmb3JtPSdyb3RhdGUoLTQ1IDAuMDc4ODI2OSAxLjM0MDU4KScgZmlsbD0nJTIzMjgyRDM0Jy8+PC9zdmc+XCIpO1xuICB9XG4gICYtLWxpZ2h0IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgICY6aG92ZXIsICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGYtOCw8c3ZnIHdpZHRoPSc2JyBoZWlnaHQ9JzknIHZpZXdCb3g9JzAgMCA2IDknIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHJlY3QgeD0nMC45NTQ5NzEnIHk9JzguNTcwNTYnIHdpZHRoPScxLjI4OTAzJyBoZWlnaHQ9JzUuNzgyMDQnIHRyYW5zZm9ybT0ncm90YXRlKC0xMzUgMC45NTQ5NzEgOC41NzA1NiknIGZpbGw9JyUyMzk3RDcwMCcvPjxyZWN0IHg9JzAuMDc4ODI2OScgeT0nMS4zNDA1OCcgd2lkdGg9JzEuMjg5MDMnIGhlaWdodD0nNS43MzE3NScgdHJhbnNmb3JtPSdyb3RhdGUoLTQ1IDAuMDc4ODI2OSAxLjM0MDU4KScgZmlsbD0nJTIzOTdENzAwJy8+PC9zdmc+XCIpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGYtOCw8c3ZnIHdpZHRoPSc2JyBoZWlnaHQ9JzknIHZpZXdCb3g9JzAgMCA2IDknIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHJlY3QgeD0nMC45NTQ5NzEnIHk9JzguNTcwNTYnIHdpZHRoPScxLjI4OTAzJyBoZWlnaHQ9JzUuNzgyMDQnIHRyYW5zZm9ybT0ncm90YXRlKC0xMzUgMC45NTQ5NzEgOC41NzA1NiknIGZpbGw9JyUyM0ZGRkZGRicvPjxyZWN0IHg9JzAuMDc4ODI2OScgeT0nMS4zNDA1OCcgd2lkdGg9JzEuMjg5MDMnIGhlaWdodD0nNS43MzE3NScgdHJhbnNmb3JtPSdyb3RhdGUoLTQ1IDAuMDc4ODI2OSAxLjM0MDU4KScgZmlsbD0nJTIzRkZGRkZGJy8+PC9zdmc+XCIpO1xuICAgIH1cbiAgfVxuICAmLS1ibG9jayB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxufSIsImhlYWRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICNoZWFkZXItLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2stbWVudTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIC5jb2x1bW4tbGVmdCB7XG4gICAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlci10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LWxhcmdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4tcmlnaHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGdhcDogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIGdhcDogMnJlbTtcbiAgICAgIH1cbiAgICAgIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5yZWdpc3RlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1vYmlsZS1sYXJnZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yZWdpc3Rlci1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDAuMnJlbSAwLjlyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUtbGFyZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yZWdpc3Rlci1tb2JpbGUtbGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBAaW5jbHVkZSBtb2JpbGUtbGFyZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5lbmdhZ2UtbG9nbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtb2JpbGUtbGFyZ2Uge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgdGFibGV0LWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZywgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LWxhcmdlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ1cmdlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgd2lkdGg6IDQycHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICB9XG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1JTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICA+IHNwYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IC0xNjNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjay1tZW51LCAwLjkpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzO1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogNjJweDtcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIHRvcDogODdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTQ4MHB4O1xuICAgICAgJi5ucy1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LWxhcmdlIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwLjc1cmVtIDAuNzVyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1sYXJnZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBkZXNrdG9wLXNtYWxsIHtcbiAgICAgICAgICBtYXJnaW46IDAgMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhlYWx0aC1zYWZldHkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjI1cmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICYubmF2LWxpbmsge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyZWVuO1xuICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgJGdyZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiZm9vdGVyLFxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWRhcms7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuZm9vdGVyLWNvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5lbmdhZ2UtbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW0gYXV0bztcbiAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgfVxuICAgICAgaW1nLCBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWwjbnMtZm9vdGVyLW1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIEBpbmNsdWRlIG1vYmlsZS1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGl2IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsI3NvY2lhbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAwLjVyZW07XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHdpZHRoOiAxLjFyZW07XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjNyZW07XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IGNhbGMoMTAlIC0gMi41cmVtKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgei1pbmRleDogMTU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHVycGxlLDAuNCk7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgJi5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiaHRtbCB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xufVxuXG5ib2R5IHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cbiAgJi5tb2RhbC1vcGVuIHtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5ub2RlX19jb250ZW50ID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1idXR0b247XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1idXR0b24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICAgIG91dGxpbmUtY29sb3I6ICRncmVlbjtcbiAgICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG4gIH1cblxuICAuanMtZm9jdXMtdmlzaWJsZSA6Zm9jdXM6bm90KC5mb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIG1haW4uZW5nYWdlLW1haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4N3B4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmI2ludHJvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICBtYXJnaW46IDJyZW0gMDtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgICAgICAgJiNwYXVzZUJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgfVxuICB9XG59XG5cbi5kaXNwbGF5IHtcbiAgJi0tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYtLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gICYtLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgJi0tZGVza3RvcCxcbiAgJi0tdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgJi0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBtb2JpbGUtbGFyZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi1sYXJnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbW9iaWxlLWxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICYtLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cblxuLmJrZy0taW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cblxuICAmLS1maXhlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG5cbiAgJi0tbm8tZ3JhZGllbnQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLS1ncmFkaWVudCB7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsMCwwLDEpIDIwJSwgcmdiYSgwLDAsMCwwLjIpIDgwJSk7XG4gICAgfVxuICAgICYtLXRvLXJpZ2h0IHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwwLDAsMC42KSAwJSwgcmdiYSgwLDAsMCwwKSA4MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXZpZGVvIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2stbWVudTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDEwLCAzNCwgMSkgMTIwcHgsIHJnYmEoMCwgMCwgMCwgMCkgNTAlKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gID4gLmNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMTtcblxuICAgICYtLWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxufVxuXG4uYmtnLS1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktZGFyaztcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmJrZy0tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5pbWFnZS1jYXJvdXNlbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmLmZvY3VzLXZpc2libGUge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiA1JTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiBkYXRhLXByZWZpeD1cImZhbFwiIGRhdGEtaWNvbj1cImNoZXZyb24tbGVmdFwiIGNsYXNzPVwic3ZnLWlubGluZS0tZmEgZmEtY2hldnJvbi1sZWZ0IGZhLXctOFwiIHJvbGU9XCJpbWdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNTYgNTEyXCI+PHBhdGggZmlsbD1cIiUyM2ZmZmZmZlwiIGQ9XCJNMjM4LjQ3NSA0NzUuNTM1bDcuMDcxLTcuMDdjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxTDUwLjA1MyAyNTYgMjQ1LjU0NiA2MC41MDZjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxbC03LjA3MS03LjA3Yy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcgMEwxMC40NTQgMjQ3LjUxNWMtNC42ODYgNC42ODYtNC42ODYgMTIuMjg0IDAgMTYuOTcxbDIxMS4wNTEgMjExLjA1YzQuNjg2IDQuNjg2IDEyLjI4NCA0LjY4NiAxNi45Ny0uMDAxelwiPjwvcGF0aD48L3N2Zz4nKTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDUlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiIGRhdGEtcHJlZml4PVwiZmFsXCIgZGF0YS1pY29uPVwiY2hldnJvbi1yaWdodFwiIGNsYXNzPVwic3ZnLWlubGluZS0tZmEgZmEtY2hldnJvbi1yaWdodCBmYS13LThcIiByb2xlPVwiaW1nXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjU2IDUxMlwiPjxwYXRoIGZpbGw9XCIlMjNmZmZmZmZcIiBkPVwiTTE3LjUyNSAzNi40NjVsLTcuMDcxIDcuMDdjLTQuNjg2IDQuNjg2LTQuNjg2IDEyLjI4NCAwIDE2Ljk3MUwyMDUuOTQ3IDI1NiAxMC40NTQgNDUxLjQ5NGMtNC42ODYgNC42ODYtNC42ODYgMTIuMjg0IDAgMTYuOTcxbDcuMDcxIDcuMDdjNC42ODYgNC42ODYgMTIuMjg0IDQuNjg2IDE2Ljk3IDBsMjExLjA1MS0yMTEuMDVjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxTDM0LjQ5NSAzNi40NjVjLTQuNjg2LTQuNjg3LTEyLjI4NC00LjY4Ny0xNi45NyAwelwiPjwvcGF0aD48L3N2Zz4nKTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuNzUpO1xuICAgICAgfVxuICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBlYXJseSBiaXJkIHJlZ2lzdHJhdGlvbiAqL1xuLmVhcmx5LWJpcmQge1xuICAmLmJrZy0taW1nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stbWVudTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDMwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3NpdGVzL2RlZmF1bHQvZmlsZXMvc2hhcmVkL2VuZ2FnZTIzL2ltYWdlcy9FMjNfU2l0ZV9Gb290ZXJfTmV3LndlYnBcIik7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL0Vhcmx5X0JpcmRfQmtnZC5qcGdcIik7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMC42KSAtMjAlLCByZ2JhKDAsMCwwLDAuOSkgOTAlKSAhaW1wb3J0YW50O1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICB9XG4gIH1cbn1cblxuLyogbWFpbiBwYWdlICovXG4uZnJvbnQtcGFnZSB7XG4gICYuYmtnLS1pbWcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1tZW51O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc2l0ZXMvZGVmYXVsdC9maWxlcy9zaGFyZWQvZW5nYWdlMjMvaW1hZ2VzL0UyM19Ib21lcGFnZS1IZWFkZXIud2VicFwiKTtcbiAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvRTIzX1NhdmV0aGVEYXRlX0hlYWRlci5qcGdcIik7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwwLDAsMC42KSAwJSwgcmdiYSgwLDAsMCwwKSA4MCUpO1xuICAgICAgLy9vcGFjaXR5OiAwLjY1O1xuICAgIH1cbiAgfVxuXG4gICYtLWhpZ2hsaWdodHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1tZW51O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc2l0ZXMvZGVmYXVsdC9maWxlcy9zaGFyZWQvZW5nYWdlMjMvaW1hZ2VzL0UyM19Ib21lcGFnZS1IaWdobGlnaHRzLndlYnBcIik7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL0UyM19ncmFkaWVudCBtZXNoX2JrZ2QuanBnXCIpO1xuICB9XG5cbiAgLmNhbGVuZGFyLWljb24ge1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXNwZWFrZXJzIHtcbiAgICAuaGVhZHNob3Qge1xuICAgICAgYm9yZGVyOiA4cHggc29saWQgJGdyZWVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcmVtO1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgfVxuICAgICAgICAmICsgLnNlc3Npb24tZGV0YWlscyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2Vzc2lvbi1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYW5pbWF0aW9uOiAwLjRzIGZhZGVJbjtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4udmlkeWFyZC1wbGF5ZXItY29udGFpbmVyIC52aWR5YXJkLWxpZ2h0Ym94LXRodW1ibmFpbCB7XG4gIC5wbGF5LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC43ICFpbXBvcnRhbnQ7XG5cbiAgICAuYXJyb3cge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgLnBsYXktYnV0dG9uIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLyoqIGFnZW5kYSAqKi9cbiNhZ2VuZGEge1xuICAmLS1pbnRybyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLW1lbnU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NoYXJlZC9lbmdhZ2UyMy9pbWFnZXMvRTIzX0hlYWRlci1BZ2VuZGEud2VicFwiKTtcbiAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvRTIyX1N1YnBhZ2UtQWdlbmRhLnBuZ1wiKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxuICB9XG4gICYtLW1haW4ge1xuICAgIC5ucy1yb3cge1xuICAgICAgPiBkaXYge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzEpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcblxuICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4rMiksXG4gICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbisxKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKiBwbGFuIHlvdXIgdHJpcCAqKi9cbiNwbGFuIHtcbiAgJi0taW50cm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1tZW51O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc2l0ZXMvZGVmYXVsdC9maWxlcy9zaGFyZWQvZW5nYWdlMjMvaW1hZ2VzL0UyM19IZWFkZXItUGxhbl95b3VyX3RyaXAud2VicFwiKTtcbiAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvRTIyX1N1YnBhZ2UtUGxhbl95b3VyX3RyaXAucG5nXCIpO1xuICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi0tdGFicyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktZGFyaztcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICBsaSB7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRibGFjay1tZW51O1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMC41cmVtIDAgMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4sXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkZ3JlZW47XG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgc3BhbixcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tbWFpbiB7XG4gICAgLnBsYW4tY29udGVudC13cmFwcGVyLFxuICAgIC5sZXR0ZXJzLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNsb2NhdGlvbiB7XG4gICAgICAucmVnaXN0ZXItYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNsZXR0ZXJzIHtcbiAgICAgICYgPiAubnMtcm93ID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGV0dGVycy1kb3dubG9hZHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDFyZW0gYXV0bztcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxldHRlcnMtdGFicyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4sXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgc3BhbixcbiAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmp1c3RpZmljYXRpb24tbGV0dGVyIHtcbiAgICAgIHAsIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgICAgdGFibGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICYubm93cmFwIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKiBldmVudHMgKiovXG4jZXZlbnRzIHtcbiAgJi0taW50cm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1tZW51O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc2l0ZXMvZGVmYXVsdC9maWxlcy9zaGFyZWQvZW5nYWdlMjMvaW1hZ2VzL0UyM19IZWFkZXItRXZlbnRzLndlYnBcIik7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL0UyMl9TdWJwYWdlLVBsYW5feW91cl90cmlwLnBuZ1wiKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxuICB9XG4gICYtLW1haW4ge1xuICAgIC5mZWF0dXJlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAuZmVhdHVyZS0taW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgJi5kZXNrdG9wLXJldmVyc2Uge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAuZmVhdHVyZS0tdGV4dCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mZWF0dXJlLS1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlLS10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIC5mZWF0dXJlLS10ZXh0LS1oZWFkZXJzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuICAgICAgICAuZmVhdHVyZS0tdGV4dC0taGVhZGVycyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDAwIDQwJSx0cmFuc3BhcmVudCA4MCUpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqIHdvcmtzaG9wcyAqKi9cbiNib290Y2FtcHMge1xuICAmLS1pbnRybyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLW1lbnU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NoYXJlZC9lbmdhZ2UyMy9pbWFnZXMvRTIzX0hlYWRlci1IYW5kcy1vbl9sYWJzLndlYnBcIik7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL0UyMl9TdWJwYWdlLUhhbmRfb25fbGFicy1jZXJ0aWZpY2F0aW9uLnBuZ1wiKTtcbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxuICB9XG5cbiAgJi0tbWFpbiB7XG4gICAgLm5zLXJvdyB7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwjdHJhY2tzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHRhYmxldC1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYnIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldC1sYXJnZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgNHB4IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDIuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm5zLXJvdy0tdC1zLW9ubHkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmltYWdlLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogdW5zZXQ7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiAtMi44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB1bCxcbiAgICAgICAgICBkaXZbY2xhc3MqPVwibnMtY29sLS1cIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5ucy1yb3ctLXQtcy1vbmx5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwsXG4gICAgICAgIGRpdltjbGFzcyo9XCJucy1jb2wtLVwiXSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbi0taXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnEge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy1hY2NvcmRpb24taWNvbigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5hIHtcbiAgICAgICAgICAgIEBleHRlbmQgLm1hcmdpbi0tYm90dG9tLS1sZztcbiAgICAgICAgICAgIEBleHRlbmQgLm1hcmdpbi0tbGVmdC0tbGc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgYS5ucy1idXR0b24ge1xuICAgICAgICAgIEBleHRlbmQgLm1hcmdpbi0tdG9wLS1tZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkZ3JlZW47XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IGluaXRpYWw7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBjc3MtYWNjb3JkaW9uLWljb24oKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKiBGQVEgKiovXG4jZmFxIHtcbiAgJi0taW50cm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1tZW51O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3NpdGVzL2RlZmF1bHQvZmlsZXMvc2hhcmVkL2VuZ2FnZTIzL2ltYWdlcy9FMjNfSGVhZGVyLUZBUS53ZWJwXCIpO1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9FMjJfU3VicGFnZS1GQVEucG5nXCIpO1xuICAgIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICB9XG5cbiAgfVxuICAmLS1tYWluIHtcbiAgICAuYWNjb3JkaW9uLS1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgLnEge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNzcy1hY2NvcmRpb24taWNvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYSB7XG4gICAgICAgIEBleHRlbmQgLm1hcmdpbi0tYm90dG9tLS1sZztcbiAgICAgICAgQGV4dGVuZCAubWFyZ2luLS1sZWZ0LS1sZztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cblxuLyoqIG1vYmlsZSBhcHAgKiovXG4uZGlzcGxheS0tcXItY29kZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIHRhYmxldC1zbWFsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIH1cbiAgfVxuICBpbWcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIH1cbn1cblxuI21vYmlsZWFwcC0tbWFpbiB7XG4gIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBpbnNpZGU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIGxpIHtcbiAgICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cbiAgfVxuICAuaW1hZ2UtLWVuZ2FnZS1zY3JlZW5zaG90IHtcbiAgICBtYXJnaW46IDFyZW0gYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubWt0b0Zvcm0ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWRlZmF1bHQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIC5ta3RvT2Zmc2V0LCAubWt0b0d1dHRlciwgLm1rdG9DbGVhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5ta3RvTGFiZWwsXG4gIC5ta3RvRmllbGQsXG4gIC5ta3RvRmllbGRXcmFwIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGxhYmVsLFxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjNyZW07XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICZbZm9yPVwiQ29tbWVudHNfX2NcIl0sXG4gICAgJltmb3I9XCJlbWFpbE9wdEluXCJdLFxuICAgICZbZm9yPVwibkVUU0NPVVRCbG9nU3Vic2NyaWJlZFwiXSxcbiAgICAmW2Zvcj1cIm5FVFNDT1VUQmxvZ09wdEluXCJdLFxuICAgICZbZm9yPVwiYmxvZ1N1YnNjcmlwdGlvblwiXSxcbiAgICAmW2Zvcj1cImFTRVJUQmxvZ1N1YnNjcmliZWRcIl0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICB9XG4gIH1cbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbiAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1rdG9Bc3Rlcml4IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB0b3A6IDNweDtcbiAgICBjb2xvcjogcmVkO1xuICB9XG4gIC5ta3RvTGFiZWwge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICB9XG4gIC5ta3RvRmllbGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nOiA4cHggNnB4O1xuICAgICZbdHlwZT1cImVtYWlsXCJdLFxuICAgICZbdHlwZT1cInRlbFwiXSxcbiAgICAmW3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5ta3RvTG9naWNhbEZpZWxkIHtcbiAgICBpbnB1dCtsYWJlbCNMYmxuRVRTQ09VVEJsb2dTdWJzY3JpYmVkLFxuICAgIGlucHV0K2xhYmVsI0xibGVtYWlsT3B0SW4sXG4gICAgaW5wdXQrbGFiZWwjTGJsYVNFUlRCbG9nU3Vic2NyaWJlZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmLm1rdG9DaGVja2JveExpc3QsXG4gICAgJi5ta3RvUmFkaW9MaXN0IHtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGlucHV0LCBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1rdG9CdXR0b25Sb3cge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLy90ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDAgMDtcbiAgICAubWt0b0J1dHRvbldyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIC8vbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5ta3RvQnV0dG9uV3JhcC5ta3RvU2ltcGxlIC5ta3RvQnV0dG9uLFxuICAubWt0b0J1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZDogJGdyZWVuICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRncmV5LWRhcmsgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmVlbiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC4zNXJlbSAxLjJyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWJ1dHRvbjtcbiAgICB9XG4gICAgQGluY2x1ZGUgdGFibGV0LXNtYWxsIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjhyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRncmVlbiAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tYnV0dG9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgJGJsdWUgIWltcG9ydGFudDtcbiAgICAgIG91dGxpbmU6IDFweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgLm1rdG9FcnJvck1zZyB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5ta3RvRXJyb3JBcnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6ICRibHVlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWt0b0h0bWxUZXh0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJi5mb2N1cy12aXNpYmxlIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWt0b0Zvcm1Sb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5ta3RvRm9ybUNvbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0YWJsZXQtc21hbGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgLm1rdG9Gb3JtQ29sIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgJiArIC5ta3RvRm9ybUNvbCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9SZW1vdmUgdGhlIGNoZWNrZWQgZWxlbWVudCBmb3IgcmFkaW8gYnV0dG9uLlxuLm1rdG9SYWRpb0xpc3QgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWt0b01vYmlsZVNob3cgLm1rdG9Gb3JtLCAubWt0b0Zvcm0gKiB7XG4gIHBhZGRpbmc6IGluaGVyaXQ7XG59XG5cbi5lYXJseS1iaXJkLWZvcm0ge1xuICBpbnB1dFt0eXBlPSdlbWFpbCddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgbWluLXdpZHRoOiA4MCU7XG4gICAgQGluY2x1ZGUgbW9iaWxlLWxhcmdlIHtcbiAgICAgIG1pbi13aWR0aDogMzUwcHg7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICBidXR0b24uZWFybHktYmlyZC1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW47XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDAgYXV0bztcbiAgICBAaW5jbHVkZSBtb2JpbGUtbGFyZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMCAtMTAlO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1idXR0b247XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMtdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1idXR0b24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn0iXX0= */
