@charset "UTF-8";
@font-face {
  font-family: 'latoblack';
  src: url("../fonts/lato-black-webfont.woff2") format("woff2"), url("../fonts/lato-black-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'latobold';
  src: url("../fonts/lato-bold-webfont.woff2") format("woff2"), url("../fonts/lato-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'latoitalic';
  src: url("../fonts/lato-italic-webfont.woff2") format("woff2"), url("../fonts/lato-italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'latoregular';
  src: url("../fonts/lato-regular-webfont.woff2") format("woff2"), url("../fonts/lato-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'kaushan_scriptregular';
  src: url("../fonts/kaushanscript-regular-webfont.woff2") format("woff2"), url("../fonts/kaushanscript-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'permanent_markerregular';
  src: url("../fonts/permanentmarker-regular-webfont.woff2") format("woff2"), url("../fonts/permanentmarker-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'playfair_displayblack';
  src: url("../fonts/playfairdisplay-black-webfont.woff2") format("woff2"), url("../fonts/playfairdisplay-black-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'ralewayblack';
  src: url("../fonts/raleway-black-webfont.woff2") format("woff2"), url("../fonts/raleway-black-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * 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
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

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

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

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

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

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

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * 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; }

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

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

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

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 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 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-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 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

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

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

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

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

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

.foundation-mq {
  font-family: "small=0em&medium=40em&large=50em&xlarge=64em&xxlarge=77.5em&xxxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  font-family: "latoregular", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #264467;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0.1875rem; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0.1875rem; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0.1875rem;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h3 strong,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: 700;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3,
h3 strong, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "latoregular";
  font-style: normal;
  font-weight: normal;
  color: #264467;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #70818F; }

h1, .h1 {
  font-size: 1.75rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0; }

h2, .h2 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0; }

h3, h3 strong, .h3 {
  font-size: 1.375rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0; }

h4, .h4 {
  font-size: 1.25rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0; }

h5, .h5 {
  font-size: 1.125rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.8125rem; }
  h2, .h2 {
    font-size: 1.875rem; }
  h3, h3 strong, .h3 {
    font-size: 1.6875rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.3125rem; }
  h6, .h6 {
    font-size: 1.0625rem; } }

a {
  line-height: inherit;
  color: #264467;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #006EB7; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 83.5625rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #70818F;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: 700; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #70818F; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #264467; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #264467; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #000000;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #70818F;
  background-color: #F7F7F6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000000; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #F7F7F6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #000000;
  border-radius: 0.1875rem; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #264467; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media screen and (min-width: 50em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 64em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 77.5em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxxlarge-text-left {
    text-align: left; }
  .xxxlarge-text-right {
    text-align: right; }
  .xxxlarge-text-center {
    text-align: center; }
  .xxxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #264467;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3,
  h3 strong {
    orphans: 3;
    widows: 3; }
  h2,
  h3,
  h3 strong {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, .entry-content .gform_wrapper input[type="submit"], .footer-contact-wrapper input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 0;
  font-family: "ralewayblack";
  padding: 0em 3em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 360px;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-size: 0.75rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #48BEFF;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper [data-whatinput='mouse'] input[type="submit"], [data-whatinput='mouse'] .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper [data-whatinput='mouse'] input[type="submit"] {
    outline: 0; }
  .button:hover, .entry-content .gform_wrapper input[type="submit"]:hover, .footer-contact-wrapper input[type="submit"]:hover, .button:focus, .entry-content .gform_wrapper input[type="submit"]:focus, .footer-contact-wrapper input[type="submit"]:focus {
    background-color: #264467;
    color: #FFFFFF; }
  .button.tiny, .entry-content .gform_wrapper input.tiny[type="submit"], .footer-contact-wrapper input.tiny[type="submit"] {
    font-size: 0.55rem; }
  .button.small, .entry-content .gform_wrapper input.small[type="submit"], .footer-contact-wrapper input.small[type="submit"] {
    font-size: 0.65rem; }
  .button.large, .entry-content .gform_wrapper input.large[type="submit"], .footer-contact-wrapper input[type="submit"] {
    font-size: 0.75rem; }
  .button.expanded, .entry-content .gform_wrapper input.expanded[type="submit"], .footer-contact-wrapper input.expanded[type="submit"] {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .entry-content .gform_wrapper input.primary[type="submit"], .footer-contact-wrapper input.primary[type="submit"] {
    background-color: #264467;
    color: #FFFFFF; }
    .button.primary:hover, .entry-content .gform_wrapper input.primary[type="submit"]:hover, .footer-contact-wrapper input.primary[type="submit"]:hover, .button.primary:focus, .entry-content .gform_wrapper input.primary[type="submit"]:focus, .footer-contact-wrapper input.primary[type="submit"]:focus {
      background-color: #1e3652;
      color: #FFFFFF; }
  .button.secondary, .entry-content .gform_wrapper input.secondary[type="submit"], .footer-contact-wrapper input.secondary[type="submit"] {
    background-color: #006EB7;
    color: #FFFFFF; }
    .button.secondary:hover, .entry-content .gform_wrapper input.secondary[type="submit"]:hover, .footer-contact-wrapper input.secondary[type="submit"]:hover, .button.secondary:focus, .entry-content .gform_wrapper input.secondary[type="submit"]:focus, .footer-contact-wrapper input.secondary[type="submit"]:focus {
      background-color: #005892;
      color: #FFFFFF; }
  .button.success, .entry-content .gform_wrapper input.success[type="submit"], .footer-contact-wrapper input.success[type="submit"] {
    background-color: #6EB533;
    color: #000000; }
    .button.success:hover, .entry-content .gform_wrapper input.success[type="submit"]:hover, .footer-contact-wrapper input.success[type="submit"]:hover, .button.success:focus, .entry-content .gform_wrapper input.success[type="submit"]:focus, .footer-contact-wrapper input.success[type="submit"]:focus {
      background-color: #589129;
      color: #000000; }
  .button.warning, .entry-content .gform_wrapper input.warning[type="submit"], .footer-contact-wrapper input.warning[type="submit"] {
    background-color: #F8D300;
    color: #000000; }
    .button.warning:hover, .entry-content .gform_wrapper input.warning[type="submit"]:hover, .footer-contact-wrapper input.warning[type="submit"]:hover, .button.warning:focus, .entry-content .gform_wrapper input.warning[type="submit"]:focus, .footer-contact-wrapper input.warning[type="submit"]:focus {
      background-color: #c6a900;
      color: #000000; }
  .button.alert, .entry-content .gform_wrapper input.alert[type="submit"], .footer-contact-wrapper input.alert[type="submit"] {
    background-color: #EC1D24;
    color: #000000; }
    .button.alert:hover, .entry-content .gform_wrapper input.alert[type="submit"]:hover, .footer-contact-wrapper input.alert[type="submit"]:hover, .button.alert:focus, .entry-content .gform_wrapper input.alert[type="submit"]:focus, .footer-contact-wrapper input.alert[type="submit"]:focus {
      background-color: #c41016;
      color: #000000; }
  .button.disabled, .entry-content .gform_wrapper input.disabled[type="submit"], .footer-contact-wrapper input.disabled[type="submit"], .button[disabled], .entry-content .gform_wrapper input[disabled][type="submit"], .footer-contact-wrapper input[disabled][type="submit"] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .entry-content .gform_wrapper input.disabled[type="submit"], .footer-contact-wrapper input.disabled[type="submit"], .button.disabled:hover, .entry-content .gform_wrapper input.disabled[type="submit"]:hover, .footer-contact-wrapper input.disabled[type="submit"]:hover, .button.disabled:focus, .entry-content .gform_wrapper input.disabled[type="submit"]:focus, .footer-contact-wrapper input.disabled[type="submit"]:focus, .button[disabled], .entry-content .gform_wrapper input[disabled][type="submit"], .footer-contact-wrapper input[disabled][type="submit"], .button[disabled]:hover, .entry-content .gform_wrapper input[disabled][type="submit"]:hover, .footer-contact-wrapper input[disabled][type="submit"]:hover, .button[disabled]:focus, .entry-content .gform_wrapper input[disabled][type="submit"]:focus, .footer-contact-wrapper input[disabled][type="submit"]:focus {
      background-color: #48BEFF;
      color: #FFFFFF; }
    .button.disabled.primary, .entry-content .gform_wrapper input.disabled.primary[type="submit"], .footer-contact-wrapper input.disabled.primary[type="submit"], .button[disabled].primary, .entry-content .gform_wrapper input[disabled].primary[type="submit"], .footer-contact-wrapper input[disabled].primary[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .entry-content .gform_wrapper input.disabled.primary[type="submit"], .footer-contact-wrapper input.disabled.primary[type="submit"], .button.disabled.primary:hover, .entry-content .gform_wrapper input.disabled.primary[type="submit"]:hover, .footer-contact-wrapper input.disabled.primary[type="submit"]:hover, .button.disabled.primary:focus, .entry-content .gform_wrapper input.disabled.primary[type="submit"]:focus, .footer-contact-wrapper input.disabled.primary[type="submit"]:focus, .button[disabled].primary, .entry-content .gform_wrapper input[disabled].primary[type="submit"], .footer-contact-wrapper input[disabled].primary[type="submit"], .button[disabled].primary:hover, .entry-content .gform_wrapper input[disabled].primary[type="submit"]:hover, .footer-contact-wrapper input[disabled].primary[type="submit"]:hover, .button[disabled].primary:focus, .entry-content .gform_wrapper input[disabled].primary[type="submit"]:focus, .footer-contact-wrapper input[disabled].primary[type="submit"]:focus {
        background-color: #264467;
        color: #FFFFFF; }
    .button.disabled.secondary, .entry-content .gform_wrapper input.disabled.secondary[type="submit"], .footer-contact-wrapper input.disabled.secondary[type="submit"], .button[disabled].secondary, .entry-content .gform_wrapper input[disabled].secondary[type="submit"], .footer-contact-wrapper input[disabled].secondary[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .entry-content .gform_wrapper input.disabled.secondary[type="submit"], .footer-contact-wrapper input.disabled.secondary[type="submit"], .button.disabled.secondary:hover, .entry-content .gform_wrapper input.disabled.secondary[type="submit"]:hover, .footer-contact-wrapper input.disabled.secondary[type="submit"]:hover, .button.disabled.secondary:focus, .entry-content .gform_wrapper input.disabled.secondary[type="submit"]:focus, .footer-contact-wrapper input.disabled.secondary[type="submit"]:focus, .button[disabled].secondary, .entry-content .gform_wrapper input[disabled].secondary[type="submit"], .footer-contact-wrapper input[disabled].secondary[type="submit"], .button[disabled].secondary:hover, .entry-content .gform_wrapper input[disabled].secondary[type="submit"]:hover, .footer-contact-wrapper input[disabled].secondary[type="submit"]:hover, .button[disabled].secondary:focus, .entry-content .gform_wrapper input[disabled].secondary[type="submit"]:focus, .footer-contact-wrapper input[disabled].secondary[type="submit"]:focus {
        background-color: #006EB7;
        color: #FFFFFF; }
    .button.disabled.success, .entry-content .gform_wrapper input.disabled.success[type="submit"], .footer-contact-wrapper input.disabled.success[type="submit"], .button[disabled].success, .entry-content .gform_wrapper input[disabled].success[type="submit"], .footer-contact-wrapper input[disabled].success[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .entry-content .gform_wrapper input.disabled.success[type="submit"], .footer-contact-wrapper input.disabled.success[type="submit"], .button.disabled.success:hover, .entry-content .gform_wrapper input.disabled.success[type="submit"]:hover, .footer-contact-wrapper input.disabled.success[type="submit"]:hover, .button.disabled.success:focus, .entry-content .gform_wrapper input.disabled.success[type="submit"]:focus, .footer-contact-wrapper input.disabled.success[type="submit"]:focus, .button[disabled].success, .entry-content .gform_wrapper input[disabled].success[type="submit"], .footer-contact-wrapper input[disabled].success[type="submit"], .button[disabled].success:hover, .entry-content .gform_wrapper input[disabled].success[type="submit"]:hover, .footer-contact-wrapper input[disabled].success[type="submit"]:hover, .button[disabled].success:focus, .entry-content .gform_wrapper input[disabled].success[type="submit"]:focus, .footer-contact-wrapper input[disabled].success[type="submit"]:focus {
        background-color: #6EB533;
        color: #000000; }
    .button.disabled.warning, .entry-content .gform_wrapper input.disabled.warning[type="submit"], .footer-contact-wrapper input.disabled.warning[type="submit"], .button[disabled].warning, .entry-content .gform_wrapper input[disabled].warning[type="submit"], .footer-contact-wrapper input[disabled].warning[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .entry-content .gform_wrapper input.disabled.warning[type="submit"], .footer-contact-wrapper input.disabled.warning[type="submit"], .button.disabled.warning:hover, .entry-content .gform_wrapper input.disabled.warning[type="submit"]:hover, .footer-contact-wrapper input.disabled.warning[type="submit"]:hover, .button.disabled.warning:focus, .entry-content .gform_wrapper input.disabled.warning[type="submit"]:focus, .footer-contact-wrapper input.disabled.warning[type="submit"]:focus, .button[disabled].warning, .entry-content .gform_wrapper input[disabled].warning[type="submit"], .footer-contact-wrapper input[disabled].warning[type="submit"], .button[disabled].warning:hover, .entry-content .gform_wrapper input[disabled].warning[type="submit"]:hover, .footer-contact-wrapper input[disabled].warning[type="submit"]:hover, .button[disabled].warning:focus, .entry-content .gform_wrapper input[disabled].warning[type="submit"]:focus, .footer-contact-wrapper input[disabled].warning[type="submit"]:focus {
        background-color: #F8D300;
        color: #000000; }
    .button.disabled.alert, .entry-content .gform_wrapper input.disabled.alert[type="submit"], .footer-contact-wrapper input.disabled.alert[type="submit"], .button[disabled].alert, .entry-content .gform_wrapper input[disabled].alert[type="submit"], .footer-contact-wrapper input[disabled].alert[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .entry-content .gform_wrapper input.disabled.alert[type="submit"], .footer-contact-wrapper input.disabled.alert[type="submit"], .button.disabled.alert:hover, .entry-content .gform_wrapper input.disabled.alert[type="submit"]:hover, .footer-contact-wrapper input.disabled.alert[type="submit"]:hover, .button.disabled.alert:focus, .entry-content .gform_wrapper input.disabled.alert[type="submit"]:focus, .footer-contact-wrapper input.disabled.alert[type="submit"]:focus, .button[disabled].alert, .entry-content .gform_wrapper input[disabled].alert[type="submit"], .footer-contact-wrapper input[disabled].alert[type="submit"], .button[disabled].alert:hover, .entry-content .gform_wrapper input[disabled].alert[type="submit"]:hover, .footer-contact-wrapper input[disabled].alert[type="submit"]:hover, .button[disabled].alert:focus, .entry-content .gform_wrapper input[disabled].alert[type="submit"]:focus, .footer-contact-wrapper input[disabled].alert[type="submit"]:focus {
        background-color: #EC1D24;
        color: #000000; }
  .button.hollow, .entry-content .gform_wrapper input.hollow[type="submit"], .footer-contact-wrapper input.hollow[type="submit"] {
    border: 1px solid #48BEFF;
    color: #48BEFF; }
    .button.hollow, .entry-content .gform_wrapper input.hollow[type="submit"], .footer-contact-wrapper input.hollow[type="submit"], .button.hollow:hover, .entry-content .gform_wrapper input.hollow[type="submit"]:hover, .footer-contact-wrapper input.hollow[type="submit"]:hover, .button.hollow:focus, .entry-content .gform_wrapper input.hollow[type="submit"]:focus, .footer-contact-wrapper input.hollow[type="submit"]:focus {
      background-color: transparent; }
    .button.hollow.disabled, .entry-content .gform_wrapper input.hollow.disabled[type="submit"], .footer-contact-wrapper input.hollow.disabled[type="submit"], .button.hollow.disabled:hover, .entry-content .gform_wrapper input.hollow.disabled[type="submit"]:hover, .footer-contact-wrapper input.hollow.disabled[type="submit"]:hover, .button.hollow.disabled:focus, .entry-content .gform_wrapper input.hollow.disabled[type="submit"]:focus, .footer-contact-wrapper input.hollow.disabled[type="submit"]:focus, .button.hollow[disabled], .entry-content .gform_wrapper input.hollow[disabled][type="submit"], .footer-contact-wrapper input.hollow[disabled][type="submit"], .button.hollow[disabled]:hover, .entry-content .gform_wrapper input.hollow[disabled][type="submit"]:hover, .footer-contact-wrapper input.hollow[disabled][type="submit"]:hover, .button.hollow[disabled]:focus, .entry-content .gform_wrapper input.hollow[disabled][type="submit"]:focus, .footer-contact-wrapper input.hollow[disabled][type="submit"]:focus {
      background-color: transparent; }
    .button.hollow:hover, .entry-content .gform_wrapper input.hollow[type="submit"]:hover, .footer-contact-wrapper input.hollow[type="submit"]:hover, .button.hollow:focus, .entry-content .gform_wrapper input.hollow[type="submit"]:focus, .footer-contact-wrapper input.hollow[type="submit"]:focus {
      border-color: #0069a4;
      color: #0069a4; }
      .button.hollow:hover.disabled, .entry-content .gform_wrapper input.hollow[type="submit"]:hover.disabled, .footer-contact-wrapper input.hollow[type="submit"]:hover.disabled, .button.hollow:hover[disabled], .entry-content .gform_wrapper input.hollow[type="submit"]:hover[disabled], .footer-contact-wrapper input.hollow[type="submit"]:hover[disabled], .button.hollow:focus.disabled, .entry-content .gform_wrapper input.hollow[type="submit"]:focus.disabled, .footer-contact-wrapper input.hollow[type="submit"]:focus.disabled, .button.hollow:focus[disabled], .entry-content .gform_wrapper input.hollow[type="submit"]:focus[disabled], .footer-contact-wrapper input.hollow[type="submit"]:focus[disabled] {
        border: 1px solid #48BEFF;
        color: #48BEFF; }
    .button.hollow.primary, .entry-content .gform_wrapper input.hollow.primary[type="submit"], .footer-contact-wrapper input.hollow.primary[type="submit"] {
      border: 1px solid #264467;
      color: #264467; }
      .button.hollow.primary:hover, .entry-content .gform_wrapper input.hollow.primary[type="submit"]:hover, .footer-contact-wrapper input.hollow.primary[type="submit"]:hover, .button.hollow.primary:focus, .entry-content .gform_wrapper input.hollow.primary[type="submit"]:focus, .footer-contact-wrapper input.hollow.primary[type="submit"]:focus {
        border-color: #132234;
        color: #132234; }
        .button.hollow.primary:hover.disabled, .entry-content .gform_wrapper input.hollow.primary[type="submit"]:hover.disabled, .footer-contact-wrapper input.hollow.primary[type="submit"]:hover.disabled, .button.hollow.primary:hover[disabled], .entry-content .gform_wrapper input.hollow.primary[type="submit"]:hover[disabled], .footer-contact-wrapper input.hollow.primary[type="submit"]:hover[disabled], .button.hollow.primary:focus.disabled, .entry-content .gform_wrapper input.hollow.primary[type="submit"]:focus.disabled, .footer-contact-wrapper input.hollow.primary[type="submit"]:focus.disabled, .button.hollow.primary:focus[disabled], .entry-content .gform_wrapper input.hollow.primary[type="submit"]:focus[disabled], .footer-contact-wrapper input.hollow.primary[type="submit"]:focus[disabled] {
          border: 1px solid #264467;
          color: #264467; }
    .button.hollow.secondary, .entry-content .gform_wrapper input.hollow.secondary[type="submit"], .footer-contact-wrapper input.hollow.secondary[type="submit"] {
      border: 1px solid #006EB7;
      color: #006EB7; }
      .button.hollow.secondary:hover, .entry-content .gform_wrapper input.hollow.secondary[type="submit"]:hover, .footer-contact-wrapper input.hollow.secondary[type="submit"]:hover, .button.hollow.secondary:focus, .entry-content .gform_wrapper input.hollow.secondary[type="submit"]:focus, .footer-contact-wrapper input.hollow.secondary[type="submit"]:focus {
        border-color: #00375c;
        color: #00375c; }
        .button.hollow.secondary:hover.disabled, .entry-content .gform_wrapper input.hollow.secondary[type="submit"]:hover.disabled, .footer-contact-wrapper input.hollow.secondary[type="submit"]:hover.disabled, .button.hollow.secondary:hover[disabled], .entry-content .gform_wrapper input.hollow.secondary[type="submit"]:hover[disabled], .footer-contact-wrapper input.hollow.secondary[type="submit"]:hover[disabled], .button.hollow.secondary:focus.disabled, .entry-content .gform_wrapper input.hollow.secondary[type="submit"]:focus.disabled, .footer-contact-wrapper input.hollow.secondary[type="submit"]:focus.disabled, .button.hollow.secondary:focus[disabled], .entry-content .gform_wrapper input.hollow.secondary[type="submit"]:focus[disabled], .footer-contact-wrapper input.hollow.secondary[type="submit"]:focus[disabled] {
          border: 1px solid #006EB7;
          color: #006EB7; }
    .button.hollow.success, .entry-content .gform_wrapper input.hollow.success[type="submit"], .footer-contact-wrapper input.hollow.success[type="submit"] {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.hollow.success:hover, .entry-content .gform_wrapper input.hollow.success[type="submit"]:hover, .footer-contact-wrapper input.hollow.success[type="submit"]:hover, .button.hollow.success:focus, .entry-content .gform_wrapper input.hollow.success[type="submit"]:focus, .footer-contact-wrapper input.hollow.success[type="submit"]:focus {
        border-color: #375b1a;
        color: #375b1a; }
        .button.hollow.success:hover.disabled, .entry-content .gform_wrapper input.hollow.success[type="submit"]:hover.disabled, .footer-contact-wrapper input.hollow.success[type="submit"]:hover.disabled, .button.hollow.success:hover[disabled], .entry-content .gform_wrapper input.hollow.success[type="submit"]:hover[disabled], .footer-contact-wrapper input.hollow.success[type="submit"]:hover[disabled], .button.hollow.success:focus.disabled, .entry-content .gform_wrapper input.hollow.success[type="submit"]:focus.disabled, .footer-contact-wrapper input.hollow.success[type="submit"]:focus.disabled, .button.hollow.success:focus[disabled], .entry-content .gform_wrapper input.hollow.success[type="submit"]:focus[disabled], .footer-contact-wrapper input.hollow.success[type="submit"]:focus[disabled] {
          border: 1px solid #6EB533;
          color: #6EB533; }
    .button.hollow.warning, .entry-content .gform_wrapper input.hollow.warning[type="submit"], .footer-contact-wrapper input.hollow.warning[type="submit"] {
      border: 1px solid #F8D300;
      color: #F8D300; }
      .button.hollow.warning:hover, .entry-content .gform_wrapper input.hollow.warning[type="submit"]:hover, .footer-contact-wrapper input.hollow.warning[type="submit"]:hover, .button.hollow.warning:focus, .entry-content .gform_wrapper input.hollow.warning[type="submit"]:focus, .footer-contact-wrapper input.hollow.warning[type="submit"]:focus {
        border-color: #7c6a00;
        color: #7c6a00; }
        .button.hollow.warning:hover.disabled, .entry-content .gform_wrapper input.hollow.warning[type="submit"]:hover.disabled, .footer-contact-wrapper input.hollow.warning[type="submit"]:hover.disabled, .button.hollow.warning:hover[disabled], .entry-content .gform_wrapper input.hollow.warning[type="submit"]:hover[disabled], .footer-contact-wrapper input.hollow.warning[type="submit"]:hover[disabled], .button.hollow.warning:focus.disabled, .entry-content .gform_wrapper input.hollow.warning[type="submit"]:focus.disabled, .footer-contact-wrapper input.hollow.warning[type="submit"]:focus.disabled, .button.hollow.warning:focus[disabled], .entry-content .gform_wrapper input.hollow.warning[type="submit"]:focus[disabled], .footer-contact-wrapper input.hollow.warning[type="submit"]:focus[disabled] {
          border: 1px solid #F8D300;
          color: #F8D300; }
    .button.hollow.alert, .entry-content .gform_wrapper input.hollow.alert[type="submit"], .footer-contact-wrapper input.hollow.alert[type="submit"] {
      border: 1px solid #EC1D24;
      color: #EC1D24; }
      .button.hollow.alert:hover, .entry-content .gform_wrapper input.hollow.alert[type="submit"]:hover, .footer-contact-wrapper input.hollow.alert[type="submit"]:hover, .button.hollow.alert:focus, .entry-content .gform_wrapper input.hollow.alert[type="submit"]:focus, .footer-contact-wrapper input.hollow.alert[type="submit"]:focus {
        border-color: #7a0a0e;
        color: #7a0a0e; }
        .button.hollow.alert:hover.disabled, .entry-content .gform_wrapper input.hollow.alert[type="submit"]:hover.disabled, .footer-contact-wrapper input.hollow.alert[type="submit"]:hover.disabled, .button.hollow.alert:hover[disabled], .entry-content .gform_wrapper input.hollow.alert[type="submit"]:hover[disabled], .footer-contact-wrapper input.hollow.alert[type="submit"]:hover[disabled], .button.hollow.alert:focus.disabled, .entry-content .gform_wrapper input.hollow.alert[type="submit"]:focus.disabled, .footer-contact-wrapper input.hollow.alert[type="submit"]:focus.disabled, .button.hollow.alert:focus[disabled], .entry-content .gform_wrapper input.hollow.alert[type="submit"]:focus[disabled], .footer-contact-wrapper input.hollow.alert[type="submit"]:focus[disabled] {
          border: 1px solid #EC1D24;
          color: #EC1D24; }
  .button.clear, .entry-content .gform_wrapper input.clear[type="submit"], .footer-contact-wrapper input.clear[type="submit"] {
    border: 1px solid #48BEFF;
    color: #48BEFF; }
    .button.clear, .entry-content .gform_wrapper input.clear[type="submit"], .footer-contact-wrapper input.clear[type="submit"], .button.clear:hover, .entry-content .gform_wrapper input.clear[type="submit"]:hover, .footer-contact-wrapper input.clear[type="submit"]:hover, .button.clear:focus, .entry-content .gform_wrapper input.clear[type="submit"]:focus, .footer-contact-wrapper input.clear[type="submit"]:focus {
      background-color: transparent; }
    .button.clear.disabled, .entry-content .gform_wrapper input.clear.disabled[type="submit"], .footer-contact-wrapper input.clear.disabled[type="submit"], .button.clear.disabled:hover, .entry-content .gform_wrapper input.clear.disabled[type="submit"]:hover, .footer-contact-wrapper input.clear.disabled[type="submit"]:hover, .button.clear.disabled:focus, .entry-content .gform_wrapper input.clear.disabled[type="submit"]:focus, .footer-contact-wrapper input.clear.disabled[type="submit"]:focus, .button.clear[disabled], .entry-content .gform_wrapper input.clear[disabled][type="submit"], .footer-contact-wrapper input.clear[disabled][type="submit"], .button.clear[disabled]:hover, .entry-content .gform_wrapper input.clear[disabled][type="submit"]:hover, .footer-contact-wrapper input.clear[disabled][type="submit"]:hover, .button.clear[disabled]:focus, .entry-content .gform_wrapper input.clear[disabled][type="submit"]:focus, .footer-contact-wrapper input.clear[disabled][type="submit"]:focus {
      background-color: transparent; }
    .button.clear:hover, .entry-content .gform_wrapper input.clear[type="submit"]:hover, .footer-contact-wrapper input.clear[type="submit"]:hover, .button.clear:focus, .entry-content .gform_wrapper input.clear[type="submit"]:focus, .footer-contact-wrapper input.clear[type="submit"]:focus {
      border-color: #0069a4;
      color: #0069a4; }
      .button.clear:hover.disabled, .entry-content .gform_wrapper input.clear[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear[type="submit"]:hover.disabled, .button.clear:hover[disabled], .entry-content .gform_wrapper input.clear[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear[type="submit"]:hover[disabled], .button.clear:focus.disabled, .entry-content .gform_wrapper input.clear[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear[type="submit"]:focus.disabled, .button.clear:focus[disabled], .entry-content .gform_wrapper input.clear[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear[type="submit"]:focus[disabled] {
        border: 1px solid #48BEFF;
        color: #48BEFF; }
    .button.clear, .entry-content .gform_wrapper input.clear[type="submit"], .footer-contact-wrapper input.clear[type="submit"], .button.clear.disabled, .entry-content .gform_wrapper input.clear.disabled[type="submit"], .footer-contact-wrapper input.clear.disabled[type="submit"], .button.clear[disabled], .entry-content .gform_wrapper input.clear[disabled][type="submit"], .footer-contact-wrapper input.clear[disabled][type="submit"], .button.clear:hover, .entry-content .gform_wrapper input.clear[type="submit"]:hover, .footer-contact-wrapper input.clear[type="submit"]:hover, .button.clear:hover.disabled, .entry-content .gform_wrapper input.clear[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear[type="submit"]:hover.disabled, .button.clear:hover[disabled], .entry-content .gform_wrapper input.clear[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear[type="submit"]:hover[disabled], .button.clear:focus, .entry-content .gform_wrapper input.clear[type="submit"]:focus, .footer-contact-wrapper input.clear[type="submit"]:focus, .button.clear:focus.disabled, .entry-content .gform_wrapper input.clear[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear[type="submit"]:focus.disabled, .button.clear:focus[disabled], .entry-content .gform_wrapper input.clear[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear[type="submit"]:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary, .entry-content .gform_wrapper input.clear.primary[type="submit"], .footer-contact-wrapper input.clear.primary[type="submit"] {
      border: 1px solid #264467;
      color: #264467; }
      .button.clear.primary:hover, .entry-content .gform_wrapper input.clear.primary[type="submit"]:hover, .footer-contact-wrapper input.clear.primary[type="submit"]:hover, .button.clear.primary:focus, .entry-content .gform_wrapper input.clear.primary[type="submit"]:focus, .footer-contact-wrapper input.clear.primary[type="submit"]:focus {
        border-color: #132234;
        color: #132234; }
        .button.clear.primary:hover.disabled, .entry-content .gform_wrapper input.clear.primary[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.primary[type="submit"]:hover.disabled, .button.clear.primary:hover[disabled], .entry-content .gform_wrapper input.clear.primary[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.primary[type="submit"]:hover[disabled], .button.clear.primary:focus.disabled, .entry-content .gform_wrapper input.clear.primary[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.primary[type="submit"]:focus.disabled, .button.clear.primary:focus[disabled], .entry-content .gform_wrapper input.clear.primary[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.primary[type="submit"]:focus[disabled] {
          border: 1px solid #264467;
          color: #264467; }
      .button.clear.primary, .entry-content .gform_wrapper input.clear.primary[type="submit"], .footer-contact-wrapper input.clear.primary[type="submit"], .button.clear.primary.disabled, .entry-content .gform_wrapper input.clear.primary.disabled[type="submit"], .footer-contact-wrapper input.clear.primary.disabled[type="submit"], .button.clear.primary[disabled], .entry-content .gform_wrapper input.clear.primary[disabled][type="submit"], .footer-contact-wrapper input.clear.primary[disabled][type="submit"], .button.clear.primary:hover, .entry-content .gform_wrapper input.clear.primary[type="submit"]:hover, .footer-contact-wrapper input.clear.primary[type="submit"]:hover, .button.clear.primary:hover.disabled, .entry-content .gform_wrapper input.clear.primary[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.primary[type="submit"]:hover.disabled, .button.clear.primary:hover[disabled], .entry-content .gform_wrapper input.clear.primary[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.primary[type="submit"]:hover[disabled], .button.clear.primary:focus, .entry-content .gform_wrapper input.clear.primary[type="submit"]:focus, .footer-contact-wrapper input.clear.primary[type="submit"]:focus, .button.clear.primary:focus.disabled, .entry-content .gform_wrapper input.clear.primary[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.primary[type="submit"]:focus.disabled, .button.clear.primary:focus[disabled], .entry-content .gform_wrapper input.clear.primary[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.primary[type="submit"]:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary, .entry-content .gform_wrapper input.clear.secondary[type="submit"], .footer-contact-wrapper input.clear.secondary[type="submit"] {
      border: 1px solid #006EB7;
      color: #006EB7; }
      .button.clear.secondary:hover, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:hover, .footer-contact-wrapper input.clear.secondary[type="submit"]:hover, .button.clear.secondary:focus, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:focus, .footer-contact-wrapper input.clear.secondary[type="submit"]:focus {
        border-color: #00375c;
        color: #00375c; }
        .button.clear.secondary:hover.disabled, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.secondary[type="submit"]:hover.disabled, .button.clear.secondary:hover[disabled], .entry-content .gform_wrapper input.clear.secondary[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.secondary[type="submit"]:hover[disabled], .button.clear.secondary:focus.disabled, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.secondary[type="submit"]:focus.disabled, .button.clear.secondary:focus[disabled], .entry-content .gform_wrapper input.clear.secondary[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.secondary[type="submit"]:focus[disabled] {
          border: 1px solid #006EB7;
          color: #006EB7; }
      .button.clear.secondary, .entry-content .gform_wrapper input.clear.secondary[type="submit"], .footer-contact-wrapper input.clear.secondary[type="submit"], .button.clear.secondary.disabled, .entry-content .gform_wrapper input.clear.secondary.disabled[type="submit"], .footer-contact-wrapper input.clear.secondary.disabled[type="submit"], .button.clear.secondary[disabled], .entry-content .gform_wrapper input.clear.secondary[disabled][type="submit"], .footer-contact-wrapper input.clear.secondary[disabled][type="submit"], .button.clear.secondary:hover, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:hover, .footer-contact-wrapper input.clear.secondary[type="submit"]:hover, .button.clear.secondary:hover.disabled, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.secondary[type="submit"]:hover.disabled, .button.clear.secondary:hover[disabled], .entry-content .gform_wrapper input.clear.secondary[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.secondary[type="submit"]:hover[disabled], .button.clear.secondary:focus, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:focus, .footer-contact-wrapper input.clear.secondary[type="submit"]:focus, .button.clear.secondary:focus.disabled, .entry-content .gform_wrapper input.clear.secondary[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.secondary[type="submit"]:focus.disabled, .button.clear.secondary:focus[disabled], .entry-content .gform_wrapper input.clear.secondary[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.secondary[type="submit"]:focus[disabled] {
        border-color: transparent; }
    .button.clear.success, .entry-content .gform_wrapper input.clear.success[type="submit"], .footer-contact-wrapper input.clear.success[type="submit"] {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.clear.success:hover, .entry-content .gform_wrapper input.clear.success[type="submit"]:hover, .footer-contact-wrapper input.clear.success[type="submit"]:hover, .button.clear.success:focus, .entry-content .gform_wrapper input.clear.success[type="submit"]:focus, .footer-contact-wrapper input.clear.success[type="submit"]:focus {
        border-color: #375b1a;
        color: #375b1a; }
        .button.clear.success:hover.disabled, .entry-content .gform_wrapper input.clear.success[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.success[type="submit"]:hover.disabled, .button.clear.success:hover[disabled], .entry-content .gform_wrapper input.clear.success[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.success[type="submit"]:hover[disabled], .button.clear.success:focus.disabled, .entry-content .gform_wrapper input.clear.success[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.success[type="submit"]:focus.disabled, .button.clear.success:focus[disabled], .entry-content .gform_wrapper input.clear.success[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.success[type="submit"]:focus[disabled] {
          border: 1px solid #6EB533;
          color: #6EB533; }
      .button.clear.success, .entry-content .gform_wrapper input.clear.success[type="submit"], .footer-contact-wrapper input.clear.success[type="submit"], .button.clear.success.disabled, .entry-content .gform_wrapper input.clear.success.disabled[type="submit"], .footer-contact-wrapper input.clear.success.disabled[type="submit"], .button.clear.success[disabled], .entry-content .gform_wrapper input.clear.success[disabled][type="submit"], .footer-contact-wrapper input.clear.success[disabled][type="submit"], .button.clear.success:hover, .entry-content .gform_wrapper input.clear.success[type="submit"]:hover, .footer-contact-wrapper input.clear.success[type="submit"]:hover, .button.clear.success:hover.disabled, .entry-content .gform_wrapper input.clear.success[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.success[type="submit"]:hover.disabled, .button.clear.success:hover[disabled], .entry-content .gform_wrapper input.clear.success[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.success[type="submit"]:hover[disabled], .button.clear.success:focus, .entry-content .gform_wrapper input.clear.success[type="submit"]:focus, .footer-contact-wrapper input.clear.success[type="submit"]:focus, .button.clear.success:focus.disabled, .entry-content .gform_wrapper input.clear.success[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.success[type="submit"]:focus.disabled, .button.clear.success:focus[disabled], .entry-content .gform_wrapper input.clear.success[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.success[type="submit"]:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning, .entry-content .gform_wrapper input.clear.warning[type="submit"], .footer-contact-wrapper input.clear.warning[type="submit"] {
      border: 1px solid #F8D300;
      color: #F8D300; }
      .button.clear.warning:hover, .entry-content .gform_wrapper input.clear.warning[type="submit"]:hover, .footer-contact-wrapper input.clear.warning[type="submit"]:hover, .button.clear.warning:focus, .entry-content .gform_wrapper input.clear.warning[type="submit"]:focus, .footer-contact-wrapper input.clear.warning[type="submit"]:focus {
        border-color: #7c6a00;
        color: #7c6a00; }
        .button.clear.warning:hover.disabled, .entry-content .gform_wrapper input.clear.warning[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.warning[type="submit"]:hover.disabled, .button.clear.warning:hover[disabled], .entry-content .gform_wrapper input.clear.warning[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.warning[type="submit"]:hover[disabled], .button.clear.warning:focus.disabled, .entry-content .gform_wrapper input.clear.warning[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.warning[type="submit"]:focus.disabled, .button.clear.warning:focus[disabled], .entry-content .gform_wrapper input.clear.warning[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.warning[type="submit"]:focus[disabled] {
          border: 1px solid #F8D300;
          color: #F8D300; }
      .button.clear.warning, .entry-content .gform_wrapper input.clear.warning[type="submit"], .footer-contact-wrapper input.clear.warning[type="submit"], .button.clear.warning.disabled, .entry-content .gform_wrapper input.clear.warning.disabled[type="submit"], .footer-contact-wrapper input.clear.warning.disabled[type="submit"], .button.clear.warning[disabled], .entry-content .gform_wrapper input.clear.warning[disabled][type="submit"], .footer-contact-wrapper input.clear.warning[disabled][type="submit"], .button.clear.warning:hover, .entry-content .gform_wrapper input.clear.warning[type="submit"]:hover, .footer-contact-wrapper input.clear.warning[type="submit"]:hover, .button.clear.warning:hover.disabled, .entry-content .gform_wrapper input.clear.warning[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.warning[type="submit"]:hover.disabled, .button.clear.warning:hover[disabled], .entry-content .gform_wrapper input.clear.warning[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.warning[type="submit"]:hover[disabled], .button.clear.warning:focus, .entry-content .gform_wrapper input.clear.warning[type="submit"]:focus, .footer-contact-wrapper input.clear.warning[type="submit"]:focus, .button.clear.warning:focus.disabled, .entry-content .gform_wrapper input.clear.warning[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.warning[type="submit"]:focus.disabled, .button.clear.warning:focus[disabled], .entry-content .gform_wrapper input.clear.warning[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.warning[type="submit"]:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert, .entry-content .gform_wrapper input.clear.alert[type="submit"], .footer-contact-wrapper input.clear.alert[type="submit"] {
      border: 1px solid #EC1D24;
      color: #EC1D24; }
      .button.clear.alert:hover, .entry-content .gform_wrapper input.clear.alert[type="submit"]:hover, .footer-contact-wrapper input.clear.alert[type="submit"]:hover, .button.clear.alert:focus, .entry-content .gform_wrapper input.clear.alert[type="submit"]:focus, .footer-contact-wrapper input.clear.alert[type="submit"]:focus {
        border-color: #7a0a0e;
        color: #7a0a0e; }
        .button.clear.alert:hover.disabled, .entry-content .gform_wrapper input.clear.alert[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.alert[type="submit"]:hover.disabled, .button.clear.alert:hover[disabled], .entry-content .gform_wrapper input.clear.alert[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.alert[type="submit"]:hover[disabled], .button.clear.alert:focus.disabled, .entry-content .gform_wrapper input.clear.alert[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.alert[type="submit"]:focus.disabled, .button.clear.alert:focus[disabled], .entry-content .gform_wrapper input.clear.alert[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.alert[type="submit"]:focus[disabled] {
          border: 1px solid #EC1D24;
          color: #EC1D24; }
      .button.clear.alert, .entry-content .gform_wrapper input.clear.alert[type="submit"], .footer-contact-wrapper input.clear.alert[type="submit"], .button.clear.alert.disabled, .entry-content .gform_wrapper input.clear.alert.disabled[type="submit"], .footer-contact-wrapper input.clear.alert.disabled[type="submit"], .button.clear.alert[disabled], .entry-content .gform_wrapper input.clear.alert[disabled][type="submit"], .footer-contact-wrapper input.clear.alert[disabled][type="submit"], .button.clear.alert:hover, .entry-content .gform_wrapper input.clear.alert[type="submit"]:hover, .footer-contact-wrapper input.clear.alert[type="submit"]:hover, .button.clear.alert:hover.disabled, .entry-content .gform_wrapper input.clear.alert[type="submit"]:hover.disabled, .footer-contact-wrapper input.clear.alert[type="submit"]:hover.disabled, .button.clear.alert:hover[disabled], .entry-content .gform_wrapper input.clear.alert[type="submit"]:hover[disabled], .footer-contact-wrapper input.clear.alert[type="submit"]:hover[disabled], .button.clear.alert:focus, .entry-content .gform_wrapper input.clear.alert[type="submit"]:focus, .footer-contact-wrapper input.clear.alert[type="submit"]:focus, .button.clear.alert:focus.disabled, .entry-content .gform_wrapper input.clear.alert[type="submit"]:focus.disabled, .footer-contact-wrapper input.clear.alert[type="submit"]:focus.disabled, .button.clear.alert:focus[disabled], .entry-content .gform_wrapper input.clear.alert[type="submit"]:focus[disabled], .footer-contact-wrapper input.clear.alert[type="submit"]:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after, .entry-content .gform_wrapper input.dropdown[type="submit"]::after, .footer-contact-wrapper input.dropdown[type="submit"]::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 3em; }
  .button.dropdown.hollow::after, .entry-content .gform_wrapper input.dropdown.hollow[type="submit"]::after, .footer-contact-wrapper input.dropdown.hollow[type="submit"]::after {
    border-top-color: #48BEFF; }
  .button.dropdown.hollow.primary::after, .entry-content .gform_wrapper input.dropdown.hollow.primary[type="submit"]::after, .footer-contact-wrapper input.dropdown.hollow.primary[type="submit"]::after {
    border-top-color: #264467; }
  .button.dropdown.hollow.secondary::after, .entry-content .gform_wrapper input.dropdown.hollow.secondary[type="submit"]::after, .footer-contact-wrapper input.dropdown.hollow.secondary[type="submit"]::after {
    border-top-color: #006EB7; }
  .button.dropdown.hollow.success::after, .entry-content .gform_wrapper input.dropdown.hollow.success[type="submit"]::after, .footer-contact-wrapper input.dropdown.hollow.success[type="submit"]::after {
    border-top-color: #6EB533; }
  .button.dropdown.hollow.warning::after, .entry-content .gform_wrapper input.dropdown.hollow.warning[type="submit"]::after, .footer-contact-wrapper input.dropdown.hollow.warning[type="submit"]::after {
    border-top-color: #F8D300; }
  .button.dropdown.hollow.alert::after, .entry-content .gform_wrapper input.dropdown.hollow.alert[type="submit"]::after, .footer-contact-wrapper input.dropdown.hollow.alert[type="submit"]::after {
    border-top-color: #EC1D24; }
  .button.arrow-only::after, .entry-content .gform_wrapper input.arrow-only[type="submit"]::after, .footer-contact-wrapper input.arrow-only[type="submit"]::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 0px solid #264467;
  border-radius: 0;
  background-color: transparent;
  box-shadow: inset 0 0px 0px transparent;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #264467;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 0px solid #264467;
    background-color: #FFFFFF;
    box-shadow: 0 0 0px #70818F;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #70818F; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #70818F; }

input::placeholder,
textarea::placeholder {
  color: #70818F; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #F7F7F6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0.1875rem; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.9375rem;
  font-weight: normal;
  line-height: 1.8;
  color: #264467; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000; }

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #70818F;
  background: #F7F7F6;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 0.3125rem 0;
  padding: 1.25rem;
  border: 1px solid #264467; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0px solid #264467;
  border-radius: 0.1875rem;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #264467;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2838, 68, 103%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 0px solid #264467;
    background-color: #FFFFFF;
    box-shadow: 0 0 0px #70818F;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #F7F7F6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #EC1D24;
  background-color: #fde8e9; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #EC1D24; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #EC1D24; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #EC1D24; }

.is-invalid-label {
  color: #EC1D24; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #EC1D24; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0.1875rem 0.1875rem 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0.1875rem 0.1875rem; }

.accordion-title {
  position: relative;
  display: block;
  padding: 0;
  border: 0px solid #F7F7F6;
  border-bottom: 0;
  font-size: 1rem;
  line-height: 1;
  color: #264467; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 0px solid #F7F7F6;
    border-radius: 0 0 0.1875rem 0.1875rem; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: transparent; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 0rem;
  border: 0px solid #F7F7F6;
  border-bottom: 0;
  background-color: #FFFFFF;
  color: #264467; }
  :last-child > .accordion-content:last-child {
    border-bottom: 0px solid #F7F7F6; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0.1875rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #264467;
  color: #FFFFFF; }
  .label.primary {
    background: #264467;
    color: #FFFFFF; }
  .label.secondary {
    background: #006EB7;
    color: #FFFFFF; }
  .label.success {
    background: #6EB533;
    color: #000000; }
  .label.warning {
    background: #F8D300;
    color: #000000; }
  .label.alert {
    background: #EC1D24;
    color: #000000; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(38, 68, 103, 0.9);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #FFFFFF; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 130; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0; }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #FFFFFF; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 130; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 20rem;
  -webkit-transform: translateX(-20rem);
      -ms-transform: translateX(-20rem);
          transform: translateX(-20rem); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-20rem);
        -ms-transform: translateX(-20rem);
            transform: translateX(-20rem); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(20rem);
        -ms-transform: translateX(20rem);
            transform: translateX(20rem); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px transparent; }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 20rem;
  -webkit-transform: translateX(20rem);
      -ms-transform: translateX(20rem);
          transform: translateX(20rem); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(20rem);
        -ms-transform: translateX(20rem);
            transform: translateX(20rem); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-20rem);
        -ms-transform: translateX(-20rem);
            transform: translateX(-20rem); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px transparent; }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(-280px);
      -ms-transform: translateY(-280px);
          transform: translateY(-280px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-280px);
        -ms-transform: translateY(-280px);
            transform: translateY(-280px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(280px);
        -ms-transform: translateY(280px);
            transform: translateY(280px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px transparent; }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(280px);
      -ms-transform: translateY(280px);
          transform: translateY(280px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(280px);
        -ms-transform: translateY(280px);
            transform: translateY(280px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-280px);
        -ms-transform: translateY(-280px);
            transform: translateY(-280px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px transparent; }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 50em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 77.5em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media screen and (min-width: 50em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 77.5em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

@media screen and (min-width: 90em) {
  .off-canvas.in-canvas-for-xxxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxxlarge.position-left, .off-canvas.in-canvas-for-xxxlarge.position-right, .off-canvas.in-canvas-for-xxxlarge.position-top, .off-canvas.in-canvas-for-xxxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxxlarge .close-button {
      display: none; } }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0.1875rem; }
  thead, tbody, tfoot {
    border: 0px solid #e6e6e6;
    background-color: #FFFFFF; }
  caption {
    padding: 0.625rem 0.625rem 0.375rem;
    font-weight: 700; }
  thead {
    background: #006EB7;
    color: #FFFFFF; }
  tfoot {
    background: #e6e6e6;
    color: #264467; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.625rem 0.625rem 0.375rem;
    font-weight: 700;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.625rem 0.625rem 0.375rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #e6e6e6; }
  table.unstriped tbody {
    background-color: #FFFFFF; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 0px solid #e6e6e6;
      background-color: #FFFFFF; }

@media screen and (max-width: 49.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #0068ad; }

table.hover tfoot tr:hover {
  background-color: #e0e0e0; }

table.hover tbody tr:hover {
  background-color: #fafafa; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #e0e0e0; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.title-bar {
  padding: 0rem;
  background: #264467;
  color: #FFFFFF;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

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

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 49.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 50em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 50em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 49.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 50em) and (max-width: 63.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 49.9375em), screen and (min-width: 64em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 64em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 77.4375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 77.5em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 77.5em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 77.4375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 77.5em) and (max-width: 89.9375em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 77.4375em), screen and (min-width: 90em) {
  .show-for-xxlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

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

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

@media screen and (min-width: 64em) {
  .title-bar,
  .mobile-menu {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .desktop-menu,
  .site-header {
    display: none !important; } }

.servicenav {
  width: 100%;
  background: rgba(38, 68, 103, 0.05); }
  @media screen and (max-width: 63.9375em) {
    .servicenav {
      display: none !important; } }
  .servicenav a {
    font-family: 'latobold';
    font-size: 0.8125rem;
    color: rgba(38, 68, 103, 0.5); }
  .servicenav a.active,
  .servicenav li[class*="current"] a,
  .servicenav a:hover {
    color: #264467; }
  .servicenav .nav-lang-wrapper {
    height: 2.125rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1rem; }
    .servicenav .nav-lang-wrapper > * {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .servicenav .nav-lang-wrapper .menu-servicenav-container {
      justify-self: flex-end; }
    @media screen and (min-width: 90em) {
      .servicenav .nav-lang-wrapper {
        padding: 0; } }
  .servicenav .inner-servicenav {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .servicenav .inner-servicenav a {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    .servicenav .inner-servicenav svg {
      margin: 0 0.625rem 0 1.25rem; }
  .servicenav .langswitch {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.3125rem 0; }
    .servicenav .langswitch span {
      font-family: 'latobold';
      font-size: 0.8125rem;
      color: rgba(38, 68, 103, 0.5);
      padding-right: 0.625rem; }
      @media screen and (max-width: 63.9375em) {
        .servicenav .langswitch span {
          display: none !important; } }
    .servicenav .langswitch a {
      margin-right: 0.33333rem;
      text-transform: uppercase;
      background-color: #DC4379;
      width: 1.5rem;
      height: 1.5rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      border-radius: 50%;
      color: #FFFFFF;
      font-family: 'latoblack';
      font-size: 0.6875rem;
      transition: background-color 0.2s ease; }
      .servicenav .langswitch a:hover, .servicenav .langswitch a.active {
        background: #009EE2; }
  .servicenav .menu {
    list-style-type: none;
    margin: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .servicenav .menu a {
      margin-left: 1rem; }

.title-bar {
  background: #FFFFFF;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 70px; }
  .title-bar .logo {
    height: 100%;
    width: 11.8125rem;
    margin-right: auto;
    padding-left: 1rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 77.5em) {
      .title-bar .logo {
        width: 8.75rem; } }
  .title-bar .title-bar-button {
    background-color: #006EB7;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    transition: background-color 0.2s ease; }
    .title-bar .title-bar-button:hover {
      cursor: pointer;
      background: #264467; }
      .title-bar .title-bar-button:hover span[type="button"] em {
        background: #009EE2; }
    .title-bar .title-bar-button span {
      color: #FFFFFF; }
    .title-bar .title-bar-button span[type="button"] {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 100%;
      height: 100%;
      padding: 0 0.6875rem;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      text-transform: uppercase;
      font-size: 0.8125rem;
      font-family: "latobold"; }
      .title-bar .title-bar-button span[type="button"] svg {
        color: #FFFFFF; }

.menu-icon-wrapper {
  background: #264467;
  width: 3rem;
  height: 3rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  @media screen and (max-width: 49.9375em) {
    .top-bar {
      display: none !important; } }
  .top-bar nav {
    background: #006EB7;
    width: 100%; }
  .top-bar ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    list-style-type: none;
    height: 3rem;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    position: relative;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .top-bar ul * {
      height: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    .top-bar ul li {
      z-index: 2; }
      .top-bar ul li a {
        position: relative;
        color: #FFFFFF;
        text-transform: uppercase;
        font-size: 0.9375rem;
        font-family: "latobold";
        padding: 0 0.75rem;
        transition: background-color 0.2s ease; }
        .top-bar ul li a:after {
          content: "";
          height: 0.25rem;
          width: 100%;
          position: absolute;
          bottom: -0.25rem;
          left: 0;
          background: #48BEFF;
          opacity: 0;
          transition: opacity 0.2s ease; }
      .top-bar ul li[class*="current"] a,
      .top-bar ul li a:hover {
        background: #005892; }
        .top-bar ul li[class*="current"] a:after,
        .top-bar ul li a:hover:after {
          opacity: 1; }

.mobile-menu {
  display: none; }

.off-canvas.position-right.is-transition-push {
  box-shadow: -5px 0px 10px 0px rgba(0, 0, 0, 0.25); }

.off-canvas .close-holder {
  height: 4.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 0.625rem;
  background: #006EB7; }
  .off-canvas .close-holder button:hover span {
    cursor: pointer;
    background: #009EE2; }

.off-canvas .sidebar-canvas-nav {
  background: #006EB7;
  padding-bottom: 1rem; }

.off-canvas .button-wrapper {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.off-canvas ul {
  list-style-type: none;
  margin: 0; }
  .off-canvas ul a {
    font-size: 1rem;
    color: #FFFFFF;
    transition: all 0.2s ease; }

.off-canvas ul.menu.vertical {
  margin: 0 0 1rem 0; }
  .off-canvas ul.menu.vertical a {
    text-transform: uppercase;
    font-family: "latoblack";
    line-height: 1.1;
    padding: 1rem 1rem 1rem 2rem;
    display: block;
    position: relative;
    border-left: 0.25rem solid #006EB7; }
  .off-canvas ul.menu.vertical li[class*="current"] a,
  .off-canvas ul.menu.vertical a:hover {
    background: #005892;
    color: #FFFFFF;
    border-left: 0.25rem solid #009EE2; }

.off-canvas ul.mobile-servicenav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2rem; }
  .off-canvas ul.mobile-servicenav a {
    font-family: "latoblack";
    padding: 0.3125rem 0.625rem; }
    .off-canvas ul.mobile-servicenav a:hover {
      color: #009EE2; }

.off-canvas .langswitch-social-wrapper {
  background: rgba(38, 68, 103, 0.05);
  padding: 2rem 0; }

.off-canvas .facebook-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .off-canvas .facebook-wrapper a {
    color: rgba(38, 68, 103, 0.5);
    font-family: "latobold";
    font-size: 1rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .off-canvas .facebook-wrapper a svg {
      margin-right: 0.625rem; }
    .off-canvas .facebook-wrapper a:hover {
      color: #264467; }

.off-canvas .langswitch {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem; }
  @media screen and (max-width: 63.9375em) {
    .off-canvas .langswitch span {
      display: none !important; } }
  .off-canvas .langswitch a {
    width: 3.5rem;
    height: 3.5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 50%;
    margin: 0 0.625rem;
    font-family: "latoblack";
    text-transform: uppercase;
    font-size: 0.8125rem;
    transition: all 0.2s ease; }
    .off-canvas .langswitch a:hover {
      background: #264467;
      color: #FFFFFF; }

.off-canvas .logo-wrapper {
  padding: 2rem 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.off-canvas .header-searchform .searchform {
  margin: 3rem 2rem 2rem 0;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .off-canvas .header-searchform .searchform input[type="text"] {
    background: white; }

.is-open, .is-closed {
  visibility: visible !important; }

/**
 *  Master Slider
 * 	Core css file
 */
.master-slider {
  position: relative;
  visibility: hidden;
  -moz-transform: translate3d(0, 0, 0);
  box-sizing: content-box; }
  .master-slider a {
    transition: none; }
  .master-slider * {
    box-sizing: content-box; }
  .master-slider.ms-fullheight {
    height: 100%; }

.ms-layout-partialview .ms-view {
  overflow: visible;
  background-color: transparent; }

.ms-layout-partialview .ms-container {
  overflow: hidden; }

.master-slider img, .ms-slide-bgvideocont video {
  max-width: none; }

.master-slider .hoverlay img {
  width: 100%; }

.ms-ie img {
  border: none; }

.ms-ie8 * {
  opacity: inherit;
  -webkit-filter: inherit;
          filter: inherit; }

.ms-ie7 {
  zoom: 1; }

.ms-moz .ms-slide-bgcont > img {
  -webkit-transform: translateX(0px);
      -ms-transform: translateX(0px);
          transform: translateX(0px); }

.ms-loading-container {
  position: absolute;
  width: 100%;
  top: 0; }

.ms-slide-auto-height {
  display: table; }

.ms-loading-container .ms-loading, .ms-slide .ms-slide-loading {
  width: 36px;
  height: 36px;
  background: url(../images/masterslider/loading-2.gif) no-repeat center white;
  border-radius: 60px;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -18px;
  opacity: 0.9; }

/* grab cursor */
.ms-no-swipe, .ms-def-cursor {
  cursor: auto !important; }

.ms-grab-cursor {
  cursor: url(../images/masterslider/grab.png), move; }

.ms-grabbing-cursor {
  cursor: url(../images/masterslider/grabbing.png), move; }

.ms-ie .ms-grab-cursor, .ms-ie .ms-grabbing-cursor {
  cursor: move; }

.ms-view {
  margin: 0px auto;
  overflow: hidden;
  background: black;
  position: relative;
  -webkit-perspective: 2000px;
          perspective: 2000px; }
  .ms-view .ms-slide-container {
    position: relative; }

.ms-slide {
  position: absolute;
  height: 100%;
  -webkit-transform: translateZ(0px);
          transform: translateZ(0px); }

.ms-wk .ms-slide {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.ms-slide .ms-slide-bgcont, .ms-slide .ms-slide-bgvideocont {
  position: absolute;
  overflow: hidden;
  width: 100%; }

.ms-slide .ms-slide-link {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 110; }

.ms-ie .ms-slide-link {
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7") 0 0 repeat; }

.ms-slide .ms-slide-bgvideocont {
  z-index: 105;
  height: 100%; }

.ms-wk .ms-slide .ms-slide-bgvideocont, .ms-wk .ms-slide-bgvideocont > video {
  -webkit-transform: translateZ(0.3px);
          transform: translateZ(0.3px); }

.ms-slide .ms-slide-bgvideo {
  position: absolute;
  top: 0px; }

.ms-inner-controls-cont, .ms-container {
  position: relative;
  margin: 0 auto; }

.ms-slide .ms-slide-bgcont img, .ms-container, .ms-inner-controls-cont {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.ms-slide .ms-layer, .ms-fixed-layers .ms-layer, .ms-overlay-layers .ms-layer {
  position: absolute;
  pointer-events: auto; }

.ms-layer-mask {
  position: absolute;
  overflow: hidden; }
  .ms-layer-mask .ms-layer {
    position: relative; }

.ms-slide .ms-slide-layers, .ms-overlay-layers .ms-slide-layers, .ms-fixed-layers {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  z-index: 109;
  top: 0px;
  pointer-events: none; }

.ms-slide .ms-slide-video {
  position: absolute;
  top: 0;
  z-index: 111;
  background: black;
  padding: 0;
  margin: 0;
  border: none; }

.ms-parallax-layer {
  width: 100%;
  position: absolute;
  top: 0; }

.ms-scroll-parallax-cont {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%; }

.ms-wk .ms-scroll-parallax-cont {
  -webkit-transform: translateZ(0.4px);
          transform: translateZ(0.4px); }

/*.ms-scroll-parallax .ms-sl-selected .ms-scroll-parallax-cont,
  .ms-scroll-parallax .ms-sl-selected .ms-slide-bgcont{}
  .ms-scroll-parallax .ms-slide-bgcont{}*/
/* ------------------------------------------------------------------------------ */
/* Overlayer layers */
.ms-overlay-layers {
  position: absolute;
  top: 0;
  z-index: 120;
  width: 100%;
  height: 100%;
  pointer-events: none; }

/*-----------------------------------------------------------*/
.ms-action-layer {
  cursor: pointer; }

.ms-btn-container {
  position: absolute; }

.ms-btn {
  text-decoration: none;
  display: inline-block;
  color: black;
  position: relative;
  padding: 8px 15px;
  cursor: pointer;
  white-space: nowrap; }

.ms-default-btn {
  background: #0074A2;
  border-radius: 5px;
  color: #FFF; }
  .ms-default-btn:hover {
    background-color: #0098D5; }
  .ms-default-btn:active {
    top: 1px; }

.ms-btn-s {
  padding: 14px 17px;
  font-size: 80%;
  line-height: 0; }

.ms-btn-m {
  padding: 12px 40px; }

.ms-btn-n {
  padding: 8px 25px;
  font-size: 95%; }

.ms-btn-l {
  padding: 17px 50px;
  font-size: 120%; }

.ms-btn-round {
  border-radius: 5px; }

.ms-btn-circle {
  border-radius: 100px; }

.ms-btn-outline-round {
  border-radius: 5px; }

.ms-btn-outline-circle {
  border-radius: 100px; }

/*-----------------------------------------------------------*/
.ms-layer.video-box {
  background: black; }
  .ms-layer.video-box iframe {
    padding: 0;
    margin: 0;
    border: none;
    position: absolute;
    z-index: 111; }

.ms-slide .ms-slide-vpbtn, .ms-slide .ms-video-btn {
  position: absolute;
  cursor: pointer;
  z-index: 112; }

.ms-slide .ms-slide-vcbtn {
  position: absolute;
  cursor: pointer;
  z-index: 113; }

.ms-slide-vcbtn-mobile {
  position: relative;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 28px;
  background-color: black;
  color: white;
  text-align: center;
  cursor: pointer;
  z-index: 113; }
  .ms-slide-vcbtn-mobile .ms-vcbtn-txt {
    text-transform: uppercase;
    font-family: sans-serif;
    font-size: 0.75em;
    display: inline-block;
    background: url(../images/masterslider/video-close-btn.png) no-repeat 0px 3px;
    padding-left: 15px;
    height: 15px;
    color: #DBDBDB;
    margin-top: 7px; }

.ms-wk .ms-slide .ms-slide-vcbtn, .ms-wk .ms-slide .ms-slide-layers, .ms-wk .ms-slide .ms-slide-vpbtn, .ms-wk .ms-slide .ms-slide-video {
  -webkit-transform: translateZ(0.44px);
          transform: translateZ(0.44px); }

.ms-wk .ms-slide-link {
  -webkit-transform: translateZ(0.44px);
          transform: translateZ(0.44px); }

.ms-video-img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }

.ms-mask-frame {
  overflow: hidden;
  position: absolute;
  float: left; }

/* controls */
.ms-thumb-list {
  overflow: hidden;
  position: absolute; }
  .ms-thumb-list.ms-dir-h {
    width: 100%; }
  .ms-thumb-list.ms-dir-v {
    height: 100%;
    top: 0; }

.ms-thumbs-cont {
  position: relative; }

.ms-thumb-frame {
  cursor: pointer;
  float: left;
  overflow: hidden;
  opacity: 0.5;
  transition: opacity 300ms; }
  .ms-thumb-frame img {
    width: 100%;
    height: auto; }

.ms-thumb-frame-selected {
  opacity: 1; }

.ms-tabs .ms-thumb-frame {
  background-color: #F6f6f6;
  text-shadow: 0 1px 1px white;
  color: #222;
  border: solid 1px white;
  border-width: 0 1px 1px 0;
  overflow: visible;
  position: relative;
  opacity: 1;
  transition: all 300ms ease-out; }

.ms-tabs.ms-dir-h .ms-thumb-frame {
  margin-top: 12px; }

.ms-tabs.ms-dir-v .ms-thumb-frame {
  margin-left: 12px; }

.ms-tabs.ms-dir-v.ms-align-left .ms-thumb-frame {
  margin-left: 0px; }

.ms-tabs.ms-dir-h.ms-align-top {
  z-index: 140; }
  .ms-tabs.ms-dir-h.ms-align-top .ms-thumb-frame {
    margin-top: -12px; }

.ms-tabs .ms-thumb {
  padding: 20px 20px; }

.ms-tabs .ms-thumb-frame-selected {
  opacity: 1;
  background: #EDEDED; }

.ms-tabs .ms-thumb-frame .ms-thumb-ol {
  position: absolute;
  opacity: 0;
  transition: all 300ms ease-out; }

.ms-tabs.ms-dir-h .ms-thumb-frame .ms-thumb-ol {
  top: 0px;
  left: 50%;
  margin-left: -12px;
  border-bottom: solid 12px #F6f6f6;
  border-left: solid 12px transparent;
  border-right: solid 12px transparent; }

.ms-tabs.ms-dir-h.ms-align-bottom .ms-thumb-frame-selected .ms-thumb-ol {
  opacity: 1;
  top: -12px;
  border-bottom-color: #EDEDED; }

.ms-tabs.ms-dir-h.ms-align-top .ms-thumb-frame .ms-thumb-ol {
  bottom: 0px;
  top: auto;
  border-bottom: 0px;
  border-top: solid 12px #F6f6f6; }

.ms-tabs.ms-dir-h.ms-align-top .ms-thumb-frame-selected .ms-thumb-ol {
  opacity: 1;
  bottom: -12px;
  border-top-color: #EDEDED; }

.ms-tabs.ms-dir-v .ms-thumb-frame .ms-thumb-ol {
  top: 50%;
  left: 0;
  margin-top: -12px;
  border-right: solid 12px #EDEDED;
  border-top: solid 12px transparent;
  border-bottom: solid 12px transparent; }

.ms-tabs.ms-dir-v.ms-align-right .ms-thumb-frame-selected .ms-thumb-ol {
  opacity: 1;
  left: -12px;
  border-right-color: #EDEDED; }

.ms-tabs.ms-dir-v.ms-align-left .ms-thumb-frame .ms-thumb-ol {
  left: auto;
  right: 0;
  border-right: 0;
  border-left: solid 12px #EDEDED; }

.ms-tabs.ms-dir-v.ms-align-left .ms-thumb-frame-selected .ms-thumb-ol {
  opacity: 1;
  right: -12px;
  border-left-color: #EDEDED; }

/* horizontal thumblist arrows*/
.ms-thumb-list.ms-dir-h .ms-thumblist-fwd {
  height: 100%;
  width: 20px;
  position: absolute;
  left: 0;
  cursor: pointer;
  background: rgba(128, 128, 128, 0.5);
  text-align: center;
  color: white; }

.ms-thumb-list.ms-dir-h .ms-thumblist-bwd {
  height: 100%;
  width: 20px;
  position: absolute;
  left: 0;
  cursor: pointer;
  background: rgba(128, 128, 128, 0.5);
  text-align: center;
  color: white;
  right: 0;
  left: auto; }

.ms-thumb-list.ms-dir-h .ms-thumblist-fwd:after {
  content: close-quote;
  top: 43%;
  position: relative;
  border: solid transparent;
  border-width: 5px 5px 5px 0px;
  display: block;
  border-right-color: #FFF;
  width: 6px;
  height: 1px; }

.ms-thumb-list.ms-dir-h .ms-thumblist-bwd:after {
  content: close-quote;
  top: 43%;
  position: relative;
  border: solid transparent;
  border-width: 5px 5px 5px 0px;
  display: block;
  border-right-color: #FFF;
  width: 6px;
  height: 1px;
  border-width: 5px 0px 5px 5px;
  border-left-color: #FFF;
  left: 7px; }

.ms-thumb-list.ms-dir-v .ms-thumblist-fwd {
  width: 100%;
  height: 20px;
  position: absolute;
  top: 0;
  cursor: pointer;
  background: rgba(128, 128, 128, 0.5);
  text-align: center;
  color: white; }

.ms-thumb-list.ms-dir-v .ms-thumblist-bwd {
  width: 100%;
  height: 20px;
  position: absolute;
  top: 0;
  cursor: pointer;
  background: rgba(128, 128, 128, 0.5);
  text-align: center;
  color: white;
  bottom: 0;
  top: auto; }

.ms-thumb-list.ms-dir-v .ms-thumblist-fwd:after {
  content: close-quote;
  left: 43%;
  position: relative;
  border: solid transparent;
  border-width: 0px 5px 5px 5px;
  display: block;
  border-bottom-color: #FFF;
  height: 1px;
  top: 5px;
  width: 0; }

.ms-thumb-list.ms-dir-v .ms-thumblist-bwd:after {
  content: close-quote;
  left: 43%;
  position: relative;
  border: solid transparent;
  border-width: 0px 5px 5px 5px;
  display: block;
  border-bottom-color: #FFF;
  height: 1px;
  top: 5px;
  width: 0;
  border-width: 5px 5px 0px 5px;
  border-top-color: #FFF;
  top: 7px; }

/* vertical thumblist arrows */
.ms-bullet {
  cursor: pointer;
  float: left; }

.ms-bullets.ms-dir-h {
  position: absolute;
  bottom: 20px;
  right: 50%;
  width: 100px; }

.ms-bullets.ms-dir-v {
  position: absolute;
  top: 50%; }
  .ms-bullets.ms-dir-v .ms-bullet {
    float: none; }

.ms-bullets.ms-dir-h .ms-bullets-count {
  position: relative;
  right: -50%; }

.ms-sbar {
  position: absolute; }
  .ms-sbar.ms-dir-h {
    left: 10px;
    right: 10px;
    top: 5px; }
  .ms-sbar.ms-dir-v {
    top: 10px;
    bottom: 10px;
    right: 5px; }
  .ms-sbar .ms-bar {
    height: 4px;
    background: #333;
    border-radius: 4px; }
  .ms-sbar.ms-dir-v .ms-bar {
    width: 4px; }
  .ms-sbar .ms-bar {
    position: relative;
    transition: opacity 300ms; }

.ms-timerbar {
  width: 100%;
  bottom: 0px;
  position: absolute; }

.ms-ctimer {
  position: absolute;
  top: 30px;
  left: 30px;
  cursor: pointer; }

.ms-time-bar {
  transition: width 120ms linear; }

.ms-ie7 .ms-tooltip-arrow {
  height: 0px; }

.ms-slide-info {
  position: absolute; }
  .ms-slide-info.ms-dir-v {
    top: 0; }
  .ms-slide-info.ms-dir-h {
    width: 100%; }

@keyframes point-anim {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 1; }
  100% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0; } }

@-webkit-keyframes point-anim {
  0% {
    -webkit-transform: scale(0.5);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1.5);
    opacity: 0; } }

/* In Android browser, using css animations over slider causes some crashes */
.ms-android .ms-tooltip-point .ms-point-border {
  animation: none;
  -moz-animation: none;
  -webkit-animation: none;
  -o-animation: none; }

/**
 *  Master Slider
 *  Default Skin
 */
.ms-skin-default .ms-slide .ms-slide-vpbtn, .ms-skin-default .ms-video-btn {
  width: 50px;
  height: 51px;
  background: url(../images/masterslider/light-skin-1.png) no-repeat -14px -150px;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px; }

.ms-skin-default .ms-slide .ms-slide-vcbtn {
  width: 30px;
  height: 30px;
  background: url(../images/masterslider/light-skin-1.png) no-repeat -24px -28px;
  top: 18px;
  right: 30px; }

.ms-skin-default .ms-bullet {
  width: 10px;
  height: 10px;
  background: url(../images/masterslider/light-skin-1.png) no-repeat;
  margin: 4px;
  background-position: -34px -117px; }

.ms-skin-default .ms-bullet-selected {
  background-position: -34px -84px; }

.ms-skin-default .ms-time-bar {
  height: 3px;
  background: #FFFFFF;
  border-top: solid 1px rgba(0, 0, 0, 0.41); }

.ms-skin-default .ms-tooltip {
  position: absolute;
  z-index: 210;
  cursor: auto; }

.ms-skin-default .ms-tooltip-top .ms-tooltip-arrow, .ms-skin-default .ms-tooltip-bottom .ms-tooltip-arrow {
  border-left: solid 10px transparent;
  border-right: solid 10px transparent;
  position: absolute;
  left: 50%;
  margin-left: -10px; }

.ms-skin-default .ms-tooltip-top .ms-tooltip-arrow {
  border-top: solid 10px;
  border-top-color: silver;
  border-top-color: rgba(240, 240, 240, 0.88);
  bottom: -10px; }

.ms-skin-default .ms-tooltip-bottom .ms-tooltip-arrow {
  border-bottom: solid 10px;
  border-bottom-color: silver;
  border-bottom-color: rgba(240, 240, 240, 0.88);
  top: -10px; }

.ms-skin-default .ms-tooltip-right .ms-tooltip-arrow, .ms-skin-default .ms-tooltip-left .ms-tooltip-arrow {
  border-top: solid 10px transparent;
  border-bottom: solid 10px transparent;
  position: absolute;
  top: 50%;
  margin-top: -10px; }

.ms-skin-default .ms-tooltip-right .ms-tooltip-arrow {
  border-right: solid 10px;
  border-right-color: silver;
  border-right-color: rgba(240, 240, 240, 0.88);
  left: -10px; }

.ms-skin-default .ms-tooltip-left .ms-tooltip-arrow {
  border-left: solid 10px;
  border-left-color: silver;
  border-left-color: rgba(240, 240, 240, 0.88);
  right: -10px; }

.ms-skin-default .ms-tooltip-point {
  cursor: pointer; }
  .ms-skin-default .ms-tooltip-point .ms-point-center {
    width: 12px;
    height: 12px;
    border-radius: 15px;
    border: solid 2px #BBB;
    background: white;
    margin: -8px 0 0 -8px;
    position: absolute;
    z-index: 105; }
  .ms-skin-default .ms-tooltip-point .ms-point-border {
    width: 22px;
    height: 22px;
    background: black;
    background: rgba(0, 0, 0, 0.36);
    margin: -11px 0 0 -11px;
    position: absolute;
    border-radius: 15px;
    -webkit-animation: point-anim 1.5s infinite;
            animation: point-anim 1.5s infinite; }

.ms-skin-default .ms-tooltip {
  max-width: 200px; }

.ms-skin-default .ms-tooltip-cont {
  padding: 10px;
  background: silver;
  background: rgba(240, 240, 240, 0.88);
  text-shadow: 0 1px 0px white;
  margin-left: -1px; }

/* controls */
/* retina */
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .ms-skin-default .ms-slide .ms-slide-vpbtn, .ms-skin-default .ms-video-btn, .ms-skin-default .ms-slide .ms-slide-vcbtn, .ms-skin-default .ms-nav-next, .ms-skin-default .ms-nav-prev, .ms-skin-default .ms-bullet {
    background-image: url(../images/masterslider/light-skin-1-retina.png);
    background-size: 152px 225px; } }

.ui-datepicker {
  width: 17em;
  padding: .2em .2em 0;
  display: none;
  border-radius: 0.1875rem; }
  .ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: .2em 0; }
  .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.8em;
    height: 1.8em; }
  .ui-datepicker .ui-datepicker-prev {
    left: 2px; }
  .ui-datepicker .ui-datepicker-next {
    right: 2px; }
  .ui-datepicker .ui-datepicker-next:hover:before,
  .ui-datepicker .ui-datepicker-prev:hover:before {
    background: #006EB7; }
  .ui-datepicker .ui-datepicker-prev:before, .ui-datepicker .ui-datepicker-next:before {
    content: ">";
    background: #48BEFF;
    width: 1.375rem;
    height: 1.375rem;
    line-height: 1.375rem;
    text-align: center;
    display: block;
    color: #FFFFFF;
    border-radius: 50%;
    font-family: 'latoblack';
    transition: background-color 0.2s ease;
    padding: 0 0 1px 1px; }
  .ui-datepicker .ui-datepicker-prev:before {
    content: "<"; }
  .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -8px;
    top: 50%;
    margin-top: -8px;
    opacity: 0; }
  .ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center; }
    .ui-datepicker .ui-datepicker-title select {
      font-size: 1em;
      margin: 1px 0; }
  .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
    width: 45%; }
  .ui-datepicker table {
    width: 100%;
    font-size: .9em;
    border-collapse: collapse;
    margin: 0 0 .4em; }
  .ui-datepicker th {
    padding: .7em .3em;
    text-align: center;
    font-weight: bold;
    border: 0; }
  .ui-datepicker td {
    border: 0;
    padding: 1px; }
    .ui-datepicker td span, .ui-datepicker td a {
      display: block;
      padding: .2em;
      text-align: right;
      text-decoration: none; }
  .ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: .7em 0 0 0;
    padding: 0 .2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0; }
    .ui-datepicker .ui-datepicker-buttonpane button {
      float: right;
      margin: .5em .2em .4em;
      cursor: pointer;
      padding: .2em .6em .3em .6em;
      width: auto;
      overflow: visible; }
      .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
        float: left; }

#floatingCirclesG {
  position: relative;
  width: 125px;
  height: 125px;
  margin: auto;
  transform: scale(0.6);
  -o-transform: scale(0.6);
  -ms-transform: scale(0.6);
  -webkit-transform: scale(0.6);
  -moz-transform: scale(0.6); }

.f_circleG {
  position: absolute;
  background-color: white;
  height: 22px;
  width: 22px;
  border-radius: 12px;
  -o-border-radius: 12px;
  -ms-border-radius: 12px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  animation-name: f_fadeG;
  -o-animation-name: f_fadeG;
  -ms-animation-name: f_fadeG;
  -webkit-animation-name: f_fadeG;
  -moz-animation-name: f_fadeG;
  animation-duration: 1.2s;
  -o-animation-duration: 1.2s;
  -ms-animation-duration: 1.2s;
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-direction: normal;
  -o-animation-direction: normal;
  -ms-animation-direction: normal;
  -webkit-animation-direction: normal;
  -moz-animation-direction: normal; }

#frotateG_01 {
  left: 0;
  top: 51px;
  animation-delay: 0.45s;
  -o-animation-delay: 0.45s;
  -ms-animation-delay: 0.45s;
  -webkit-animation-delay: 0.45s;
  -moz-animation-delay: 0.45s; }

#frotateG_02 {
  left: 15px;
  top: 15px;
  animation-delay: 0.6s;
  -o-animation-delay: 0.6s;
  -ms-animation-delay: 0.6s;
  -webkit-animation-delay: 0.6s;
  -moz-animation-delay: 0.6s; }

#frotateG_03 {
  left: 51px;
  top: 0;
  animation-delay: 0.75s;
  -o-animation-delay: 0.75s;
  -ms-animation-delay: 0.75s;
  -webkit-animation-delay: 0.75s;
  -moz-animation-delay: 0.75s; }

#frotateG_04 {
  right: 15px;
  top: 15px;
  animation-delay: 0.9s;
  -o-animation-delay: 0.9s;
  -ms-animation-delay: 0.9s;
  -webkit-animation-delay: 0.9s;
  -moz-animation-delay: 0.9s; }

#frotateG_05 {
  right: 0;
  top: 51px;
  animation-delay: 1.05s;
  -o-animation-delay: 1.05s;
  -ms-animation-delay: 1.05s;
  -webkit-animation-delay: 1.05s;
  -moz-animation-delay: 1.05s; }

#frotateG_06 {
  right: 15px;
  bottom: 15px;
  animation-delay: 1.2s;
  -o-animation-delay: 1.2s;
  -ms-animation-delay: 1.2s;
  -webkit-animation-delay: 1.2s;
  -moz-animation-delay: 1.2s; }

#frotateG_07 {
  left: 51px;
  bottom: 0;
  animation-delay: 1.35s;
  -o-animation-delay: 1.35s;
  -ms-animation-delay: 1.35s;
  -webkit-animation-delay: 1.35s;
  -moz-animation-delay: 1.35s; }

#frotateG_08 {
  left: 15px;
  bottom: 15px;
  animation-delay: 1.5s;
  -o-animation-delay: 1.5s;
  -ms-animation-delay: 1.5s;
  -webkit-animation-delay: 1.5s;
  -moz-animation-delay: 1.5s; }

@keyframes f_fadeG {
  0% {
    background-color: black; }
  100% {
    background-color: white; } }

@-webkit-keyframes f_fadeG {
  0% {
    background-color: black; }
  100% {
    background-color: white; } }

.main-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 63.9375em) {
    .main-grid {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .main-grid > * {
    -webkit-flex: 1 1 0%;
        -ms-flex: 1 1 0%;
            flex: 1 1 0%; }

.servicenav .nav-lang-wrapper, .inner-wrapper, #masterslider-controls, .site-header, .blog .news-wrapper, .page-numbers, .pagination, .extraboxen-wrapper, .front-boxen-wrapper .front-boxen-innerwrapper {
  margin: auto;
  max-width: 83.5625rem; }

.error404 .main-grid, .entry-content footer,
.entry-content header, .flexible-content, .single-aktivitaeten .main-grid {
  margin-left: auto;
  margin-right: auto;
  max-width: 44.5rem; }

.flexible-zwischentitel-wrapper, .flexible-editor-wrapper, .flexible-links-wrapper, .flexible-2spalter-wrapper, .flexible-ansprechpartner-wrapper, .flexible-downloads-wrapper, .flexible-infobox-wrapper, .flexible-accordion-wrapper, .flexible-table-wrapper, .single-aktivitaeten .single-description,
.single-aktivitaeten .single-details,
.single-aktivitaeten .gform_wrapper, .entry-content .gform_wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 37.5rem; }

* {
  box-sizing: border-box; }

*[style*="text-decoration"],
u {
  text-decoration: none; }

a {
  display: inline-block;
  transition: color 0.2s ease; }

h1 {
  font-family: 'latoblack';
  line-height: 2.375rem; }
  @media print, screen and (min-width: 40em) {
    h1 {
      line-height: 1.1; } }

h2 strong {
  font-size: 1.625rem; }
  @media print, screen and (min-width: 40em) {
    h2 strong {
      font-size: 2.3125rem; } }

h3, h3 strong {
  font-family: 'latoblack'; }

h4 {
  line-height: 2.25rem; }

@media screen and (max-width: 39.9375em) {
  h5 {
    line-height: 1.625rem; } }

h6 {
  font-family: 'latoblack';
  font-size: 1rem;
  transition: all 0.2s ease;
  line-height: 1.4375rem; }
  @media print, screen and (min-width: 40em) {
    h6 {
      line-height: 1.6875rem;
      font-size: 1.0625rem; } }

p, b, strong {
  font-size: 1rem;
  line-height: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    p, b, strong {
      font-size: 1.0625rem;
      line-height: 1.6; } }

b, strong {
  font-weight: normal;
  font-family: "latobold"; }

.intro {
  margin: 0; }
  .intro p, .intro strong {
    font-size: 1rem;
    color: rgba(38, 68, 103, 0.6); }
    @media print, screen and (min-width: 40em) {
      .intro p, .intro strong {
        font-size: 1.125rem; } }
    @media screen and (min-width: 50em) {
      .intro p, .intro strong {
        font-size: 1.375rem; } }

.button-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .button-wrapper.center {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }

.button, .entry-content .gform_wrapper input[type="submit"], .footer-contact-wrapper input[type="submit"] {
  text-transform: uppercase;
  height: 2.5rem;
  position: relative;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  transition: all 0.2s ease;
  margin-bottom: 0;
  font-size: 0.6875rem;
  letter-spacing: 0.125rem; }
  .button:hover, .entry-content .gform_wrapper input[type="submit"]:hover, .footer-contact-wrapper input[type="submit"]:hover {
    background-color: #DC4379; }
  .button.whitehover:hover, .entry-content .gform_wrapper input.whitehover[type="submit"]:hover, .footer-contact-wrapper input.whitehover[type="submit"]:hover {
    background-color: #FFFFFF;
    color: #48BEFF; }
  .button.tiny, .entry-content .gform_wrapper input.tiny[type="submit"], .footer-contact-wrapper input.tiny[type="submit"] {
    height: 1.375rem;
    font-size: 0.625rem;
    letter-spacing: 0.0625rem; }
  .button.small, .entry-content .gform_wrapper input.small[type="submit"], .footer-contact-wrapper input.small[type="submit"] {
    height: 1.75rem;
    padding: 0 1.5em;
    font-size: 0.625rem;
    letter-spacing: 0.0625rem; }
  .button.large, .entry-content .gform_wrapper input.large[type="submit"], .footer-contact-wrapper input[type="submit"] {
    height: 3.5rem;
    font-size: 0.6875rem;
    letter-spacing: 0.125rem; }
  .button.expanded, .entry-content .gform_wrapper input.expanded[type="submit"], .footer-contact-wrapper input.expanded[type="submit"] {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .button.pink, .entry-content .gform_wrapper input.pink[type="submit"], .entry-content .gform_wrapper .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .entry-content .gform_wrapper input[type="submit"], .footer-contact-wrapper input[type="submit"] {
    background-color: #DC4379; }
    .button.pink:hover, .entry-content .gform_wrapper input.pink[type="submit"]:hover, .footer-contact-wrapper input[type="submit"]:hover {
      background-color: #48BEFF; }

.backtooverview {
  margin-bottom: 1rem; }
  @media screen and (min-width: 50em) {
    .backtooverview {
      margin-bottom: 2rem; } }
  @media screen and (max-width: 39.9375em) {
    .backtooverview {
      height: 1.75rem;
      padding: 0 1.5em; } }

.section-title {
  font-family: "latobold";
  font-size: 1.875rem;
  text-transform: uppercase;
  margin-bottom: 2rem;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .section-title {
      font-size: 2.1875rem;
      text-align: left; } }

.error404 .main-grid {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.error404 .main-content {
  width: 100%;
  -webkit-flex: auto;
      -ms-flex: auto;
          flex: auto; }

.kopfbild-wrapper {
  background: center center no-repeat;
  background-size: cover;
  background-attachment: scroll;
  height: 7.5rem;
  overflow: hidden;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper {
      height: 13.75rem; } }
  @media screen and (min-width: 50em) {
    .kopfbild-wrapper {
      height: 17.5rem; } }
  @media screen and (min-width: 64em) {
    .kopfbild-wrapper {
      height: 20rem; } }
  .kopfbild-wrapper:after {
    content: "";
    width: 100%;
    height: 11vw;
    background: url("../images/headershape_large.svg") bottom 2px center no-repeat;
    background-size: 110%;
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2; }

#masterslider-controls {
  padding: 0 0.3125rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  #masterslider-controls .ms-slide {
    overflow: hidden; }
  #masterslider-controls .ms-nav-next, #masterslider-controls .ms-nav-prev {
    background: #48BEFF center center no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='14' viewBox='0 0 18 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.253 8.749C1.284 8.749.5 7.98.5 7.023c0-.953.786-1.726 1.753-1.726h9.607L9.863 3.243c-.666-.721-.65-1.64.019-2.28.645-.623 1.733-.611 2.366-.001.19.182 1.045 1.057 2.372 2.424.536.552 1.095 1.128 1.653 1.705l.54.557.193.2c.32.309.495.722.495 1.152 0 .428-.175.842-.483 1.14l-.205.211-.54.557-1.64 1.691a253.836 253.836 0 0 1-2.384 2.438c-.634.611-1.722.624-2.365.001-.669-.642-.686-1.561-.011-2.294l1.942-1.995h-9.56' fill='%23FFFFFF' fill-rule='nonzero'/%3E%3C/svg%3E");
    cursor: pointer;
    z-index: 110;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    margin: 0 0.3125rem;
    transition: background-color 0.2s; }
    #masterslider-controls .ms-nav-next:hover, #masterslider-controls .ms-nav-prev:hover {
      background-color: #DC4379; }
    @media print, screen and (min-width: 40em) {
      #masterslider-controls .ms-nav-next, #masterslider-controls .ms-nav-prev {
        width: 3.5rem;
        height: 3.5rem; } }
  #masterslider-controls .ms-nav-next {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  #masterslider-controls .ms-nav-prev {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }

.big-title {
  text-align: center;
  width: 100%; }
  .big-title h1 {
    font-family: 'permanent_markerregular';
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-shadow: 0.625rem 0.3125rem 1.25rem rgba(0, 0, 0, 0.75);
    font-size: 1.875rem;
    line-height: 1; }
    @media screen and (min-width: 50em) {
      .big-title h1 {
        font-size: 3.75rem; } }
    @media screen and (min-width: 77.5em) {
      .big-title h1 {
        font-size: 6.25rem; } }
  .big-title div {
    margin-top: 1rem;
    text-transform: uppercase;
    font-family: 'ralewayblack';
    color: #FFFFFF;
    letter-spacing: 4px;
    text-shadow: 0.625rem 0.3125rem 1.25rem rgba(0, 0, 0, 0.75); }
    @media screen and (max-width: 39.9375em) {
      .big-title div {
        font-size: 0.875rem; } }

@-webkit-keyframes moveImage {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0); }
  25% {
    -webkit-transform: scale(1.25) translate(15px, 5px);
            transform: scale(1.25) translate(15px, 5px); }
  50% {
    -webkit-transform: scale(1.15) translate(5px, 15px);
            transform: scale(1.15) translate(5px, 15px); }
  75% {
    -webkit-transform: scale(1.3) translate(10px, 10px);
            transform: scale(1.3) translate(10px, 10px); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0); } }

@keyframes moveImage {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0); }
  25% {
    -webkit-transform: scale(1.25) translate(15px, 5px);
            transform: scale(1.25) translate(15px, 5px); }
  50% {
    -webkit-transform: scale(1.15) translate(5px, 15px);
            transform: scale(1.15) translate(5px, 15px); }
  75% {
    -webkit-transform: scale(1.3) translate(10px, 10px);
            transform: scale(1.3) translate(10px, 10px); }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0); } }

/*********** HEADER **************/
.site-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 8.4375rem;
  padding: 0 1rem; }
  @media screen and (min-width: 90em) {
    .site-header {
      padding: 0; } }
  .site-header > * {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .site-header .buttonlogo-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .site-header .buttonlogo-wrapper a {
      margin-left: 3.75rem; }
    .site-header .buttonlogo-wrapper .ostbelgienlogo {
      margin-top: -0.625rem; }

/**************** HEADER SEARCHBAR ************/
.header-searchform .searchform {
  margin-top: 0;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .header-searchform .searchform input[type="text"] {
    width: 70%;
    margin: 0;
    background: rgba(0, 0, 0, 0.15);
    padding-right: 3rem;
    position: relative;
    right: -2rem; }
  .header-searchform .searchform input[type="submit"] {
    width: 30%; }
  .header-searchform .searchform select {
    display: none; }

/**************** CONTENT *****************/
.reset-margins {
  margin-left: -1rem;
  margin-right: -1rem; }
  @media print, screen and (min-width: 40em) {
    .reset-margins {
      margin-left: -3rem;
      margin-right: -3rem; } }
  @media screen and (min-width: 64em) {
    .reset-margins {
      margin-left: auto;
      margin-right: auto; } }

.entry-title {
  font-family: "latoblack";
  margin: 1.25rem 0 1.25rem 0;
  line-height: 1.1; }
  @media screen and (min-width: 50em) {
    .entry-title {
      margin: 3.75rem 0 3.125rem 0; } }

.single-post .entry-title {
  margin-top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .single-post .entry-title {
      margin-top: 2rem; } }

.entry-content {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 3rem;
  overflow-x: hidden; }
  @media print, screen and (min-width: 40em) {
    .entry-content {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 64em) {
    .entry-content {
      padding-left: 0;
      padding-right: 0; } }
  .entry-content.is-isotope {
    padding: 0; }
  .entry-content footer,
  .entry-content header {
    text-align: center;
    padding: 1.875rem 0 0 0; }
    @media screen and (min-width: 50em) {
      .entry-content footer,
      .entry-content header {
        padding: 4.0625rem 0 2.5rem 0; } }
  .entry-content ul {
    list-style-type: none;
    margin-left: 0;
    margin: 0.5rem 0 1rem 0; }
    .entry-content ul li:not(.accordion-item):not(.gfield):not([class*="gchoice"]) {
      padding: 0.1875rem 0 0.1875rem 2rem;
      position: relative; }
      .entry-content ul li:not(.accordion-item):not(.gfield):not([class*="gchoice"]):before {
        content: "";
        background-color: #006EB7;
        width: 0.25rem;
        height: 0.25rem;
        border-radius: 50%;
        position: absolute;
        left: 7px;
        top: 14px; }

.news-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  padding-bottom: 2rem; }
  .news-wrapper h5 {
    margin-bottom: 0.5rem; }
    @media screen and (min-width: 50em) {
      .news-wrapper h5 {
        margin-bottom: 1rem; } }
  .news-wrapper .news-item {
    padding: 1rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 40em) and (max-width: 49.9375em) {
      .news-wrapper .news-item {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    @media screen and (max-width: 49.9375em) {
      .news-wrapper .news-item:first-of-type {
        padding-top: 0; } }
    .news-wrapper .news-item img {
      border-radius: 0.1875rem;
      width: 100%; }
    @media screen and (min-width: 50em) {
      .news-wrapper .news-item {
        width: 33.33%;
        padding-top: 0.75rem; } }
    .news-wrapper .news-item > * {
      -webkit-flex: 0 1 auto;
          -ms-flex: 0 1 auto;
              flex: 0 1 auto; }
      @media screen and (min-width: 40em) and (max-width: 49.9375em) {
        .news-wrapper .news-item > * {
          -webkit-flex: 1 0 auto;
              -ms-flex: 1 0 auto;
                  flex: 1 0 auto;
          width: 50%; } }
    .news-wrapper .news-item:after {
      content: "";
      width: 100%;
      display: block;
      border-top: 1px solid rgba(38, 68, 103, 0.15);
      margin-top: 2rem; }
  .news-wrapper .news-img-wrapper {
    max-width: 100%;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    @media screen and (min-width: 40em) and (max-width: 49.9375em) {
      .news-wrapper .news-img-wrapper {
        padding-right: 2rem; } }
  .news-wrapper .news-content-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: 100%; }
    @media screen and (min-width: 40em) and (max-width: 49.9375em) {
      .news-wrapper .news-content-wrapper {
        -webkit-flex: 1 0 auto;
            -ms-flex: 1 0 auto;
                flex: 1 0 auto;
        width: 50%; } }
    .news-wrapper .news-content-wrapper .button-wrapper {
      margin-top: auto;
      padding-top: 1rem; }
    .news-wrapper .news-content-wrapper h5 a {
      color: #006EB7; }
      .news-wrapper .news-content-wrapper h5 a:hover {
        color: #DC4379; }
    .news-wrapper .news-content-wrapper p {
      color: rgba(38, 68, 103, 0.6);
      font-size: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .news-wrapper .news-content-wrapper p {
          font-size: 1rem; } }
  .news-wrapper .news-archive-link-wrapper {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    @media screen and (min-width: 77.5em) {
      .news-wrapper .news-archive-link-wrapper {
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    .news-wrapper .news-archive-link-wrapper .news-archive-link {
      margin-right: 0.625rem; }
  .news-wrapper .button, .news-wrapper .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper .news-wrapper input[type="submit"], .news-wrapper .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .news-wrapper input[type="submit"] {
    margin-top: auto; }

.news-meta {
  font-size: 0.8125rem;
  font-family: 'latobold';
  margin: 2rem 0 0.5rem 0;
  opacity: 0.75; }
  @media screen and (min-width: 40em) and (max-width: 49.9375em) {
    .news-meta {
      margin: 0; } }

/**************** BLOG HOME ONLY / ARCHIVE *****************/
@media screen and (min-width: 64em) {
  .blog .news-wrapper > * {
    width: 25%; } }

.page-numbers, .pagination {
  padding: 0 1rem;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 2rem;
  list-style-type: none; }
  @media screen and (min-width: 77.5em) {
    .page-numbers, .pagination {
      padding: 0; } }
  .page-numbers li > *, .pagination li > * {
    width: 1.875rem;
    height: 1.875rem;
    font-family: 'latobold';
    font-size: 0.875rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: rgba(38, 68, 103, 0.6);
    border: 1px solid rgba(38, 68, 103, 0.15);
    border-radius: 50%;
    transition: all 0.2s ease;
    margin: 0.625rem; }
  .page-numbers a:hover, .pagination a:hover,
  .page-numbers .current, .pagination .current {
    background-color: #DC4379;
    color: #FFFFFF; }

/**************** FLEXIBLE CONTENT *****************/
.flexible-content {
  padding-top: 2rem; }
  @media screen and (min-width: 50em) {
    .flexible-content {
      padding-top: 2rem; } }
  .flexible-content.half {
    padding-top: 1rem; }
    @media screen and (min-width: 50em) {
      .flexible-content.half {
        padding-top: 1rem; } }
  .flexible-content.third {
    padding-top: 0.5rem; }
    @media screen and (min-width: 50em) {
      .flexible-content.third {
        padding-top: 0.5rem; } }
  .flexible-content p:last-of-type {
    margin-bottom: 0; }

.flexible-galerie-wrapper + .flexible-editor-wrapper {
  padding-top: 2rem; }

.flexible-editor-wrapper a {
  font-family: "latobold";
  color: #48BEFF; }
  .flexible-editor-wrapper a:hover {
    color: #DC4379; }

.flexible-editor-wrapper p:last-of-type {
  margin-bottom: 0; }

.flexible-links-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .flexible-links-wrapper a {
    margin: 0.3125rem; }
    @media screen and (min-width: 50em) {
      .flexible-links-wrapper a {
        margin: 0 0.3125rem; } }

.flexible-2spalter-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 50em) {
    .flexible-2spalter-wrapper {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
      .flexible-2spalter-wrapper .flexible-2spalter-spalte1 {
        padding-right: 0.5rem; }
      .flexible-2spalter-wrapper .flexible-2spalter-spalte2 {
        padding-left: 0.5rem; } }

.flexible-trafficlight-wrapper {
  text-align: center;
  background: #006EB7;
  padding: 1rem;
  color: #FFFFFF; }
  @media screen and (min-width: 50em) {
    .flexible-trafficlight-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  .flexible-trafficlight-wrapper.green-light {
    background-color: rgba(0, 177, 0, 0.1);
    border-top: 1px solid #00b100;
    border-bottom: 1px solid #00b100;
    color: #264467; }
    .flexible-trafficlight-wrapper.green-light h3, .flexible-trafficlight-wrapper.green-light h3 strong, h3 .flexible-trafficlight-wrapper.green-light strong {
      color: #00b100; }
  .flexible-trafficlight-wrapper.orange-light {
    background-color: rgba(255, 174, 0, 0.02);
    border-top: 1px solid #ffae00;
    border-bottom: 1px solid #ffae00;
    color: #264467; }
    .flexible-trafficlight-wrapper.orange-light h3, .flexible-trafficlight-wrapper.orange-light h3 strong, h3 .flexible-trafficlight-wrapper.orange-light strong {
      color: #ffae00; }
  .flexible-trafficlight-wrapper.red-light {
    background-color: rgba(250, 37, 0, 0.1);
    border-top: 1px solid #fa2500;
    border-bottom: 1px solid #fa2500;
    color: #264467; }
    .flexible-trafficlight-wrapper.red-light h3, .flexible-trafficlight-wrapper.red-light h3 strong, h3 .flexible-trafficlight-wrapper.red-light strong {
      color: #fa2500; }
  .flexible-trafficlight-wrapper h3, .flexible-trafficlight-wrapper h3 strong, h3 .flexible-trafficlight-wrapper strong {
    line-height: 1.2;
    margin-bottom: 0.33333rem; }
  .flexible-trafficlight-wrapper img {
    box-shadow: 0px 0 20px 8px rgba(255, 255, 255, 0.3); }
  .flexible-trafficlight-wrapper .trafficlight-wrapper {
    margin-bottom: 1rem;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
    @media screen and (min-width: 50em) {
      .flexible-trafficlight-wrapper .trafficlight-wrapper {
        width: 6.25rem;
        margin-bottom: 0; } }

.flexible-childpages-wrapper article {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2rem 0;
  border-top: 1px solid rgba(38, 68, 103, 0.15); }
  .flexible-childpages-wrapper article:last-of-type {
    border-bottom: 1px solid rgba(38, 68, 103, 0.15); }
  @media screen and (min-width: 50em) {
    .flexible-childpages-wrapper article {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }

.flexible-childpages-wrapper .thumb {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0 0 1rem 0; }
  .flexible-childpages-wrapper .thumb img {
    border-radius: 0.1875rem; }
  @media screen and (min-width: 50em) {
    .flexible-childpages-wrapper .thumb {
      margin: 0 2rem 0 0; } }

.flexible-childpages-wrapper .inner-card {
  max-width: 100%;
  width: 100%;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flexible-childpages-wrapper .desc {
  margin-top: 1rem; }
  .flexible-childpages-wrapper .desc p {
    color: rgba(38, 68, 103, 0.6);
    font-size: 16px; }

.flexible-childpages-wrapper .button-wrapper {
  padding-top: 1rem;
  margin-top: auto;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.flexible-galerie-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%; }
  .flexible-galerie-wrapper.count-1 a {
    display: block;
    overflow: hidden;
    border-radius: 0.3125rem; }
  .flexible-galerie-wrapper a {
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -webkit-flex-shrink: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
    width: 50%;
    border: 1px solid #FFFFFF;
    position: relative;
    /*display: flex;
        justify-content: center;
        align-items: center;*/ }
    .flexible-galerie-wrapper a.grow {
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    @media print, screen and (min-width: 40em) {
      .flexible-galerie-wrapper a {
        width: 25%; } }
    .flexible-galerie-wrapper a:after, .flexible-galerie-wrapper a:before {
      content: "";
      opacity: 0;
      transition: opacity 0.2s ease;
      margin: auto;
      position: absolute; }
    .flexible-galerie-wrapper a:before {
      content: "+";
      width: 3.125rem;
      height: 3.125rem;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, 0.5);
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: #FFFFFF;
      z-index: 2;
      font-size: 1.875rem;
      font-family: 'latobold';
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .flexible-galerie-wrapper a:after {
      height: 100%;
      width: 100%;
      left: 0px;
      top: 0px;
      background: rgba(220, 67, 121, 0.8); }
    .flexible-galerie-wrapper a:hover:after, .flexible-galerie-wrapper a:hover:before {
      opacity: 1; }

.flexible-ansprechpartner-wrapper .ap-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 1rem 0; }

.flexible-ansprechpartner-wrapper .ap-thumb {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 1rem; }
  @media print, screen and (min-width: 40em) {
    .flexible-ansprechpartner-wrapper .ap-thumb {
      margin-right: 2rem; } }
  .flexible-ansprechpartner-wrapper .ap-thumb img {
    border-radius: 0.1875rem; }

.flexible-ansprechpartner-wrapper .ap-funktion {
  font-size: 0.875rem;
  font-family: 'latobold';
  color: rgba(38, 68, 103, 0.5);
  line-height: 1.2;
  padding-bottom: 0.625rem; }

.flexible-ansprechpartner-wrapper .ap-telefon,
.flexible-ansprechpartner-wrapper .ap-fax {
  font-family: 'latobold';
  font-size: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .flexible-ansprechpartner-wrapper .ap-telefon,
    .flexible-ansprechpartner-wrapper .ap-fax {
      font-size: 1rem; } }

.flexible-ansprechpartner-wrapper .button, .flexible-ansprechpartner-wrapper .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper .flexible-ansprechpartner-wrapper input[type="submit"], .flexible-ansprechpartner-wrapper .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .flexible-ansprechpartner-wrapper input[type="submit"] {
  margin-top: 0.5rem; }
  @media screen and (max-width: 39.9375em) {
    .flexible-ansprechpartner-wrapper .button, .flexible-ansprechpartner-wrapper .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper .flexible-ansprechpartner-wrapper input[type="submit"], .flexible-ansprechpartner-wrapper .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .flexible-ansprechpartner-wrapper input[type="submit"] {
      height: 1.375rem; } }

.flexible-downloads-wrapper {
  border: 1px solid rgba(38, 68, 103, 0.15);
  border-radius: 0.1875rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden; }
  .flexible-downloads-wrapper svg {
    color: #48BEFF;
    position: absolute;
    left: 1rem;
    top: 1rem; }
  .flexible-downloads-wrapper a {
    position: relative;
    transition: all 0.2s ease;
    padding: 1.20rem 1rem 1rem 3.75rem; }
    @media print, screen and (min-width: 40em) {
      .flexible-downloads-wrapper a {
        padding: 1rem 1rem 1rem 3.75rem; } }
    .flexible-downloads-wrapper a:not(:last-of-type) {
      border-bottom: 1px solid rgba(38, 68, 103, 0.15); }
    .flexible-downloads-wrapper a:hover {
      background: #264467; }
      .flexible-downloads-wrapper a:hover, .flexible-downloads-wrapper a:hover h6 {
        color: #FFFFFF; }
  .flexible-downloads-wrapper .desc {
    font-size: 0.875rem;
    margin-top: 0.5rem; }

.flexible-infobox-wrapper {
  border: 1px solid rgba(38, 68, 103, 0.15);
  border-radius: 0.1875rem;
  overflow: hidden;
  padding: 1rem; }
  .flexible-infobox-wrapper .desc p {
    font-size: 0.875rem;
    margin-top: 0.5rem; }

.accordion-item {
  padding: 1rem 0;
  border-top: 1px solid rgba(38, 68, 103, 0.15); }
  .accordion-item:last-of-type {
    border-bottom: 1px solid rgba(38, 68, 103, 0.15); }

.accordion-content {
  padding-top: 0.5rem;
  color: rgba(38, 68, 103, 0.6); }
  .accordion-content p {
    font-size: 0.9375rem; }

.accordion-title {
  padding-right: 4rem; }
  .accordion-title:before {
    background: #48BEFF;
    width: 1.375rem;
    height: 1.375rem;
    margin-top: -0.6875rem;
    line-height: 22px;
    text-align: center;
    display: block;
    color: #FFFFFF;
    border-radius: 50%;
    font-family: 'latoblack';
    transition: background-color 0.2s ease;
    padding: 0 0 1px 1px; }
  .accordion-title:hover:before {
    background-color: #264467; }
  .accordion-title:hover h6 {
    color: #48BEFF; }

.flexible-table-wrapper * {
  font-size: 0.875rem; }

.flexible-table-wrapper table {
  width: 100%;
  margin: 0;
  min-width: 28.125rem; }

.flexible-table-wrapper thead {
  overflow: hidden; }
  .flexible-table-wrapper thead th:first-of-type {
    border-radius: 0.1875rem 0 0 0; }
  .flexible-table-wrapper thead th:last-of-type {
    border-radius: 0 0.1875rem 0 0; }

.flexible-table-wrapper tbody tr:nth-child(even) {
  background-color: rgba(38, 68, 103, 0.05); }

.flexible-table-wrapper tbody tr:nth-child(odd) {
  background-color: rgba(38, 68, 103, 0.1); }

.flexible-table-wrapper tbody td {
  font-family: 'latobold'; }

@media screen and (max-width: 39.9375em) {
  .flexible-table-wrapper thead th,
  .flexible-table-wrapper tbody td {
    padding: 0.5rem; } }

/* FORMS
.flexible-form-wrapper {
    background: rgba($primary-color,0.05);
    padding: $grid-small*2;
    border-radius: $global-radius;
    @include breakpoint(medium) {  padding: $grid-medium*2; }

    h3 {
        @extend h5;
        color: rgba($primary-color,0.5);
        margin-bottom: $grid-medium;
    }
    .gfield > label {
        font-family: 'latoblack';
    }
    select,input, textarea {
        height: rem-calc(48);
        background: $white;
        border: 1px solid rgba($primary-color,0.3);
        border-radius: $global-radius;
        color: $white;
        box-shadow: 0 !important;
        width: 100%;
        &:focus {
            box-shadow: 0 !important;
            border: 1px solid $primary-color;
        }
    }
    input[type=submit] {
        @extend .button;
        width: auto;
    }
    .gfield_checkbox {
        li {
            display: flex;
            align-items: center;
            * {
                flex: 0 1 auto;
            }
            input {
                width: auto;
                margin-bottom: 0;
            }
        }

    }
    .gfield_required { color: map-get($foundation-palette, alert);}
    .ginput_container { display: flex;}
    .gform_footer {
        display: flex;
        justify-content: center;
    }
    img {
        max-width: auto;
        height: auto;
        align-self: center;
    }
}
*/
.ui-datepicker {
  background: #FFFFFF;
  box-shadow: 2px 2px 10px 5px rgba(0, 0, 0, 0.1); }

.ui-datepicker-title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.extraboxen-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 3rem;
  padding: 0 0.5rem 3rem 0.5rem; }
  .extraboxen-wrapper .extraboxen-item {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 100%;
    margin-bottom: 1rem;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .extraboxen-wrapper .extraboxen-item {
        width: 50%;
        margin-bottom: 0; } }
    .extraboxen-wrapper .extraboxen-item .button-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-top: auto; }
      .extraboxen-wrapper .extraboxen-item .button-wrapper .button, .extraboxen-wrapper .extraboxen-item .button-wrapper .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper .extraboxen-wrapper .extraboxen-item .button-wrapper input[type="submit"], .extraboxen-wrapper .extraboxen-item .button-wrapper .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .extraboxen-wrapper .extraboxen-item .button-wrapper input[type="submit"] {
        line-height: 1.3; }
  .extraboxen-wrapper a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0.5rem;
    background: #FFFFFF;
    border: 1px solid rgba(38, 68, 103, 0.15);
    padding: 2rem;
    text-align: center;
    height: 100%; }
  .extraboxen-wrapper h3, .extraboxen-wrapper h3 strong, h3 .extraboxen-wrapper strong {
    margin-bottom: 1rem; }

/****************** AKTIVITÄTEN ARCHIV ISOTOPE ************/
@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@keyframes rotating {
  from {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg); }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.cs-grid-outerwrapper {
  margin-top: 2rem;
  background: rgba(38, 68, 103, 0.05); }
  @media screen and (min-width: 64em) {
    .cs-grid-outerwrapper {
      padding-top: 3rem; } }
  .cs-grid-outerwrapper.loading {
    position: relative; }
    .cs-grid-outerwrapper.loading:before, .cs-grid-outerwrapper.loading:after {
      -webkit-animation: rotating 1s cubic-bezier(0.42, 0, 0.58, 1) infinite;
              animation: rotating 1s cubic-bezier(0.42, 0, 0.58, 1) infinite;
      content: "";
      display: block;
      position: absolute;
      left: 50%;
      top: 250px;
      margin-top: -1.5625rem;
      margin-left: -1.5625rem;
      width: 3.125rem;
      height: 3.125rem;
      border: 3px solid #264467;
      border-bottom-color: transparent;
      border-radius: 50%; }
      @media screen and (min-width: 50em) {
        .cs-grid-outerwrapper.loading:before, .cs-grid-outerwrapper.loading:after {
          top: 50vh; } }
    .cs-grid-outerwrapper.loading:after {
      -webkit-animation: rotating 1.25s cubic-bezier(0.42, 0, 0.58, 1) infinite;
              animation: rotating 1.25s cubic-bezier(0.42, 0, 0.58, 1) infinite;
      margin-top: -1.9375rem;
      margin-left: -1.9375rem;
      width: 3.875rem;
      height: 3.875rem;
      border: 3px solid #006EB7;
      border-top-color: transparent; }
    .cs-grid-outerwrapper.loading .element-item {
      opacity: 0; }

.cs-overview-grid {
  max-width: 83.5625rem;
  margin: auto;
  padding: 2rem 0;
  transition: height 0.4s ease; }
  @media print, screen and (min-width: 40em) {
    .cs-overview-grid {
      padding: 2rem 0.5rem 0 0.5rem; } }
  .cs-overview-grid:after {
    display: table;
    content: "";
    clear: both; }
  .cs-overview-grid .grid .element-item {
    opacity: 1; }

.icon-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  padding: 0.25rem; }

.refFilter {
  max-width: 46.375rem;
  margin: auto;
  padding: 2rem 0.5rem; }
  @media screen and (min-width: 50em) {
    .refFilter {
      padding: 2rem; } }
  @media screen and (min-width: 64em) {
    .refFilter {
      background-color: #FFFFFF; } }
  .refFilter .filter-title {
    text-transform: uppercase;
    font-family: 'latoblack';
    text-align: center;
    margin-bottom: 1rem; }
  .refFilter .filter-buttons {
    display: none; }
    @media screen and (min-width: 64em) {
      .refFilter .filter-buttons {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    .refFilter .filter-buttons h6 {
      text-transform: uppercase;
      color: rgba(38, 68, 103, 0.5);
      font-size: 0.875rem;
      margin-bottom: 0.5rem; }
    .refFilter .filter-buttons .cat-buttons {
      -webkit-flex: 2 1 auto;
          -ms-flex: 2 1 auto;
              flex: 2 1 auto;
      width: 70%; }
    .refFilter .filter-buttons .target-buttons {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto;
      width: 30%; }
    .refFilter .filter-buttons .button-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .refFilter .filter-buttons .button-wrapper a {
        transition: all 0.2s ease;
        font-family: 'latobold';
        font-size: 0.875rem;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
      .refFilter .filter-buttons .button-wrapper.cat-button-wrapper {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        .refFilter .filter-buttons .button-wrapper.cat-button-wrapper a {
          -webkit-flex: 0 1 auto;
              -ms-flex: 0 1 auto;
                  flex: 0 1 auto;
          width: 33.33%;
          position: relative;
          padding: 0.25rem 0.25rem 0.25rem 2.5rem;
          margin: 0.125rem 0;
          height: 2.25rem;
          color: #006EB7; }
          .refFilter .filter-buttons .button-wrapper.cat-button-wrapper a:hover, .refFilter .filter-buttons .button-wrapper.cat-button-wrapper a.current {
            background-color: rgba(38, 68, 103, 0.1);
            border-radius: 200px; }
          .refFilter .filter-buttons .button-wrapper.cat-button-wrapper a .icon-wrapper {
            position: absolute;
            padding: 0.25rem;
            left: 4px;
            top: 50%;
            -webkit-transform: translateY(-50%);
                -ms-transform: translateY(-50%);
                    transform: translateY(-50%); }
            .refFilter .filter-buttons .button-wrapper.cat-button-wrapper a .icon-wrapper img {
              width: 90%; }
      .refFilter .filter-buttons .button-wrapper.target-button-wrapper {
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        .refFilter .filter-buttons .button-wrapper.target-button-wrapper a {
          display: block;
          text-align: center;
          font-size: 0.875rem;
          margin-right: 1rem;
          color: #006EB7;
          /*&#einzelperson:before { background-image: url(../images/einzelperson.svg); }
                    &#gruppe:before { background-image: url(../images/gruppe.svg); }*/ }
          .refFilter .filter-buttons .button-wrapper.target-button-wrapper a div {
            width: 4.5rem;
            height: 4.5rem;
            display: block;
            margin: auto auto 0.5rem auto;
            border: 1px solid rgba(38, 68, 103, 0.15);
            border-radius: 50%;
            background-position: center center;
            background-repeat: no-repeat; }
          .refFilter .filter-buttons .button-wrapper.target-button-wrapper a.current div {
            background-color: rgba(38, 68, 103, 0.1); }

.selectmenu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 64em) {
    .selectmenu {
      display: none !important; } }
  .selectmenu select {
    margin: 0 0.5rem;
    border: 1px solid rgba(38, 68, 103, 0.15);
    color: #264467; }

.element-item {
  transition: opacity 0.4s ease;
  float: left;
  width: 100%;
  padding: 0.5rem 1rem; }
  @media print, screen and (min-width: 40em) {
    .element-item {
      width: 48.5%;
      padding: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .element-item {
      width: 24.5%; } }
  @media screen and (min-width: 50em) {
    .element-item:hover .inner {
      box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.12);
      -webkit-transform: translateY(-4px);
          -ms-transform: translateY(-4px);
              transform: translateY(-4px); }
      .element-item:hover .inner .hoverlay:before {
        background-color: transparent; } }

.inner {
  border: 1px solid rgba(38, 68, 103, 0.15);
  border-radius: 0.1875rem;
  overflow: hidden;
  transition: all 0.2s ease; }
  .inner .meta {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1rem;
    height: 3.4375rem;
    background-color: #FFFFFF; }
    .inner .meta > * {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; }
    .inner .meta h5 {
      color: #006EB7;
      font-size: 1.0625rem;
      font-family: 'latobold'; }
    .inner .meta .icons {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .inner .meta .icons .icon-wrapper {
        margin-left: 0.3125rem; }
  .inner .hoverlay {
    position: relative; }
    .inner .hoverlay:before {
      position: absolute;
      content: "";
      height: 100%;
      width: 100%;
      background-color: rgba(0, 0, 0, 0.3);
      z-index: 2;
      transition: background-color 0.2s ease; }

/****************** AKTIVITÄTEN DETAIL *************/
.single-aktivitaeten .main-grid {
  padding: 0 1rem; }
  @media print, screen and (min-width: 40em) {
    .single-aktivitaeten .main-grid {
      padding: 0; } }

.single-aktivitaeten .main-content > * {
  margin-bottom: 1rem; }

@media screen and (max-width: 39.9375em) {
  .single-aktivitaeten .entry-content {
    padding: 0; } }

.single-aktivitaeten .single-gallery .flexible-content {
  padding: 0; }

.single-aktivitaeten .single-intro-center {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-align: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2.5rem 0; }
  .single-aktivitaeten .single-intro-center h1 {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    margin: 3rem 0; }
  .single-aktivitaeten .single-intro-center span {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 1rem;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: 'latobold'; }
    .single-aktivitaeten .single-intro-center span div {
      margin-right: 0.5rem; }

.single-aktivitaeten .single-beitragsbild {
  border-radius: 0.28125rem; }

@media print, screen and (min-width: 40em) {
  .single-aktivitaeten .single-description,
  .single-aktivitaeten .single-details,
  .single-aktivitaeten .gform_wrapper {
    padding: 0;
    margin-top: 3rem;
    margin-bottom: 3rem; } }

.single-aktivitaeten .main-content .accordion-content {
  padding: 1rem 0; }
  .single-aktivitaeten .main-content .accordion-content h6 {
    font-size: 0.9375rem;
    margin: 0.5rem 0; }
  .single-aktivitaeten .main-content .accordion-content .infrastruktur-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .single-aktivitaeten .main-content .accordion-content .infrastruktur-title {
    font-family: 'latobold';
    color: #48BEFF;
    margin-right: 1rem; }

.single-aktivitaeten .main-content .flexible-table-wrapper {
  margin: 1rem 0; }

.entry-content .gform_wrapper {
  border-radius: 0.28125rem;
  background: #F4F5F7;
  padding: 2rem;
  margin-top: 1rem;
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .entry-content .gform_wrapper {
      margin-top: 3rem;
      margin-bottom: 3rem; } }
  .entry-content .gform_wrapper img {
    display: none; }
  .entry-content .gform_wrapper ul {
    margin: 0;
    list-style: none; }
  .entry-content .gform_wrapper li {
    padding: 0; }
    .entry-content .gform_wrapper li:before {
      display: none; }
    .entry-content .gform_wrapper li > * {
      width: auto; }
  .entry-content .gform_wrapper input:not([type="submit"]), .entry-content .gform_wrapper textarea {
    background: #FFFFFF;
    border: 1px solid rgba(38, 68, 103, 0.3);
    border-radius: 0.1875rem; }
  .entry-content .gform_wrapper input[type="submit"] {
    background-image: url(../images/submit_loading.svg);
    background-position: center right;
    background-repeat: no-repeat;
    background-size: 0px; }
    .entry-content .gform_wrapper input[type="submit"].load {
      padding-right: 2.5rem;
      background-size: auto; }
  .entry-content .gform_wrapper label {
    font-family: 'latobold'; }
  .entry-content .gform_wrapper .validation_message {
    margin-top: -0.5rem;
    margin-bottom: 0.5rem;
    color: #DC4379;
    font-size: 0.8125rem; }
  .entry-content .gform_wrapper .validation_error {
    color: #DC4379;
    font-size: 1rem;
    font-family: 'latobold';
    text-align: center;
    border-bottom: 2px solid #DC4379;
    border-top: 2px solid #DC4379;
    padding: 1rem;
    margin: 1rem 0 3rem 0; }
  .entry-content .gform_wrapper .gform_validation_container {
    display: none; }
  .entry-content .gform_wrapper h3, .entry-content .gform_wrapper h3 strong, h3 .entry-content .gform_wrapper strong {
    border-top: 1px solid #FFFFFF;
    margin-top: 2rem;
    margin-left: -2rem;
    margin-right: -2rem;
    padding: 2rem 2rem 1rem 2rem;
    color: rgba(38, 68, 103, 0.5);
    font-size: 1.3125rem; }
  .entry-content .gform_wrapper .gfield_html_formatted:first-of-type {
    margin-top: -2rem; }
    .entry-content .gform_wrapper .gfield_html_formatted:first-of-type h3, .entry-content .gform_wrapper .gfield_html_formatted:first-of-type h3 strong, h3 .entry-content .gform_wrapper .gfield_html_formatted:first-of-type strong {
      border-top: 0;
      padding-top: 0; }
  .entry-content .gform_wrapper .ginput_container_date {
    position: relative; }
    .entry-content .gform_wrapper .ginput_container_date img {
      position: absolute;
      top: 50%;
      right: 1rem;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
  .entry-content .gform_wrapper .gform_footer {
    text-align: center; }
  .entry-content .gform_wrapper .form_datenschutz {
    font-family: "latobold";
    padding: 1rem 0 2rem 0;
    font-size: 0.875rem; }
    .entry-content .gform_wrapper .form_datenschutz a {
      color: #48BEFF; }
      .entry-content .gform_wrapper .form_datenschutz a:hover {
        color: #006EB7; }

/******************* RESPONSIVE EMBED **************/
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2; }

/******************** FOOTER ********************/
.logos {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3.125rem 0 1.25rem 0; }
  .logos > * {
    margin: 1.875rem; }

.footer {
  font-size: 0.875rem;
  font-family: "latobold"; }
  .footer ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 0;
    list-style-type: none; }
    @media screen and (max-width: 49.9375em) {
      .footer ul a {
        padding: 0.125rem 0; } }
    @media screen and (min-width: 50em) {
      .footer ul {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
  .footer a {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.875rem;
    padding: 0.625rem; }
  .footer li[class*="current"] a,
  .footer a:hover {
    color: #FFFFFF; }
  .footer .innerfooter-wrapper {
    max-width: 83.5625rem;
    margin: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.5rem 1rem; }
    @media screen and (min-width: 90em) {
      .footer .innerfooter-wrapper {
        padding: 0; } }
  .footer .footer-social-wrapper {
    background: #005892; }
    @media screen and (max-width: 49.9375em) {
      .footer .footer-social-wrapper .menu {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .footer .footer-social-wrapper .socials {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .footer .footer-social-wrapper .socials a {
        color: #FFFFFF;
        margin-left: 0.5rem; }
        .footer .footer-social-wrapper .socials a:hover {
          color: #48BEFF; }
  .footer .afterfooter-wrapper {
    background: rgba(38, 68, 103, 0.05); }
    .footer .afterfooter-wrapper .innerfooter-wrapper {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (max-width: 49.9375em) {
        .footer .afterfooter-wrapper .innerfooter-wrapper {
          padding: 1.25rem 0;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; } }
    .footer .afterfooter-wrapper ul {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      @media screen and (max-width: 49.9375em) {
        .footer .afterfooter-wrapper ul {
          margin-top: 0.5rem; } }
    .footer .afterfooter-wrapper span {
      color: rgba(38, 68, 103, 0.5); }
    .footer .afterfooter-wrapper a {
      display: inline-block;
      margin: 0 0.625rem;
      color: #264467; }
      .footer .afterfooter-wrapper a:hover {
        color: #48BEFF; }
      @media print, screen and (min-width: 40em) {
        .footer .afterfooter-wrapper a {
          margin: 0.1875rem 0.625rem; } }

.footer-contact-wrapper {
  background: #006EB7;
  padding: 3rem 0 3rem 0; }
  .footer-contact-wrapper .inner-wrapper {
    max-width: 46.875rem;
    margin: auto;
    padding: 0 1rem;
    text-align: center; }
    @media screen and (min-width: 50em) {
      .footer-contact-wrapper .inner-wrapper {
        text-align: left; } }
    @media screen and (min-width: 90em) {
      .footer-contact-wrapper .inner-wrapper {
        padding: 0; } }
  .footer-contact-wrapper .pretitle, .footer-contact-wrapper h2 {
    color: #FFFFFF; }
  .footer-contact-wrapper .pretitle {
    text-transform: uppercase;
    font-family: 'latoblack';
    color: #FFFFFF;
    letter-spacing: 4px;
    font-size: 0.75rem;
    opacity: 0.5; }
  .footer-contact-wrapper h2, .footer-contact-wrapper h2 * {
    font-size: 2.0625rem; }
    @media screen and (min-width: 50em) {
      .footer-contact-wrapper h2, .footer-contact-wrapper h2 * {
        font-size: 3.4375rem; } }
  .footer-contact-wrapper .gfield_label, .footer-contact-wrapper #field_6_2 {
    display: none; }
  .footer-contact-wrapper ul {
    margin: 0;
    list-style: none; }
  .footer-contact-wrapper form {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 50em) {
      .footer-contact-wrapper form {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .footer-contact-wrapper form img {
      display: none; }
    .footer-contact-wrapper form .gform_body {
      margin-right: 5%; }
      @media screen and (min-width: 50em) {
        .footer-contact-wrapper form .gform_body {
          width: 60%; } }
      .footer-contact-wrapper form .gform_body input {
        max-width: 15.625rem;
        margin: auto;
        text-align: center;
        color: #FFFFFF;
        font-size: 1.3125rem;
        border-bottom: 2px solid rgba(255, 255, 255, 0.25);
        padding-left: 0; }
        @media screen and (min-width: 50em) {
          .footer-contact-wrapper form .gform_body input {
            max-width: none;
            text-align: left; } }
        .footer-contact-wrapper form .gform_body input::-webkit-input-placeholder {
          color: rgba(255, 255, 255, 0.25); }
        .footer-contact-wrapper form .gform_body input:-ms-input-placeholder {
          color: rgba(255, 255, 255, 0.25); }
        .footer-contact-wrapper form .gform_body input::placeholder {
          color: rgba(255, 255, 255, 0.25); }
        .footer-contact-wrapper form .gform_body input:hover, .footer-contact-wrapper form .gform_body input:focus {
          background: none; }
        .footer-contact-wrapper form .gform_body input[aria-invalid="true"] {
          border-bottom: 2px solid #DC4379; }
          .footer-contact-wrapper form .gform_body input[aria-invalid="true"]::-webkit-input-placeholder {
            color: #DC4379; }
          .footer-contact-wrapper form .gform_body input[aria-invalid="true"]:-ms-input-placeholder {
            color: #DC4379; }
          .footer-contact-wrapper form .gform_body input[aria-invalid="true"]::placeholder {
            color: #DC4379; }
    .footer-contact-wrapper form .form_footer {
      width: 25%; }
    .footer-contact-wrapper form .validation_error {
      display: none; }
    .footer-contact-wrapper form .validation_message, .footer-contact-wrapper form .gform_confirmation_message {
      color: #FFFFFF;
      margin-top: -0.25rem; }
  .footer-contact-wrapper input[type="submit"] {
    margin-top: 2rem;
    position: relative;
    box-shadow: 4px 10px 10px rgba(0, 0, 0, 0.3); }
    @media screen and (min-width: 50em) {
      .footer-contact-wrapper input[type="submit"] {
        margin-top: 0; } }
    .footer-contact-wrapper input[type="submit"]:hover {
      background: #FFFFFF;
      color: #48BEFF; }

#mc_embed_signup {
  margin-top: 2rem; }

#cookiemessage {
  z-index: 500 !important; }

/**** SEARCH FORM ****/
.result-search-form {
  width: 100%;
  max-width: 45.5rem;
  margin: 0 auto 4rem auto;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 0.1875rem; }
  @media screen and (min-width: 50em) {
    .result-search-form {
      padding: 2rem; } }

.searchform {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1rem;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 40em) {
    .searchform {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .searchform input {
    width: 75%;
    background: #FFFFFF;
    height: 2.5rem;
    border-radius: 18.75rem;
    padding: 0 1rem; }
    @media print, screen and (min-width: 40em) {
      .searchform input {
        margin: 0 1rem 0 0; } }
    .searchform input[type="text"] {
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .searchform input[type="text"] {
          width: 50%; } }
    .searchform input[type="submit"] {
      margin-right: 0;
      width: 25%;
      background-color: #48BEFF;
      background: #DC4379;
      border-color: #DC4379;
      border-radius: 0px;
      color: #FFFFFF;
      height: 2.5rem;
      border-radius: 18.75rem; }
      @media print, screen and (min-width: 40em) {
        .searchform input[type="submit"] {
          width: 25%; } }
      .searchform input[type="submit"]:hover {
        background: #48BEFF;
        border-color: #48BEFF; }
  .searchform select {
    border-radius: 18.75rem;
    padding: 0 2rem 0 1rem; }
    @media print, screen and (min-width: 40em) {
      .searchform select {
        margin: 0 1rem 0 0;
        width: 25%; } }

.found-in {
  font-size: 0.8125rem;
  line-height: 1.375rem;
  color: #8F959B;
  margin-bottom: 0.5rem; }

.pagination {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none; }
  .pagination li {
    padding: 0 !important; }
    .pagination li:before {
      display: none; }

/**** HINWEISBANNER ****/
.important-message {
  background: #EC1D24;
  color: #FFFFFF;
  font-family: 'latobold';
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 1rem 0.5rem;
  display: none;
  position: relative; }
  .important-message .inner-wrapper {
    max-width: 60rem;
    text-align: center; }
  .important-message .important-close {
    float: right;
    position: relative;
    top: -4px;
    cursor: pointer; }
    .important-message .important-close svg {
      width: 14px; }
  .important-message img {
    display: none; }
    @media screen and (min-width: 50em) {
      .important-message img {
        display: block;
        position: absolute;
        top: 2rem;
        right: 4rem; } }
    @media screen and (min-width: 77.5em) {
      .important-message img {
        right: 5rem; } }

.home .kopfbild-wrapper {
  height: 132vw;
  overflow: hidden;
  background: #000000; }
  @media print, screen and (min-width: 40em) {
    .home .kopfbild-wrapper {
      height: 47vw; } }
  .home .kopfbild-wrapper img {
    opacity: 0.7;
    transition: opacity 0.3s ease;
    -webkit-animation: moveImage 60s linear 0s infinite alternate;
            animation: moveImage 60s linear 0s infinite alternate; }
  .home .kopfbild-wrapper:hover img {
    opacity: 1; }
  .home .kopfbild-wrapper .ms-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) !important;
        -ms-transform: translate(-50%, -50%) !important;
            transform: translate(-50%, -50%) !important;
    text-align: center;
    z-index: 5;
    padding: 0 1rem;
    max-width: 95%; }
  .home .kopfbild-wrapper .button, .home .kopfbild-wrapper .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper .home .kopfbild-wrapper input[type="submit"], .home .kopfbild-wrapper .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .home .kopfbild-wrapper input[type="submit"] {
    margin-top: 3rem; }

/*************** FRONTPAGE *****************/
.front-section-title strong {
  font-family: 'latoblack'; }

.front-aktivitaeten-wrapper,
.front-boxen-wrapper {
  padding: 2rem 0;
  position: relative; }
  .front-aktivitaeten-wrapper h2,
  .front-boxen-wrapper h2 {
    text-align: center; }
    .front-aktivitaeten-wrapper h2, .front-aktivitaeten-wrapper h2 *,
    .front-boxen-wrapper h2,
    .front-boxen-wrapper h2 * {
      font-size: 2.0625rem; }
      @media print, screen and (min-width: 40em) {
        .front-aktivitaeten-wrapper h2, .front-aktivitaeten-wrapper h2 *,
        .front-boxen-wrapper h2,
        .front-boxen-wrapper h2 * {
          font-size: 3.4375rem; } }
  .front-aktivitaeten-wrapper .button-wrapper,
  .front-boxen-wrapper .button-wrapper {
    margin-top: 2rem; }

.front-aktivitaeten-wrapper {
  margin-bottom: 2rem; }
  @media screen and (min-width: 50em) {
    .front-aktivitaeten-wrapper {
      margin-bottom: 4rem; } }
  .front-aktivitaeten-wrapper .ms-slide .element-item {
    width: 100%;
    padding: 0; }
  .front-aktivitaeten-wrapper .cs-overview-grid {
    display: none; }
    @media screen and (min-width: 64em) {
      .front-aktivitaeten-wrapper .cs-overview-grid {
        display: block; } }
    .front-aktivitaeten-wrapper .cs-overview-grid.master-slider {
      display: block; }
      @media screen and (min-width: 64em) {
        .front-aktivitaeten-wrapper .cs-overview-grid.master-slider {
          display: none; } }

.front-boxen-wrapper {
  background: #F4F5F7 url(../images/background_front.png) center bottom no-repeat;
  background-size: 100%;
  position: relative; }
  .front-boxen-wrapper:after {
    position: absolute;
    top: calc( 100% - 2px);
    left: 0;
    right: 0;
    content: "";
    background: url(../images/news-triangle.svg) center center no-repeat;
    background-size: 102%;
    padding-bottom: 8.8%;
    z-index: 2; }
  .front-boxen-wrapper .front-boxen-innerwrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .front-boxen-wrapper h2 {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    width: 100%;
    margin-bottom: 2rem; }
  .front-boxen-wrapper .news-wrapper {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media screen and (min-width: 77.5em) {
      .front-boxen-wrapper .news-wrapper {
        width: 75%; } }
  .front-boxen-wrapper .front-news-sidebar {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .front-boxen-wrapper .front-news-sidebar h3, .front-boxen-wrapper .front-news-sidebar h3 strong, h3 .front-boxen-wrapper .front-news-sidebar strong {
      font-family: 'latoregular';
      line-height: 1; }
      .front-boxen-wrapper .front-news-sidebar h3 strong, h3 .front-boxen-wrapper .front-news-sidebar strong strong {
        font-family: 'latoblack'; }
    @media screen and (max-width: 39.9375em) {
      .front-boxen-wrapper .front-news-sidebar {
        padding: 0 1rem; } }
    @media print, screen and (min-width: 40em) {
      .front-boxen-wrapper .front-news-sidebar {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media screen and (min-width: 77.5em) {
      .front-boxen-wrapper .front-news-sidebar {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .front-boxen-wrapper .front-news-sidebar > div {
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .front-boxen-wrapper .front-news-sidebar > div {
          margin: 0.625rem 1rem; } }
      @media screen and (min-width: 50em) {
        .front-boxen-wrapper .front-news-sidebar > div {
          width: 50%; } }
    @media screen and (min-width: 77.5em) {
      .front-boxen-wrapper .front-news-sidebar {
        width: 25%;
        padding: 0.625rem;
        display: initial; }
        .front-boxen-wrapper .front-news-sidebar > div {
          width: 100%;
          margin: 0 0 1rem 0; } }

.front-galery-box {
  border-radius: 0.1875rem;
  background: #FFFFFF;
  margin-top: 1rem;
  box-shadow: 0 0.25rem 0.25rem 0 rgba(38, 68, 103, 0.25);
  position: relative;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .front-galery-box .img-wrapper {
    min-height: 11.75rem;
    background: center center no-repeat;
    background-size: cover;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%; }
  .front-galery-box h3, .front-galery-box h3 strong, h3 .front-galery-box strong {
    padding: 1rem 0;
    line-height: 1.2;
    text-align: center; }
  .front-galery-box .button, .front-galery-box .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper .front-galery-box input[type="submit"], .front-galery-box .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .front-galery-box input[type="submit"] {
    margin: auto; }

.front-video-wrapper {
  position: relative;
  top: 30vw;
  margin-top: -22vw;
  padding: 0 1rem; }
  @media screen and (min-width: 50em) {
    .front-video-wrapper {
      top: 15vw;
      margin-top: -7vw; } }
  @media screen and (min-width: 90em) {
    .front-video-wrapper {
      padding: 0; } }

.video-wrapper {
  margin: auto; }
  .video-wrapper:before {
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    bottom: 5%;
    content: "";
    box-shadow: 0 0 150px 40px black;
    z-index: 1; }
  .video-wrapper:after {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -2rem;
    margin-top: -2rem;
    width: 4rem;
    height: 4rem;
    content: "";
    background: url(../images/play.svg) center center no-repeat;
    background-size: contain;
    z-index: 3;
    opacity: 0.9;
    cursor: pointer;
    transition: opacity 0.4s ease; }
    @media screen and (min-width: 50em) {
      .video-wrapper:after {
        margin-left: -3.4375rem;
        margin-top: -3.4375rem;
        width: 6.875rem;
        height: 6.875rem; } }
  .video-wrapper:hover:after {
    opacity: 1; }
  .video-wrapper.embed-container {
    max-width: 67.125rem;
    overflow: visible;
    z-index: 40; }
    @media screen and (min-width: 77.5em) {
      .video-wrapper.embed-container {
        height: 37.75rem;
        padding-bottom: 0; } }
  .video-wrapper iframe {
    background-size: 100%; }
  .video-wrapper img {
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    opacity: 1;
    transition: opacity 0.4s ease; }
  .video-wrapper.video-loaded img, .video-wrapper.video-loaded:after {
    opacity: 0; }
  .video-wrapper.hide-img img, .video-wrapper.hide-img:after {
    display: none; }

.front-weather-box {
  border-radius: 0.1875rem;
  padding: 1rem 2rem 2rem 2rem;
  background: #FFFFFF;
  box-shadow: 0 0.25rem 0.25rem 0 rgba(38, 68, 103, 0.25); }
  .front-weather-box ul {
    margin: 0; }
    .front-weather-box ul li {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .front-weather-box ul li:not(:last-of-type) {
        border-bottom: 1px solid rgba(112, 129, 143, 0.3); }
      .front-weather-box ul li > div:not(:last-of-type) {
        padding: 0.5rem 0; }
      .front-weather-box ul li > div:last-of-type {
        -webkit-align-self: flex-end;
            -ms-flex-item-align: end;
                align-self: flex-end;
        padding-bottom: 0.25rem; }
      .front-weather-box ul li strong {
        font-family: "latoregular";
        font-size: 1.0625rem; }
  .front-weather-box .temp {
    font-size: 2.1875rem;
    line-height: 1;
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end;
    font-family: "latobold";
    margin-left: auto;
    padding-right: 0.3125rem; }
  .front-weather-box .high,
  .front-weather-box .humidity,
  .front-weather-box .refreshed {
    font-size: 0.75rem;
    line-height: 1.0625rem;
    color: rgba(38, 68, 103, 0.5);
    font-family: "latobold"; }
  .front-weather-box .refreshed {
    text-align: right; }
  .front-weather-box img {
    display: block;
    width: 3.4375rem; }

.front-map-wrapper {
  background-size: cover;
  background-position: center center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding-top: 30vw;
  height: 130vw; }
  @media print, screen and (min-width: 40em) {
    .front-map-wrapper {
      padding-top: 25vw;
      height: 100vw; } }
  @media screen and (min-width: 50em) {
    .front-map-wrapper {
      padding-top: 18vw;
      height: 75vw; } }
  @media screen and (min-width: 64em) {
    .front-map-wrapper {
      height: 70vw;
      padding-top: 17vw; } }
  @media screen and (min-width: 77.5em) {
    .front-map-wrapper {
      height: 45vw;
      padding-top: 16vw;
      max-height: 900px; } }
  .front-map-wrapper .big-title {
    padding: 0 1rem; }
    @media screen and (min-width: 90em) {
      .front-map-wrapper .big-title {
        padding: 0; } }
  .front-map-wrapper .button, .front-map-wrapper .entry-content .gform_wrapper input[type="submit"], .entry-content .gform_wrapper .front-map-wrapper input[type="submit"], .front-map-wrapper .footer-contact-wrapper input[type="submit"], .footer-contact-wrapper .front-map-wrapper input[type="submit"] {
    margin-top: 3rem;
    box-shadow: 4px 10px 10px rgba(0, 0, 0, 0.3);
    z-index: 500; }
  .front-map-wrapper:after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
    background: url(../images/inverted-triangle.svg) center center no-repeat;
    background-size: 102%;
    padding-bottom: 10%; }

body#tinymce {
  height: auto;
  max-width: 83.5625rem;
  padding: 1.25rem !important;
  background: #FFFFFF; }
  body#tinymce a {
    color: #006EB7 !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJnbG9iYWwvX2ZvbnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX21hc3RlcnNsaWRlci5zY3NzIiwibW9kdWxlcy9fZGF0ZXBpY2tlci5zY3NzIiwiZ2xvYmFsL19zcGlubmVyLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJnbG9iYWwvX2Zyb250cGFnZS5zY3NzIiwibW9kdWxlcy9fZWRpdG9yLXN0eWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDRWpCO0VBQ0kseUJBQXdCO0VBQ3hCLHNIQUMyRDtFQUMzRCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBR3RCO0VBQ0ksd0JBQXVCO0VBQ3ZCLG9IQUMwRDtFQUMxRCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBSXRCO0VBQ0ksMEJBQXlCO0VBQ3pCLHdIQUM0RDtFQUM1RCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBSXRCO0VB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Q2xCLGlCSGxHc0I7RUdtR3RCLG1DSGpHeUMsRUdrRzFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsaUJIdkxvQjtFR3dMcEIscUJBQW9CLEVBQ3JCOztBQUdEO0VBQ0UsZUh4SGlCO0VHeUhqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7Ozs7RUFNRSwyQkg3SjhCO0VHOEo5QixtQkg1SnNCO0VHNkp0QixvQkg5SnVCO0VHK0p2QixlSHBQYztFR3FQZCxtQ0h4SXNDLEVHOEl2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVIaE9lLEVHaU9oQjs7QUFRRztFQUlJLG1CRnZQNkM7RUVtUTdDLGlCSHpMVztFR2lNWCxjQUFhO0VBT2IsaUJGN1FDLEVFK1FKOztBQWpDRDtFQUlJLGtCRnZQNkM7RUVtUTdDLGlCSHpMVztFR2lNWCxjQUFhO0VBT2IsaUJGN1FDLEVFK1FKOztBQWpDRDtFQUlJLG9CRnZQNkM7RUVtUTdDLGlCSHpMVztFR2lNWCxjQUFhO0VBT2IsaUJGN1FDLEVFK1FKOztBQWpDRDtFQUlJLG1CRnZQNkM7RUVtUTdDLGlCSHpMVztFR2lNWCxjQUFhO0VBT2IsaUJGN1FDLEVFK1FKOztBQWpDRDtFQUlJLG9CRnZQNkM7RUVtUTdDLGlCSHpMVztFR2lNWCxjQUFhO0VBT2IsaUJGN1FDLEVFK1FKOztBQWpDRDtFQUlJLGdCRnZQNkM7RUVtUTdDLGlCSHpMVztFR2lNWCxjQUFhO0VBT2IsaUJGN1FDLEVFK1FKOztBQ3pNSDtFRHdLRTtJQUlJLHFCRnZQNkMsRUVvUmhEO0VBakNEO0lBSUksb0JGdlA2QyxFRW9SaEQ7RUFqQ0Q7SUFJSSxxQkZ2UDZDLEVFb1JoRDtFQWpDRDtJQUlJLHFCRnZQNkMsRUVvUmhEO0VBakNEO0lBSUkscUJGdlA2QyxFRW9SaEQ7RUFqQ0Q7SUFJSSxxQkZ2UDZDLEVFb1JoRCxFQUFBOztBQU1QO0VBQ0UscUJBQW9CO0VBQ3BCLGVIM1NjO0VHNFNkLHNCSGpMeUI7RUdtTHpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZUhqVGMsRUdxVGY7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FBSUg7RUFDRSxZQUFXO0VBRVgsc0JGbFRxRDtFRW1UckQsVUFBUztFQUNULHFCSHBNeUI7RUdzTXpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDSDlTaUI7RUcrU2pCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JIOU4wQjtFRytOMUIsNkJIN015QjtFRzhNekIsaUJIak9zQixFR2tPdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQkh2TnNCO0VHd050QixzQkgxTmtCLEVHMk5uQjs7QUFHRDtFQUNFLHFCSDdOc0IsRUc4TnZCOztBQUdEO0VBRUkscUJIbE8yQjtFR21PM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JIeE95QixFRzhPMUI7RUFQRDtJQUlJLHNCSHpPOEI7SUcwTzlCLGlCSHpVa0IsRUcwVW5COztBQUlIO0VBQ0UsaUJIdlEwQjtFR3dRMUIsdUNGMVdxRDtFRTJXckQsK0JIaldpQixFR3VXbEI7RUFURDtJQU1JLGlCSDdRb0I7SUc4UXBCLGVIOVhZLEVHK1hiOztBQUlIO0VBQ0UsZUFBYztFQUNkLHFCRnRYcUQ7RUV1WHJELGVIdFljLEVHMllmO0VBUkQ7SUFNSSxjSDNQZ0IsRUFBYTs7QUdnUWpDO0VBQ0Usa0NIblhXO0VHb1hYLGFBQVk7RUFDWixzQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSxzQ0Y1WXFEO0VFOFlyRCwwQkhwWWlCO0VHcVlqQiwwQkh0WWdCO0VHd1loQiw2REh6VW1FO0VHMFVuRSxvQkh6WHlCO0VHMFh6QixlSHRZVyxFR3VZWjs7QUFHRDtFQUNFLFVBQVM7RUFDVCw0QkZwWlM7RUVzWlQsMEJIbFpnQjtFR29aaEIsNkRIclZtRTtFR3NWbkUsZUhqWlc7RUdvWlQseUJGamFtRCxFRW1hdEQ7O0FFNWNEO0VBQ0UsbUJMdUx5QjtFS3RMekIsc0JMdUw0QjtFS3JMNUIsb0JMOER5QjtFSzdEekIsaUJMZ0xzQjtFSy9LdEIsZUxvQmMsRUtuQmY7O0FB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QWtDLEVBQUciLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbGF0by1ibGFjay13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9sYXRvLWJsYWNrLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2xhdG8tYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9sYXRvLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdsYXRvaXRhbGljJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9sYXRvLWl0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9sYXRvLWl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xhdG9yZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9sYXRvLXJlZ3VsYXItd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbGF0by1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAna2F1c2hhbl9zY3JpcHRyZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9rYXVzaGFuc2NyaXB0LXJlZ3VsYXItd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMva2F1c2hhbnNjcmlwdC1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncGVybWFuZW50X21hcmtlcnJlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3Blcm1hbmVudG1hcmtlci1yZWd1bGFyLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3Blcm1hbmVudG1hcmtlci1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncGxheWZhaXJfZGlzcGxheWJsYWNrJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wbGF5ZmFpcmRpc3BsYXktYmxhY2std2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcGxheWZhaXJkaXNwbGF5LWJsYWNrLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncmFsZXdheWJsYWNrJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9yYWxld2F5LWJsYWNrLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3JhbGV3YXktYmxhY2std2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NTBlbSZ4bGFyZ2U9NjRlbSZ4eGxhcmdlPTc3LjVlbSZ4eHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9yZWd1bGFyXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzI2NDQ2NztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmgzIHN0cm9uZyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLFxuaDMgc3Ryb25nLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJsYXRvcmVndWxhclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMjY0NDY3O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjNzA4MThGOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmgzLCBoMyBzdHJvbmcsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgaDMsIGgzIHN0cm9uZywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMyNjQ0Njc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDA2RUI3OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA4My41NjI1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzA4MThGO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzcwODE4RjsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMyNjQ0Njc7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICMyNjQ0Njc7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwMDAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MDgxOEY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGN0Y3RjY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzI2NDQ2NzsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzI2NDQ2NztcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMsXG4gIGgzIHN0cm9uZyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzLFxuICBoMyBzdHJvbmcge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBmb250LWZhbWlseTogXCJyYWxld2F5YmxhY2tcIjtcbiAgcGFkZGluZzogMGVtIDNlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMzYwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDhCRUZGO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbjpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2NDQ2NztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnRpbnksIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LnRpbnlbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQudGlueVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBmb250LXNpemU6IDAuNTVyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuc21hbGxbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuc21hbGxbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2UsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmxhcmdlW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5leHBhbmRlZFt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5leHBhbmRlZFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2NDQ2NztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMzY1MjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZFQjc7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU4OTI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5MTI5O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RDMwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2YTkwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uYWxlcnQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQzFEMjQ7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNDEwMTY7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OEJFRkY7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY0NDY3O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2RUI3O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhEMzAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUMxRDI0O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDhCRUZGO1xuICAgIGNvbG9yOiAjNDhCRUZGOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3dbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3dbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3dbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwNjlhNDtcbiAgICAgIGNvbG9yOiAjMDA2OWE0OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ4QkVGRjtcbiAgICAgICAgY29sb3I6ICM0OEJFRkY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNjQ0Njc7XG4gICAgICBjb2xvcjogIzI2NDQ2NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEzMjIzNDtcbiAgICAgICAgY29sb3I6ICMxMzIyMzQ7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI2NDQ2NztcbiAgICAgICAgICBjb2xvcjogIzI2NDQ2NzsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwNkVCNztcbiAgICAgIGNvbG9yOiAjMDA2RUI3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAzNzVjO1xuICAgICAgICBjb2xvcjogIzAwMzc1YzsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2RUI3O1xuICAgICAgICAgIGNvbG9yOiAjMDA2RUI3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzNzViMWE7XG4gICAgICAgIGNvbG9yOiAjMzc1YjFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGOEQzMDA7XG4gICAgICBjb2xvcjogI0Y4RDMwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdjNmEwMDtcbiAgICAgICAgY29sb3I6ICM3YzZhMDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Y4RDMwMDtcbiAgICAgICAgICBjb2xvcjogI0Y4RDMwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5ob2xsb3cuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VDMUQyNDtcbiAgICAgIGNvbG9yOiAjRUMxRDI0OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjN2EwYTBlO1xuICAgICAgICBjb2xvcjogIzdhMGEwZTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUMxRDI0O1xuICAgICAgICAgIGNvbG9yOiAjRUMxRDI0OyB9XG4gIC5idXR0b24uY2xlYXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OEJFRkY7XG4gICAgY29sb3I6ICM0OEJFRkY7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA2OWE0O1xuICAgICAgY29sb3I6ICMwMDY5YTQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDhCRUZGO1xuICAgICAgICBjb2xvcjogIzQ4QkVGRjsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI2NDQ2NztcbiAgICAgIGNvbG9yOiAjMjY0NDY3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTMyMjM0O1xuICAgICAgICBjb2xvcjogIzEzMjIzNDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjY0NDY3O1xuICAgICAgICAgIGNvbG9yOiAjMjY0NDY3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnkuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeS5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwNkVCNztcbiAgICAgIGNvbG9yOiAjMDA2RUI3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAzNzVjO1xuICAgICAgICBjb2xvcjogIzAwMzc1YzsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2RUI3O1xuICAgICAgICAgIGNvbG9yOiAjMDA2RUI3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFQjUzMztcbiAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzc1YjFhO1xuICAgICAgICBjb2xvcjogIzM3NWIxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Y4RDMwMDtcbiAgICAgIGNvbG9yOiAjRjhEMzAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjN2M2YTAwO1xuICAgICAgICBjb2xvcjogIzdjNmEwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRjhEMzAwO1xuICAgICAgICAgIGNvbG9yOiAjRjhEMzAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmcuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VDMUQyNDtcbiAgICAgIGNvbG9yOiAjRUMxRDI0OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjN2EwYTBlO1xuICAgICAgICBjb2xvcjogIzdhMGEwZTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUMxRDI0O1xuICAgICAgICAgIGNvbG9yOiAjRUMxRDI0OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZHJvcGRvd25bdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRyb3Bkb3duW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAzZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kcm9wZG93bi5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzQ4QkVGRjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjY0NDY3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDZFQjc7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzZFQjUzMzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRjhEMzAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC5kcm9wZG93bi5ob2xsb3cuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNFQzFEMjQ7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuYXJyb3ctb25seVt0eXBlPVwic3VibWl0XCJdOjphZnRlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuYXJyb3ctb25seVt0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDBweCBzb2xpZCAjMjY0NDY3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwcHggMHB4IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzI2NDQ2NztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDBweCBzb2xpZCAjMjY0NDY3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCAjNzA4MThGO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3MDgxOEY7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzI2NDQ2NzsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzcwODE4RjtcbiAgYmFja2dyb3VuZDogI0Y3RjdGNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwLjMxMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzI2NDQ2NzsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwcHggc29saWQgIzI2NDQ2NztcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzI2NDQ2NztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgzOCwgNjgsIDEwMyUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAwcHggc29saWQgIzI2NDQ2NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggIzcwODE4RjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y3RjY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNFQzFEMjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGU4ZTk7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI0VDMUQyNDsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjRUMxRDI0OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI0VDMUQyNDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gMC4xODc1cmVtIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMTg3NXJlbSAwLjE4NzVyZW07IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMHB4IHNvbGlkICNGN0Y3RjY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMjY0NDY3OyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjRjdGN0Y2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjE4NzVyZW0gMC4xODc1cmVtOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDByZW07XG4gIGJvcmRlcjogMHB4IHNvbGlkICNGN0Y3RjY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMjY0NDY3OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjRjdGN0Y2OyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzI2NDQ2NztcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMyNjQ0Njc7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwNkVCNztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzZFQjUzMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI0Y4RDMwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNFQzFEMjQ7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM4LCA2OCwgMTAzLCAwLjkpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzA7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTMwOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjByZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjByZW0pOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHJlbSk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcmVtKTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCB0cmFuc3BhcmVudDsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyMHJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcmVtKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjByZW0pOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHJlbSk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggdHJhbnNwYXJlbnQ7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjgwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjgwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI4MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHRyYW5zcGFyZW50OyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggdHJhbnNwYXJlbnQ7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG4gIHRoZWFkLCB0Ym9keSwgdGZvb3Qge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2RUI3O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgIGNvbG9yOiAjMjY0NDY3OyB9XG4gIHRoZWFkIHRyLCB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsIHRoZWFkIHRkLCB0Zm9vdCB0aCwgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDAuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCwgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDAuMzc1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICNlNmU2ZTY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY4YWQ7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwcmVtO1xuICBiYWNrZ3JvdW5kOiAjMjY0NDY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50aXRsZS1iYXIsXG4gIC5tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5kZXNrdG9wLW1lbnUsXG4gIC5zaXRlLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNlcnZpY2VuYXYge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgzOCwgNjgsIDEwMywgMC4wNSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNlcnZpY2VuYXYge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnNlcnZpY2VuYXYgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuNSk7IH1cbiAgLnNlcnZpY2VuYXYgYS5hY3RpdmUsXG4gIC5zZXJ2aWNlbmF2IGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gYSxcbiAgLnNlcnZpY2VuYXYgYTpob3ZlciB7XG4gICAgY29sb3I6ICMyNjQ0Njc7IH1cbiAgLnNlcnZpY2VuYXYgLm5hdi1sYW5nLXdyYXBwZXIge1xuICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIC5zZXJ2aWNlbmF2IC5uYXYtbGFuZy13cmFwcGVyID4gKiB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuc2VydmljZW5hdiAubmF2LWxhbmctd3JhcHBlciAubWVudS1zZXJ2aWNlbmF2LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnNlcnZpY2VuYXYgLm5hdi1sYW5nLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnNlcnZpY2VuYXYgLmlubmVyLXNlcnZpY2VuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnNlcnZpY2VuYXYgLmlubmVyLXNlcnZpY2VuYXYgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5zZXJ2aWNlbmF2IC5pbm5lci1zZXJ2aWNlbmF2IHN2ZyB7XG4gICAgICBtYXJnaW46IDAgMC42MjVyZW0gMCAxLjI1cmVtOyB9XG4gIC5zZXJ2aWNlbmF2IC5sYW5nc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgICAuc2VydmljZW5hdiAubGFuZ3N3aXRjaCBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBjb2xvcjogcmdiYSgzOCwgNjgsIDEwMywgMC41KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnNlcnZpY2VuYXYgLmxhbmdzd2l0Y2ggc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgICAuc2VydmljZW5hdiAubGFuZ3N3aXRjaCBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zMzMzM3JlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM0Mzc5O1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgLnNlcnZpY2VuYXYgLmxhbmdzd2l0Y2ggYTpob3ZlciwgLnNlcnZpY2VuYXYgLmxhbmdzd2l0Y2ggYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA5RUUyOyB9XG4gIC5zZXJ2aWNlbmF2IC5tZW51IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5zZXJ2aWNlbmF2IC5tZW51IGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNzBweDsgfVxuICAudGl0bGUtYmFyIC5sb2dvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDExLjgxMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgIC50aXRsZS1iYXIgLmxvZ28ge1xuICAgICAgICB3aWR0aDogOC43NXJlbTsgfSB9XG4gIC50aXRsZS1iYXIgLnRpdGxlLWJhci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZFQjc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7IH1cbiAgICAudGl0bGUtYmFyIC50aXRsZS1iYXItYnV0dG9uOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICMyNjQ0Njc7IH1cbiAgICAgIC50aXRsZS1iYXIgLnRpdGxlLWJhci1idXR0b246aG92ZXIgc3Bhblt0eXBlPVwiYnV0dG9uXCJdIGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwOUVFMjsgfVxuICAgIC50aXRsZS1iYXIgLnRpdGxlLWJhci1idXR0b24gc3BhbiB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50aXRsZS1iYXIgLnRpdGxlLWJhci1idXR0b24gc3Bhblt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMC42ODc1cmVtO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImxhdG9ib2xkXCI7IH1cbiAgICAgIC50aXRsZS1iYXIgLnRpdGxlLWJhci1idXR0b24gc3Bhblt0eXBlPVwiYnV0dG9uXCJdIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5tZW51LWljb24td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICMyNjQ0Njc7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnRvcC1iYXIgbmF2IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA2RUI3O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50b3AtYmFyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnRvcC1iYXIgdWwgKiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC50b3AtYmFyIHVsIGxpIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC50b3AtYmFyIHVsIGxpIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibGF0b2JvbGRcIjtcbiAgICAgICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgICAudG9wLWJhciB1bCBsaSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGhlaWdodDogMC4yNXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtMC4yNXJlbTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM0OEJFRkY7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsgfVxuICAgICAgLnRvcC1iYXIgdWwgbGlbY2xhc3MqPVwiY3VycmVudFwiXSBhLFxuICAgICAgLnRvcC1iYXIgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDU4OTI7IH1cbiAgICAgICAgLnRvcC1iYXIgdWwgbGlbY2xhc3MqPVwiY3VycmVudFwiXSBhOmFmdGVyLFxuICAgICAgICAudG9wLWJhciB1bCBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG5cbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogLTVweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcyAuY2xvc2UtaG9sZGVyIHtcbiAgaGVpZ2h0OiA0LjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDA2RUI3OyB9XG4gIC5vZmYtY2FudmFzIC5jbG9zZS1ob2xkZXIgYnV0dG9uOmhvdmVyIHNwYW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjMDA5RUUyOyB9XG5cbi5vZmYtY2FudmFzIC5zaWRlYmFyLWNhbnZhcy1uYXYge1xuICBiYWNrZ3JvdW5kOiAjMDA2RUI3O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuXG4ub2ZmLWNhbnZhcyAuYnV0dG9uLXdyYXBwZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ub2ZmLWNhbnZhcyB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5vZmYtY2FudmFzIHVsIGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG5cbi5vZmYtY2FudmFzIHVsLm1lbnUudmVydGljYWwge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgLm9mZi1jYW52YXMgdWwubWVudS52ZXJ0aWNhbCBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcImxhdG9ibGFja1wiO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMnJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgIzAwNkVCNzsgfVxuICAub2ZmLWNhbnZhcyB1bC5tZW51LnZlcnRpY2FsIGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gYSxcbiAgLm9mZi1jYW52YXMgdWwubWVudS52ZXJ0aWNhbCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA1ODkyO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkICMwMDlFRTI7IH1cblxuLm9mZi1jYW52YXMgdWwubW9iaWxlLXNlcnZpY2VuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIC5vZmYtY2FudmFzIHVsLm1vYmlsZS1zZXJ2aWNlbmF2IGEge1xuICAgIGZvbnQtZmFtaWx5OiBcImxhdG9ibGFja1wiO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTsgfVxuICAgIC5vZmYtY2FudmFzIHVsLm1vYmlsZS1zZXJ2aWNlbmF2IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDlFRTI7IH1cblxuLm9mZi1jYW52YXMgLmxhbmdzd2l0Y2gtc29jaWFsLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM4LCA2OCwgMTAzLCAwLjA1KTtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG5cbi5vZmYtY2FudmFzIC5mYWNlYm9vay13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm9mZi1jYW52YXMgLmZhY2Vib29rLXdyYXBwZXIgYSB7XG4gICAgY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuNSk7XG4gICAgZm9udC1mYW1pbHk6IFwibGF0b2JvbGRcIjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm9mZi1jYW52YXMgLmZhY2Vib29rLXdyYXBwZXIgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIC5vZmYtY2FudmFzIC5mYWNlYm9vay13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMyNjQ0Njc7IH1cblxuLm9mZi1jYW52YXMgLmxhbmdzd2l0Y2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAub2ZmLWNhbnZhcyAubGFuZ3N3aXRjaCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5vZmYtY2FudmFzIC5sYW5nc3dpdGNoIGEge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAzLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogMCAwLjYyNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJsYXRvYmxhY2tcIjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAub2ZmLWNhbnZhcyAubGFuZ3N3aXRjaCBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyNjQ0Njc7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ub2ZmLWNhbnZhcyAubG9nby13cmFwcGVyIHtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ub2ZmLWNhbnZhcyAuaGVhZGVyLXNlYXJjaGZvcm0gLnNlYXJjaGZvcm0ge1xuICBtYXJnaW46IDNyZW0gMnJlbSAycmVtIDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5vZmYtY2FudmFzIC5oZWFkZXItc2VhcmNoZm9ybSAuc2VhcmNoZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLmlzLW9wZW4sIC5pcy1jbG9zZWQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gKiAgTWFzdGVyIFNsaWRlclxuICogXHRDb3JlIGNzcyBmaWxlXG4gKi9cbi5tYXN0ZXItc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgLm1hc3Rlci1zbGlkZXIgYSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAubWFzdGVyLXNsaWRlciAqIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICAubWFzdGVyLXNsaWRlci5tcy1mdWxsaGVpZ2h0IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLm1zLWxheW91dC1wYXJ0aWFsdmlldyAubXMtdmlldyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubXMtbGF5b3V0LXBhcnRpYWx2aWV3IC5tcy1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tYXN0ZXItc2xpZGVyIGltZywgLm1zLXNsaWRlLWJndmlkZW9jb250IHZpZGVvIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5tYXN0ZXItc2xpZGVyIC5ob3ZlcmxheSBpbWcge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubXMtaWUgaW1nIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5tcy1pZTggKiB7XG4gIG9wYWNpdHk6IGluaGVyaXQ7XG4gIGZpbHRlcjogaW5oZXJpdDsgfVxuXG4ubXMtaWU3IHtcbiAgem9vbTogMTsgfVxuXG4ubXMtbW96IC5tcy1zbGlkZS1iZ2NvbnQgPiBpbWcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuXG4ubXMtbG9hZGluZy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7IH1cblxuLm1zLXNsaWRlLWF1dG8taGVpZ2h0IHtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLm1zLWxvYWRpbmctY29udGFpbmVyIC5tcy1sb2FkaW5nLCAubXMtc2xpZGUgLm1zLXNsaWRlLWxvYWRpbmcge1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hc3RlcnNsaWRlci9sb2FkaW5nLTIuZ2lmKSBuby1yZXBlYXQgY2VudGVyIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA2MHB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luOiAtMThweDtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi8qIGdyYWIgY3Vyc29yICovXG4ubXMtbm8tc3dpcGUsIC5tcy1kZWYtY3Vyc29yIHtcbiAgY3Vyc29yOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm1zLWdyYWItY3Vyc29yIHtcbiAgY3Vyc29yOiB1cmwoLi4vaW1hZ2VzL21hc3RlcnNsaWRlci9ncmFiLnBuZyksIG1vdmU7IH1cblxuLm1zLWdyYWJiaW5nLWN1cnNvciB7XG4gIGN1cnNvcjogdXJsKC4uL2ltYWdlcy9tYXN0ZXJzbGlkZXIvZ3JhYmJpbmcucG5nKSwgbW92ZTsgfVxuXG4ubXMtaWUgLm1zLWdyYWItY3Vyc29yLCAubXMtaWUgLm1zLWdyYWJiaW5nLWN1cnNvciB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4ubXMtdmlldyB7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBlcnNwZWN0aXZlOiAyMDAwcHg7IH1cbiAgLm1zLXZpZXcgLm1zLXNsaWRlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tcy1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTsgfVxuXG4ubXMtd2sgLm1zLXNsaWRlIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4ubXMtc2xpZGUgLm1zLXNsaWRlLWJnY29udCwgLm1zLXNsaWRlIC5tcy1zbGlkZS1iZ3ZpZGVvY29udCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1zLXNsaWRlIC5tcy1zbGlkZS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMTA7IH1cblxuLm1zLWllIC5tcy1zbGlkZS1saW5rIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJS4oCM4oCLQUE3XCIpIDAgMCByZXBlYXQ7IH1cblxuLm1zLXNsaWRlIC5tcy1zbGlkZS1iZ3ZpZGVvY29udCB7XG4gIHotaW5kZXg6IDEwNTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tcy13ayAubXMtc2xpZGUgLm1zLXNsaWRlLWJndmlkZW9jb250LCAubXMtd2sgLm1zLXNsaWRlLWJndmlkZW9jb250ID4gdmlkZW8ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4zcHgpOyB9XG5cbi5tcy1zbGlkZSAubXMtc2xpZGUtYmd2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7IH1cblxuLm1zLWlubmVyLWNvbnRyb2xzLWNvbnQsIC5tcy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5tcy1zbGlkZSAubXMtc2xpZGUtYmdjb250IGltZywgLm1zLWNvbnRhaW5lciwgLm1zLWlubmVyLWNvbnRyb2xzLWNvbnQge1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubXMtc2xpZGUgLm1zLWxheWVyLCAubXMtZml4ZWQtbGF5ZXJzIC5tcy1sYXllciwgLm1zLW92ZXJsYXktbGF5ZXJzIC5tcy1sYXllciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLm1zLWxheWVyLW1hc2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1zLWxheWVyLW1hc2sgLm1zLWxheWVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1zLXNsaWRlIC5tcy1zbGlkZS1sYXllcnMsIC5tcy1vdmVybGF5LWxheWVycyAubXMtc2xpZGUtbGF5ZXJzLCAubXMtZml4ZWQtbGF5ZXJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDk7XG4gIHRvcDogMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubXMtc2xpZGUgLm1zLXNsaWRlLXZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDExMTtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5tcy1wYXJhbGxheC1sYXllciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDsgfVxuXG4ubXMtc2Nyb2xsLXBhcmFsbGF4LWNvbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ubXMtd2sgLm1zLXNjcm9sbC1wYXJhbGxheC1jb250IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuNHB4KTsgfVxuXG4vKi5tcy1zY3JvbGwtcGFyYWxsYXggLm1zLXNsLXNlbGVjdGVkIC5tcy1zY3JvbGwtcGFyYWxsYXgtY29udCxcbiAgLm1zLXNjcm9sbC1wYXJhbGxheCAubXMtc2wtc2VsZWN0ZWQgLm1zLXNsaWRlLWJnY29udHt9XG4gIC5tcy1zY3JvbGwtcGFyYWxsYXggLm1zLXNsaWRlLWJnY29udHt9Ki9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogT3ZlcmxheWVyIGxheWVycyAqL1xuLm1zLW92ZXJsYXktbGF5ZXJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEyMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubXMtYWN0aW9uLWxheWVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5tcy1idG4tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5tcy1idG4ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGJsYWNrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm1zLWRlZmF1bHQtYnRuIHtcbiAgYmFja2dyb3VuZDogIzAwNzRBMjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjb2xvcjogI0ZGRjsgfVxuICAubXMtZGVmYXVsdC1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk4RDU7IH1cbiAgLm1zLWRlZmF1bHQtYnRuOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7IH1cblxuLm1zLWJ0bi1zIHtcbiAgcGFkZGluZzogMTRweCAxN3B4O1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLm1zLWJ0bi1tIHtcbiAgcGFkZGluZzogMTJweCA0MHB4OyB9XG5cbi5tcy1idG4tbiB7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDk1JTsgfVxuXG4ubXMtYnRuLWwge1xuICBwYWRkaW5nOiAxN3B4IDUwcHg7XG4gIGZvbnQtc2l6ZTogMTIwJTsgfVxuXG4ubXMtYnRuLXJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5tcy1idG4tY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7IH1cblxuLm1zLWJ0bi1vdXRsaW5lLXJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5tcy1idG4tb3V0bGluZS1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tcy1sYXllci52aWRlby1ib3gge1xuICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAubXMtbGF5ZXIudmlkZW8tYm94IGlmcmFtZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTE7IH1cblxuLm1zLXNsaWRlIC5tcy1zbGlkZS12cGJ0biwgLm1zLXNsaWRlIC5tcy12aWRlby1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTEyOyB9XG5cbi5tcy1zbGlkZSAubXMtc2xpZGUtdmNidG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTEzOyB9XG5cbi5tcy1zbGlkZS12Y2J0bi1tb2JpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDExMzsgfVxuICAubXMtc2xpZGUtdmNidG4tbW9iaWxlIC5tcy12Y2J0bi10eHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFzdGVyc2xpZGVyL3ZpZGVvLWNsb3NlLWJ0bi5wbmcpIG5vLXJlcGVhdCAwcHggM3B4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgY29sb3I6ICNEQkRCREI7XG4gICAgbWFyZ2luLXRvcDogN3B4OyB9XG5cbi5tcy13ayAubXMtc2xpZGUgLm1zLXNsaWRlLXZjYnRuLCAubXMtd2sgLm1zLXNsaWRlIC5tcy1zbGlkZS1sYXllcnMsIC5tcy13ayAubXMtc2xpZGUgLm1zLXNsaWRlLXZwYnRuLCAubXMtd2sgLm1zLXNsaWRlIC5tcy1zbGlkZS12aWRlbyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwLjQ0cHgpOyB9XG5cbi5tcy13ayAubXMtc2xpZGUtbGluayB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwLjQ0cHgpOyB9XG5cbi5tcy12aWRlby1pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4ubXMtbWFzay1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogY29udHJvbHMgKi9cbi5tcy10aHVtYi1saXN0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5tcy10aHVtYi1saXN0Lm1zLWRpci1oIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubXMtdGh1bWItbGlzdC5tcy1kaXItdiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDsgfVxuXG4ubXMtdGh1bWJzLWNvbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1zLXRodW1iLWZyYW1lIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zOyB9XG4gIC5tcy10aHVtYi1mcmFtZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ubXMtdGh1bWItZnJhbWUtc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tcy10YWJzIC5tcy10aHVtYi1mcmFtZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNmY2ZjY7XG4gIHRleHQtc2hhZG93OiAwIDFweCAxcHggd2hpdGU7XG4gIGNvbG9yOiAjMjIyO1xuICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0OyB9XG5cbi5tcy10YWJzLm1zLWRpci1oIC5tcy10aHVtYi1mcmFtZSB7XG4gIG1hcmdpbi10b3A6IDEycHg7IH1cblxuLm1zLXRhYnMubXMtZGlyLXYgLm1zLXRodW1iLWZyYW1lIHtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cblxuLm1zLXRhYnMubXMtZGlyLXYubXMtYWxpZ24tbGVmdCAubXMtdGh1bWItZnJhbWUge1xuICBtYXJnaW4tbGVmdDogMHB4OyB9XG5cbi5tcy10YWJzLm1zLWRpci1oLm1zLWFsaWduLXRvcCB7XG4gIHotaW5kZXg6IDE0MDsgfVxuICAubXMtdGFicy5tcy1kaXItaC5tcy1hbGlnbi10b3AgLm1zLXRodW1iLWZyYW1lIHtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDsgfVxuXG4ubXMtdGFicyAubXMtdGh1bWIge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLm1zLXRhYnMgLm1zLXRodW1iLWZyYW1lLXNlbGVjdGVkIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogI0VERURFRDsgfVxuXG4ubXMtdGFicyAubXMtdGh1bWItZnJhbWUgLm1zLXRodW1iLW9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7IH1cblxuLm1zLXRhYnMubXMtZGlyLWggLm1zLXRodW1iLWZyYW1lIC5tcy10aHVtYi1vbCB7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMTJweCAjRjZmNmY2O1xuICBib3JkZXItbGVmdDogc29saWQgMTJweCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxMnB4IHRyYW5zcGFyZW50OyB9XG5cbi5tcy10YWJzLm1zLWRpci1oLm1zLWFsaWduLWJvdHRvbSAubXMtdGh1bWItZnJhbWUtc2VsZWN0ZWQgLm1zLXRodW1iLW9sIHtcbiAgb3BhY2l0eTogMTtcbiAgdG9wOiAtMTJweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0VERURFRDsgfVxuXG4ubXMtdGFicy5tcy1kaXItaC5tcy1hbGlnbi10b3AgLm1zLXRodW1iLWZyYW1lIC5tcy10aHVtYi1vbCB7XG4gIGJvdHRvbTogMHB4O1xuICB0b3A6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IDBweDtcbiAgYm9yZGVyLXRvcDogc29saWQgMTJweCAjRjZmNmY2OyB9XG5cbi5tcy10YWJzLm1zLWRpci1oLm1zLWFsaWduLXRvcCAubXMtdGh1bWItZnJhbWUtc2VsZWN0ZWQgLm1zLXRodW1iLW9sIHtcbiAgb3BhY2l0eTogMTtcbiAgYm90dG9tOiAtMTJweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0VERURFRDsgfVxuXG4ubXMtdGFicy5tcy1kaXItdiAubXMtdGh1bWItZnJhbWUgLm1zLXRodW1iLW9sIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDEycHggI0VERURFRDtcbiAgYm9yZGVyLXRvcDogc29saWQgMTJweCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMTJweCB0cmFuc3BhcmVudDsgfVxuXG4ubXMtdGFicy5tcy1kaXItdi5tcy1hbGlnbi1yaWdodCAubXMtdGh1bWItZnJhbWUtc2VsZWN0ZWQgLm1zLXRodW1iLW9sIHtcbiAgb3BhY2l0eTogMTtcbiAgbGVmdDogLTEycHg7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI0VERURFRDsgfVxuXG4ubXMtdGFicy5tcy1kaXItdi5tcy1hbGlnbi1sZWZ0IC5tcy10aHVtYi1mcmFtZSAubXMtdGh1bWItb2wge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogc29saWQgMTJweCAjRURFREVEOyB9XG5cbi5tcy10YWJzLm1zLWRpci12Lm1zLWFsaWduLWxlZnQgLm1zLXRodW1iLWZyYW1lLXNlbGVjdGVkIC5tcy10aHVtYi1vbCB7XG4gIG9wYWNpdHk6IDE7XG4gIHJpZ2h0OiAtMTJweDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNFREVERUQ7IH1cblxuLyogaG9yaXpvbnRhbCB0aHVtYmxpc3QgYXJyb3dzKi9cbi5tcy10aHVtYi1saXN0Lm1zLWRpci1oIC5tcy10aHVtYmxpc3QtZndkIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTI4LCAxMjgsIDEyOCwgMC41KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLm1zLXRodW1iLWxpc3QubXMtZGlyLWggLm1zLXRodW1ibGlzdC1id2Qge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLm1zLXRodW1iLWxpc3QubXMtZGlyLWggLm1zLXRodW1ibGlzdC1md2Q6YWZ0ZXIge1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbiAgdG9wOiA0MyU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNGRkY7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogMXB4OyB9XG5cbi5tcy10aHVtYi1saXN0Lm1zLWRpci1oIC5tcy10aHVtYmxpc3QtYndkOmFmdGVyIHtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gIHRvcDogNDMlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjRkZGO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggMHB4IDVweCA1cHg7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGO1xuICBsZWZ0OiA3cHg7IH1cblxuLm1zLXRodW1iLWxpc3QubXMtZGlyLXYgLm1zLXRodW1ibGlzdC1md2Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuNSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5tcy10aHVtYi1saXN0Lm1zLWRpci12IC5tcy10aHVtYmxpc3QtYndkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm90dG9tOiAwO1xuICB0b3A6IGF1dG87IH1cblxuLm1zLXRodW1iLWxpc3QubXMtZGlyLXYgLm1zLXRodW1ibGlzdC1md2Q6YWZ0ZXIge1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbiAgbGVmdDogNDMlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMHB4IDVweCA1cHggNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjtcbiAgaGVpZ2h0OiAxcHg7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogMDsgfVxuXG4ubXMtdGh1bWItbGlzdC5tcy1kaXItdiAubXMtdGh1bWJsaXN0LWJ3ZDphZnRlciB7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICBsZWZ0OiA0MyU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwcHggNXB4IDVweCA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuICBoZWlnaHQ6IDFweDtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMHB4IDVweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRjtcbiAgdG9wOiA3cHg7IH1cblxuLyogdmVydGljYWwgdGh1bWJsaXN0IGFycm93cyAqL1xuLm1zLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLm1zLWJ1bGxldHMubXMtZGlyLWgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDtcbiAgcmlnaHQ6IDUwJTtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5tcy1idWxsZXRzLm1zLWRpci12IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTsgfVxuICAubXMtYnVsbGV0cy5tcy1kaXItdiAubXMtYnVsbGV0IHtcbiAgICBmbG9hdDogbm9uZTsgfVxuXG4ubXMtYnVsbGV0cy5tcy1kaXItaCAubXMtYnVsbGV0cy1jb3VudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IC01MCU7IH1cblxuLm1zLXNiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm1zLXNiYXIubXMtZGlyLWgge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiA1cHg7IH1cbiAgLm1zLXNiYXIubXMtZGlyLXYge1xuICAgIHRvcDogMTBweDtcbiAgICBib3R0b206IDEwcHg7XG4gICAgcmlnaHQ6IDVweDsgfVxuICAubXMtc2JhciAubXMtYmFyIHtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAubXMtc2Jhci5tcy1kaXItdiAubXMtYmFyIHtcbiAgICB3aWR0aDogNHB4OyB9XG4gIC5tcy1zYmFyIC5tcy1iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zOyB9XG5cbi5tcy10aW1lcmJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5tcy1jdGltZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgbGVmdDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5tcy10aW1lLWJhciB7XG4gIHRyYW5zaXRpb246IHdpZHRoIDEyMG1zIGxpbmVhcjsgfVxuXG4ubXMtaWU3IC5tcy10b29sdGlwLWFycm93IHtcbiAgaGVpZ2h0OiAwcHg7IH1cblxuLm1zLXNsaWRlLWluZm8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm1zLXNsaWRlLWluZm8ubXMtZGlyLXYge1xuICAgIHRvcDogMDsgfVxuICAubXMtc2xpZGUtaW5mby5tcy1kaXItaCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuQGtleWZyYW1lcyBwb2ludC1hbmltIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHBvaW50LWFuaW0ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyogSW4gQW5kcm9pZCBicm93c2VyLCB1c2luZyBjc3MgYW5pbWF0aW9ucyBvdmVyIHNsaWRlciBjYXVzZXMgc29tZSBjcmFzaGVzICovXG4ubXMtYW5kcm9pZCAubXMtdG9vbHRpcC1wb2ludCAubXMtcG9pbnQtYm9yZGVyIHtcbiAgYW5pbWF0aW9uOiBub25lO1xuICAtbW96LWFuaW1hdGlvbjogbm9uZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7XG4gIC1vLWFuaW1hdGlvbjogbm9uZTsgfVxuXG4vKipcbiAqICBNYXN0ZXIgU2xpZGVyXG4gKiAgRGVmYXVsdCBTa2luXG4gKi9cbi5tcy1za2luLWRlZmF1bHQgLm1zLXNsaWRlIC5tcy1zbGlkZS12cGJ0biwgLm1zLXNraW4tZGVmYXVsdCAubXMtdmlkZW8tYnRuIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTFweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXN0ZXJzbGlkZXIvbGlnaHQtc2tpbi0xLnBuZykgbm8tcmVwZWF0IC0xNHB4IC0xNTBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMjVweCAwIDAgLTI1cHg7IH1cblxuLm1zLXNraW4tZGVmYXVsdCAubXMtc2xpZGUgLm1zLXNsaWRlLXZjYnRuIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYXN0ZXJzbGlkZXIvbGlnaHQtc2tpbi0xLnBuZykgbm8tcmVwZWF0IC0yNHB4IC0yOHB4O1xuICB0b3A6IDE4cHg7XG4gIHJpZ2h0OiAzMHB4OyB9XG5cbi5tcy1za2luLWRlZmF1bHQgLm1zLWJ1bGxldCB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFzdGVyc2xpZGVyL2xpZ2h0LXNraW4tMS5wbmcpIG5vLXJlcGVhdDtcbiAgbWFyZ2luOiA0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNHB4IC0xMTdweDsgfVxuXG4ubXMtc2tpbi1kZWZhdWx0IC5tcy1idWxsZXQtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzRweCAtODRweDsgfVxuXG4ubXMtc2tpbi1kZWZhdWx0IC5tcy10aW1lLWJhciB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjQxKTsgfVxuXG4ubXMtc2tpbi1kZWZhdWx0IC5tcy10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyMTA7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubXMtc2tpbi1kZWZhdWx0IC5tcy10b29sdGlwLXRvcCAubXMtdG9vbHRpcC1hcnJvdywgLm1zLXNraW4tZGVmYXVsdCAubXMtdG9vbHRpcC1ib3R0b20gLm1zLXRvb2x0aXAtYXJyb3cge1xuICBib3JkZXItbGVmdDogc29saWQgMTBweCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxMHB4IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG5cbi5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtdG9wIC5tcy10b29sdGlwLWFycm93IHtcbiAgYm9yZGVyLXRvcDogc29saWQgMTBweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogc2lsdmVyO1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuODgpO1xuICBib3R0b206IC0xMHB4OyB9XG5cbi5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtYm90dG9tIC5tcy10b29sdGlwLWFycm93IHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMTBweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogc2lsdmVyO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuODgpO1xuICB0b3A6IC0xMHB4OyB9XG5cbi5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtcmlnaHQgLm1zLXRvb2x0aXAtYXJyb3csIC5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtbGVmdCAubXMtdG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDEwcHggdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDEwcHggdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbi5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtcmlnaHQgLm1zLXRvb2x0aXAtYXJyb3cge1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDEwcHg7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogc2lsdmVyO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC44OCk7XG4gIGxlZnQ6IC0xMHB4OyB9XG5cbi5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtbGVmdCAubXMtdG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxMHB4O1xuICBib3JkZXItbGVmdC1jb2xvcjogc2lsdmVyO1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjg4KTtcbiAgcmlnaHQ6IC0xMHB4OyB9XG5cbi5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtcG9pbnQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1zLXNraW4tZGVmYXVsdCAubXMtdG9vbHRpcC1wb2ludCAubXMtcG9pbnQtY2VudGVyIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjQkJCO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIG1hcmdpbjogLThweCAwIDAgLThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA1OyB9XG4gIC5tcy1za2luLWRlZmF1bHQgLm1zLXRvb2x0aXAtcG9pbnQgLm1zLXBvaW50LWJvcmRlciB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zNik7XG4gICAgbWFyZ2luOiAtMTFweCAwIDAgLTExcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgYW5pbWF0aW9uOiBwb2ludC1hbmltIDEuNXMgaW5maW5pdGU7IH1cblxuLm1zLXNraW4tZGVmYXVsdCAubXMtdG9vbHRpcCB7XG4gIG1heC13aWR0aDogMjAwcHg7IH1cblxuLm1zLXNraW4tZGVmYXVsdCAubXMtdG9vbHRpcC1jb250IHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogc2lsdmVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuODgpO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMHB4IHdoaXRlO1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4vKiBjb250cm9scyAqL1xuLyogcmV0aW5hICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMiAvIDEpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAubXMtc2tpbi1kZWZhdWx0IC5tcy1zbGlkZSAubXMtc2xpZGUtdnBidG4sIC5tcy1za2luLWRlZmF1bHQgLm1zLXZpZGVvLWJ0biwgLm1zLXNraW4tZGVmYXVsdCAubXMtc2xpZGUgLm1zLXNsaWRlLXZjYnRuLCAubXMtc2tpbi1kZWZhdWx0IC5tcy1uYXYtbmV4dCwgLm1zLXNraW4tZGVmYXVsdCAubXMtbmF2LXByZXYsIC5tcy1za2luLWRlZmF1bHQgLm1zLWJ1bGxldCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXN0ZXJzbGlkZXIvbGlnaHQtc2tpbi0xLXJldGluYS5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTUycHggMjI1cHg7IH0gfVxuXG4udWktZGF0ZXBpY2tlciB7XG4gIHdpZHRoOiAxN2VtO1xuICBwYWRkaW5nOiAuMmVtIC4yZW0gMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IC4yZW0gMDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAxLjhlbTtcbiAgICBoZWlnaHQ6IDEuOGVtOyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgIGxlZnQ6IDJweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICByaWdodDogMnB4OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzAwNkVCNzsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2OmJlZm9yZSwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgIGJhY2tncm91bmQ6ICM0OEJFRkY7XG4gICAgd2lkdGg6IDEuMzc1cmVtO1xuICAgIGhlaWdodDogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgIHBhZGRpbmc6IDAgMCAxcHggMXB4OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIjxcIjsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICAgIG1hcmdpbjogMCAyLjNlbTtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbWFyZ2luOiAxcHggMDsgfVxuICAudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XG4gICAgd2lkdGg6IDQ1JTsgfVxuICAudWktZGF0ZXBpY2tlciB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luOiAwIDAgLjRlbTsgfVxuICAudWktZGF0ZXBpY2tlciB0aCB7XG4gICAgcGFkZGluZzogLjdlbSAuM2VtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnVpLWRhdGVwaWNrZXIgdGQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxcHg7IH1cbiAgICAudWktZGF0ZXBpY2tlciB0ZCBzcGFuLCAudWktZGF0ZXBpY2tlciB0ZCBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogLjJlbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgbWFyZ2luOiAuN2VtIDAgMCAwO1xuICAgIHBhZGRpbmc6IDAgLjJlbTtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogLjVlbSAuMmVtIC40ZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cblxuI2Zsb2F0aW5nQ2lyY2xlc0cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMjVweDtcbiAgaGVpZ2h0OiAxMjVweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjYpOyB9XG5cbi5mX2NpcmNsZUcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBoZWlnaHQ6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAtby1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICAtbXMtYm9yZGVyLXJhZGl1czogMTJweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmX2ZhZGVHO1xuICAtby1hbmltYXRpb24tbmFtZTogZl9mYWRlRztcbiAgLW1zLWFuaW1hdGlvbi1uYW1lOiBmX2ZhZGVHO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmX2ZhZGVHO1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmX2ZhZGVHO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbiAgLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgLW8tYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIC1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAtby1hbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gIC1tcy1hbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAtbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbDsgfVxuXG4jZnJvdGF0ZUdfMDEge1xuICBsZWZ0OiAwO1xuICB0b3A6IDUxcHg7XG4gIGFuaW1hdGlvbi1kZWxheTogMC40NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC40NXM7XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6IDAuNDVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC40NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjQ1czsgfVxuXG4jZnJvdGF0ZUdfMDIge1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG4gIGFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjZzO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAwLjZzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNnM7IH1cblxuI2Zyb3RhdGVHXzAzIHtcbiAgbGVmdDogNTFweDtcbiAgdG9wOiAwO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC43NXM7IH1cblxuI2Zyb3RhdGVHXzA0IHtcbiAgcmlnaHQ6IDE1cHg7XG4gIHRvcDogMTVweDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjlzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuOXM7XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6IDAuOXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjlzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC45czsgfVxuXG4jZnJvdGF0ZUdfMDUge1xuICByaWdodDogMDtcbiAgdG9wOiA1MXB4O1xuICBhbmltYXRpb24tZGVsYXk6IDEuMDVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMDVzO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAxLjA1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuMDVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4wNXM7IH1cblxuI2Zyb3RhdGVHXzA2IHtcbiAgcmlnaHQ6IDE1cHg7XG4gIGJvdHRvbTogMTVweDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjJzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMnM7XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6IDEuMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjJzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4yczsgfVxuXG4jZnJvdGF0ZUdfMDcge1xuICBsZWZ0OiA1MXB4O1xuICBib3R0b206IDA7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4zNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4zNXM7XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6IDEuMzVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4zNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjM1czsgfVxuXG4jZnJvdGF0ZUdfMDgge1xuICBsZWZ0OiAxNXB4O1xuICBib3R0b206IDE1cHg7XG4gIGFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNXM7IH1cblxuQGtleWZyYW1lcyBmX2ZhZGVHIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9IH1cblxuQC1vLWtleWZyYW1lcyBmX2ZhZGVHIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9IH1cblxuQC1tcy1rZXlmcmFtZXMgZl9mYWRlRyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmX2ZhZGVHIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGZfZmFkZUcge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH0gfVxuXG4ubWFpbi1ncmlkIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubWFpbi1ncmlkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAubWFpbi1ncmlkID4gKiB7XG4gICAgZmxleDogMSAxIDAlOyB9XG5cbi5zZXJ2aWNlbmF2IC5uYXYtbGFuZy13cmFwcGVyLCAuaW5uZXItd3JhcHBlciwgI21hc3RlcnNsaWRlci1jb250cm9scywgLnNpdGUtaGVhZGVyLCAuYmxvZyAubmV3cy13cmFwcGVyLCAucGFnZS1udW1iZXJzLCAucGFnaW5hdGlvbiwgLmV4dHJhYm94ZW4td3JhcHBlciwgLmZyb250LWJveGVuLXdyYXBwZXIgLmZyb250LWJveGVuLWlubmVyd3JhcHBlciB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiA4My41NjI1cmVtOyB9XG5cbi5lcnJvcjQwNCAubWFpbi1ncmlkLCAuZW50cnktY29udGVudCBmb290ZXIsXG4uZW50cnktY29udGVudCBoZWFkZXIsIC5mbGV4aWJsZS1jb250ZW50LCAuc2luZ2xlLWFrdGl2aXRhZXRlbiAubWFpbi1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA0NC41cmVtOyB9XG5cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciwgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIsIC5mbGV4aWJsZS0yc3BhbHRlci13cmFwcGVyLCAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIsIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciwgLmZsZXhpYmxlLWFjY29yZGlvbi13cmFwcGVyLCAuZmxleGlibGUtdGFibGUtd3JhcHBlciwgLnNpbmdsZS1ha3Rpdml0YWV0ZW4gLnNpbmdsZS1kZXNjcmlwdGlvbixcbi5zaW5nbGUtYWt0aXZpdGFldGVuIC5zaW5nbGUtZGV0YWlscyxcbi5zaW5nbGUtYWt0aXZpdGFldGVuIC5nZm9ybV93cmFwcGVyLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMzcuNXJlbTsgfVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qW3N0eWxlKj1cInRleHQtZGVjb3JhdGlvblwiXSxcbnUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICBsaW5lLWhlaWdodDogMi4zNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoMSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xOyB9IH1cblxuaDIgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGgyIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDIuMzEyNXJlbTsgfSB9XG5cbmgzLCBoMyBzdHJvbmcge1xuICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7IH1cblxuaDQge1xuICBsaW5lLWhlaWdodDogMi4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgaDUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfSB9XG5cbmg2IHtcbiAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH0gfVxuXG5wLCBiLCBzdHJvbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBwLCBiLCBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9IH1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IFwibGF0b2JvbGRcIjsgfVxuXG4uaW50cm8ge1xuICBtYXJnaW46IDA7IH1cbiAgLmludHJvIHAsIC5pbnRybyBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogcmdiYSgzOCwgNjgsIDEwMywgMC42KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW50cm8gcCwgLmludHJvIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5pbnRybyBwLCAuaW50cm8gc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG5cbi5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5idXR0b24td3JhcHBlci5jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5idXR0b24sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMjVyZW07IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDNDM3OTsgfVxuICAuYnV0dG9uLndoaXRlaG92ZXI6aG92ZXIsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LndoaXRlaG92ZXJbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQud2hpdGVob3Zlclt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjNDhCRUZGOyB9XG4gIC5idXR0b24udGlueSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQudGlueVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dC50aW55W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGhlaWdodDogMS4zNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtOyB9XG4gIC5idXR0b24uc21hbGwsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LnNtYWxsW3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0LnNtYWxsW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5sYXJnZVt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZXhwYW5kZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXQuZXhwYW5kZWRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuYnV0dG9uLnBpbmssIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0LnBpbmtbdHlwZT1cInN1Ym1pdFwiXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDNDM3OTsgfVxuICAgIC5idXR0b24ucGluazpob3ZlciwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQucGlua1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OEJFRkY7IH1cblxuLmJhY2t0b292ZXJ2aWV3IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmJhY2t0b292ZXJ2aWV3IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYmFja3Rvb3ZlcnZpZXcge1xuICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgcGFkZGluZzogMCAxLjVlbTsgfSB9XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwibGF0b2JvbGRcIjtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmVycm9yNDA0IC5tYWluLWdyaWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZXJyb3I0MDQgLm1haW4tY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiBhdXRvOyB9XG5cbi5rb3BmYmlsZC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICBoZWlnaHQ6IDcuNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAxMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDE3LjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAyMHJlbTsgfSB9XG4gIC5rb3BmYmlsZC13cmFwcGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTF2dztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaGVhZGVyc2hhcGVfbGFyZ2Uuc3ZnXCIpIGJvdHRvbSAycHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7IH1cblxuI21hc3RlcnNsaWRlci1jb250cm9scyB7XG4gIHBhZGRpbmc6IDAgMC4zMTI1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICNtYXN0ZXJzbGlkZXItY29udHJvbHMgLm1zLXNsaWRlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNtYXN0ZXJzbGlkZXItY29udHJvbHMgLm1zLW5hdi1uZXh0LCAjbWFzdGVyc2xpZGVyLWNvbnRyb2xzIC5tcy1uYXYtcHJldiB7XG4gICAgYmFja2dyb3VuZDogIzQ4QkVGRiBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxOCcgaGVpZ2h0PScxNCcgdmlld0JveD0nMCAwIDE4IDE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMi4yNTMgOC43NDlDMS4yODQgOC43NDkuNSA3Ljk4LjUgNy4wMjNjMC0uOTUzLjc4Ni0xLjcyNiAxLjc1My0xLjcyNmg5LjYwN0w5Ljg2MyAzLjI0M2MtLjY2Ni0uNzIxLS42NS0xLjY0LjAxOS0yLjI4LjY0NS0uNjIzIDEuNzMzLS42MTEgMi4zNjYtLjAwMS4xOS4xODIgMS4wNDUgMS4wNTcgMi4zNzIgMi40MjQuNTM2LjU1MiAxLjA5NSAxLjEyOCAxLjY1MyAxLjcwNWwuNTQuNTU3LjE5My4yYy4zMi4zMDkuNDk1LjcyMi40OTUgMS4xNTIgMCAuNDI4LS4xNzUuODQyLS40ODMgMS4xNGwtLjIwNS4yMTEtLjU0LjU1Ny0xLjY0IDEuNjkxYTI1My44MzYgMjUzLjgzNiAwIDAgMS0yLjM4NCAyLjQzOGMtLjYzNC42MTEtMS43MjIuNjI0LTIuMzY1LjAwMS0uNjY5LS42NDItLjY4Ni0xLjU2MS0uMDExLTIuMjk0bDEuOTQyLTEuOTk1aC05LjU2JyBmaWxsPSclMjNGRkZGRkYnIGZpbGwtcnVsZT0nbm9uemVybycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTEwO1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogMCAwLjMxMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzOyB9XG4gICAgI21hc3RlcnNsaWRlci1jb250cm9scyAubXMtbmF2LW5leHQ6aG92ZXIsICNtYXN0ZXJzbGlkZXItY29udHJvbHMgLm1zLW5hdi1wcmV2OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQzQzNzk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI21hc3RlcnNsaWRlci1jb250cm9scyAubXMtbmF2LW5leHQsICNtYXN0ZXJzbGlkZXItY29udHJvbHMgLm1zLW5hdi1wcmV2IHtcbiAgICAgICAgd2lkdGg6IDMuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjVyZW07IH0gfVxuICAjbWFzdGVyc2xpZGVyLWNvbnRyb2xzIC5tcy1uYXYtbmV4dCB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI21hc3RlcnNsaWRlci1jb250cm9scyAubXMtbmF2LXByZXYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgb3JkZXI6IDE7IH1cblxuLmJpZy10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmJpZy10aXRsZSBoMSB7XG4gICAgZm9udC1mYW1pbHk6ICdwZXJtYW5lbnRfbWFya2VycmVndWxhcic7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgIHRleHQtc2hhZG93OiAwLjYyNXJlbSAwLjMxMjVyZW0gMS4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuYmlnLXRpdGxlIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgIC5iaWctdGl0bGUgaDEge1xuICAgICAgICBmb250LXNpemU6IDYuMjVyZW07IH0gfVxuICAuYmlnLXRpdGxlIGRpdiB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAncmFsZXdheWJsYWNrJztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgIHRleHQtc2hhZG93OiAwLjYyNXJlbSAwLjMxMjVyZW0gMS4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuYmlnLXRpdGxlIGRpdiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG5Aa2V5ZnJhbWVzIG1vdmVJbWFnZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlKDE1cHgsIDVweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpIHRyYW5zbGF0ZSg1cHgsIDE1cHgpOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZSgxMHB4LCAxMHB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAwKTsgfSB9XG5cbi8qKioqKioqKioqKiBIRUFERVIgKioqKioqKioqKioqKiovXG4uc2l0ZS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDguNDM3NXJlbTtcbiAgcGFkZGluZzogMCAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuc2l0ZS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5zaXRlLWhlYWRlciA+ICoge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5zaXRlLWhlYWRlciAuYnV0dG9ubG9nby13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5zaXRlLWhlYWRlciAuYnV0dG9ubG9nby13cmFwcGVyIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuNzVyZW07IH1cbiAgICAuc2l0ZS1oZWFkZXIgLmJ1dHRvbmxvZ28td3JhcHBlciAub3N0YmVsZ2llbmxvZ28ge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtOyB9XG5cbi8qKioqKioqKioqKioqKioqIEhFQURFUiBTRUFSQ0hCQVIgKioqKioqKioqKioqL1xuLmhlYWRlci1zZWFyY2hmb3JtIC5zZWFyY2hmb3JtIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuaGVhZGVyLXNlYXJjaGZvcm0gLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IC0ycmVtOyB9XG4gIC5oZWFkZXItc2VhcmNoZm9ybSAuc2VhcmNoZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICB3aWR0aDogMzAlOyB9XG4gIC5oZWFkZXItc2VhcmNoZm9ybSAuc2VhcmNoZm9ybSBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKiogQ09OVEVOVCAqKioqKioqKioqKioqKioqKi9cbi5yZXNldC1tYXJnaW5zIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJlc2V0LW1hcmdpbnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVzZXQtbWFyZ2lucyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbi5lbnRyeS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9ibGFja1wiO1xuICBtYXJnaW46IDEuMjVyZW0gMCAxLjI1cmVtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5lbnRyeS10aXRsZSB7XG4gICAgICBtYXJnaW46IDMuNzVyZW0gMCAzLjEyNXJlbSAwOyB9IH1cblxuLnNpbmdsZS1wb3N0IC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2luZ2xlLXBvc3QgLmVudHJ5LXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuXG4uZW50cnktY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5lbnRyeS1jb250ZW50LmlzLWlzb3RvcGUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmVudHJ5LWNvbnRlbnQgZm9vdGVyLFxuICAuZW50cnktY29udGVudCBoZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IGZvb3RlcixcbiAgICAgIC5lbnRyeS1jb250ZW50IGhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDQuMDYyNXJlbSAwIDIuNXJlbSAwOyB9IH1cbiAgLmVudHJ5LWNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDFyZW0gMDsgfVxuICAgIC5lbnRyeS1jb250ZW50IHVsIGxpOm5vdCguYWNjb3JkaW9uLWl0ZW0pOm5vdCguZ2ZpZWxkKTpub3QoW2NsYXNzKj1cImdjaG9pY2VcIl0pIHtcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwIDAuMTg3NXJlbSAycmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZW50cnktY29udGVudCB1bCBsaTpub3QoLmFjY29yZGlvbi1pdGVtKTpub3QoLmdmaWVsZCk6bm90KFtjbGFzcyo9XCJnY2hvaWNlXCJdKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2RUI3O1xuICAgICAgICB3aWR0aDogMC4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogN3B4O1xuICAgICAgICB0b3A6IDE0cHg7IH1cblxuLm5ld3Mtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIC5uZXdzLXdyYXBwZXIgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5uZXdzLXdyYXBwZXIgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNzVyZW07IH0gfVxuICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSA+ICoge1xuICAgICAgZmxleDogMCAxIGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtID4gKiB7XG4gICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzgsIDY4LCAxMDMsIDAuMTUpO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAubmV3cy13cmFwcGVyIC5uZXdzLWltZy13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWltZy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTsgfSB9XG4gIC5uZXdzLXdyYXBwZXIgLm5ld3MtY29udGVudC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAubmV3cy13cmFwcGVyIC5uZXdzLWNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgLm5ld3Mtd3JhcHBlciAubmV3cy1jb250ZW50LXdyYXBwZXIgaDUgYSB7XG4gICAgICBjb2xvcjogIzAwNkVCNzsgfVxuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1jb250ZW50LXdyYXBwZXIgaDUgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjREM0Mzc5OyB9XG4gICAgLm5ld3Mtd3JhcHBlciAubmV3cy1jb250ZW50LXdyYXBwZXIgcCB7XG4gICAgICBjb2xvcjogcmdiYSgzOCwgNjgsIDEwMywgMC42KTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWNvbnRlbnQtd3JhcHBlciBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAubmV3cy13cmFwcGVyIC5uZXdzLWFyY2hpdmUtbGluay13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1hcmNoaXZlLWxpbmstd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtYXJjaGl2ZS1saW5rLXdyYXBwZXIgLm5ld3MtYXJjaGl2ZS1saW5rIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgLm5ld3Mtd3JhcHBlciAuYnV0dG9uLCAubmV3cy13cmFwcGVyIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5uZXdzLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm5ld3Mtd3JhcHBlciAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciAubmV3cy13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cblxuLm5ld3MtbWV0YSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgbWFyZ2luOiAycmVtIDAgMC41cmVtIDA7XG4gIG9wYWNpdHk6IDAuNzU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC5uZXdzLW1ldGEge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLyoqKioqKioqKioqKioqKiogQkxPRyBIT01FIE9OTFkgLyBBUkNISVZFICoqKioqKioqKioqKioqKioqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmxvZyAubmV3cy13cmFwcGVyID4gKiB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbi5wYWdlLW51bWJlcnMsIC5wYWdpbmF0aW9uIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAucGFnZS1udW1iZXJzLCAucGFnaW5hdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnBhZ2UtbnVtYmVycyBsaSA+ICosIC5wYWdpbmF0aW9uIGxpID4gKiB7XG4gICAgd2lkdGg6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuNik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzOCwgNjgsIDEwMywgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWFyZ2luOiAwLjYyNXJlbTsgfVxuICAucGFnZS1udW1iZXJzIGE6aG92ZXIsIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gIC5wYWdlLW51bWJlcnMgLmN1cnJlbnQsIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM0Mzc5O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi8qKioqKioqKioqKioqKioqIEZMRVhJQkxFIENPTlRFTlQgKioqKioqKioqKioqKioqKiovXG4uZmxleGlibGUtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZmxleGlibGUtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG4gIC5mbGV4aWJsZS1jb250ZW50LmhhbGYge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZsZXhpYmxlLWNvbnRlbnQuaGFsZiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9IH1cbiAgLmZsZXhpYmxlLWNvbnRlbnQudGhpcmQge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZmxleGlibGUtY29udGVudC50aGlyZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH0gfVxuICAuZmxleGlibGUtY29udGVudCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyICsgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGEge1xuICBmb250LWZhbWlseTogXCJsYXRvYm9sZFwiO1xuICBjb2xvcjogIzQ4QkVGRjsgfVxuICAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgY29sb3I6ICNEQzQzNzk7IH1cblxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxleGlibGUtbGlua3Mtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciBhIHtcbiAgICBtYXJnaW46IDAuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIGEge1xuICAgICAgICBtYXJnaW46IDAgMC4zMTI1cmVtOyB9IH1cblxuLmZsZXhpYmxlLTJzcGFsdGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZmxleGlibGUtMnNwYWx0ZXItd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAuZmxleGlibGUtMnNwYWx0ZXItd3JhcHBlciAuZmxleGlibGUtMnNwYWx0ZXItc3BhbHRlMSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAgICAgLmZsZXhpYmxlLTJzcGFsdGVyLXdyYXBwZXIgLmZsZXhpYmxlLTJzcGFsdGVyLXNwYWx0ZTIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfSB9XG5cbi5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzAwNkVCNztcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlci5ncmVlbi1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzcsIDAsIDAuMSk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMGIxMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMGIxMDA7XG4gICAgY29sb3I6ICMyNjQ0Njc7IH1cbiAgICAuZmxleGlibGUtdHJhZmZpY2xpZ2h0LXdyYXBwZXIuZ3JlZW4tbGlnaHQgaDMsIC5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlci5ncmVlbi1saWdodCBoMyBzdHJvbmcsIGgzIC5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlci5ncmVlbi1saWdodCBzdHJvbmcge1xuICAgICAgY29sb3I6ICMwMGIxMDA7IH1cbiAgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyLm9yYW5nZS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE3NCwgMCwgMC4wMik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICMyNjQ0Njc7IH1cbiAgICAuZmxleGlibGUtdHJhZmZpY2xpZ2h0LXdyYXBwZXIub3JhbmdlLWxpZ2h0IGgzLCAuZmxleGlibGUtdHJhZmZpY2xpZ2h0LXdyYXBwZXIub3JhbmdlLWxpZ2h0IGgzIHN0cm9uZywgaDMgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyLm9yYW5nZS1saWdodCBzdHJvbmcge1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyLnJlZC1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTAsIDM3LCAwLCAwLjEpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmEyNTAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmEyNTAwO1xuICAgIGNvbG9yOiAjMjY0NDY3OyB9XG4gICAgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyLnJlZC1saWdodCBoMywgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyLnJlZC1saWdodCBoMyBzdHJvbmcsIGgzIC5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlci5yZWQtbGlnaHQgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjZmEyNTAwOyB9XG4gIC5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlciBoMywgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyIGgzIHN0cm9uZywgaDMgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyIHN0cm9uZyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMzMzMzcmVtOyB9XG4gIC5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlciBpbWcge1xuICAgIGJveC1zaGFkb3c6IDBweCAwIDIwcHggOHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgfVxuICAuZmxleGlibGUtdHJhZmZpY2xpZ2h0LXdyYXBwZXIgLnRyYWZmaWNsaWdodC13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZsZXhpYmxlLXRyYWZmaWNsaWdodC13cmFwcGVyIC50cmFmZmljbGlnaHQtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiA2LjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhcnRpY2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzOCwgNjgsIDEwMywgMC4xNSk7IH1cbiAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhcnRpY2xlOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzgsIDY4LCAxMDMsIDAuMTUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIGFydGljbGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLnRodW1iIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC50aHVtYiBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAudGh1bWIge1xuICAgICAgbWFyZ2luOiAwIDJyZW0gMCAwOyB9IH1cblxuLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAuaW5uZXItY2FyZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmRlc2Mge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmRlc2MgcCB7XG4gICAgY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuNik7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmJ1dHRvbi13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIuY291bnQtMSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTsgfVxuICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGEge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki8gfVxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYS5ncm93IHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGEge1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGE6YWZ0ZXIsIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGE6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjIwLCA2NywgMTIxLCAwLjgpOyB9XG4gICAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhOmhvdmVyOmFmdGVyLCAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5hcC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cblxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5hcC10aHVtYiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmFwLXRodW1iIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfSB9XG4gIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuYXAtdGh1bWIgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5hcC1mdW5rdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICBjb2xvcjogcmdiYSgzOCwgNjgsIDEwMywgMC41KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuYXAtdGVsZWZvbixcbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuYXAtZmF4IHtcbiAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5hcC10ZWxlZm9uLFxuICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuYXAtZmF4IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuYnV0dG9uLCAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmJ1dHRvbiwgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgaGVpZ2h0OiAxLjM3NXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzgsIDY4LCAxMDMsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIHN2ZyB7XG4gICAgY29sb3I6ICM0OEJFRkY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgdG9wOiAxcmVtOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBwYWRkaW5nOiAxLjIwcmVtIDFyZW0gMXJlbSAzLjc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMy43NXJlbTsgfSB9XG4gICAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGE6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM4LCA2OCwgMTAzLCAwLjE1KTsgfVxuICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyNjQ0Njc7IH1cbiAgICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyLCAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgYTpob3ZlciBoNiB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZGVzYyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzgsIDY4LCAxMDMsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciAuZGVzYyBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM4LCA2OCwgMTAzLCAwLjE1KTsgfVxuICAuYWNjb3JkaW9uLWl0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzOCwgNjgsIDEwMywgMC4xNSk7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuNik7IH1cbiAgLmFjY29yZGlvbi1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDhCRUZGO1xuICAgIHdpZHRoOiAxLjM3NXJlbTtcbiAgICBoZWlnaHQ6IDEuMzc1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjY4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgcGFkZGluZzogMCAwIDFweCAxcHg7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjQ0Njc7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciBoNiB7XG4gICAgY29sb3I6ICM0OEJFRkY7IH1cblxuLmZsZXhpYmxlLXRhYmxlLXdyYXBwZXIgKiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmZsZXhpYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDI4LjEyNXJlbTsgfVxuXG4uZmxleGlibGUtdGFibGUtd3JhcHBlciB0aGVhZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsZXhpYmxlLXRhYmxlLXdyYXBwZXIgdGhlYWQgdGg6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtIDAgMCAwOyB9XG4gIC5mbGV4aWJsZS10YWJsZS13cmFwcGVyIHRoZWFkIHRoOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwLjE4NzVyZW0gMCAwOyB9XG5cbi5mbGV4aWJsZS10YWJsZS13cmFwcGVyIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuMDUpOyB9XG5cbi5mbGV4aWJsZS10YWJsZS13cmFwcGVyIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzOCwgNjgsIDEwMywgMC4xKTsgfVxuXG4uZmxleGlibGUtdGFibGUtd3JhcHBlciB0Ym9keSB0ZCB7XG4gIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuZmxleGlibGUtdGFibGUtd3JhcHBlciB0aGVhZCB0aCxcbiAgLmZsZXhpYmxlLXRhYmxlLXdyYXBwZXIgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbTsgfSB9XG5cbi8qIEZPUk1TXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMDUpO1xuICAgIHBhZGRpbmc6ICRncmlkLXNtYWxsKjI7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyOyB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBleHRlbmQgaDU7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICB9XG4gICAgLmdmaWVsZCA+IGxhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICAgIH1cbiAgICBzZWxlY3QsaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0OCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmdmaWVsZF9yZXF1aXJlZCB7IGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTt9XG4gICAgLmdpbnB1dF9jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4O31cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxufVxuKi9cbi51aS1kYXRlcGlja2VyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMnB4IDJweCAxMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5leHRyYWJveGVuLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIHBhZGRpbmc6IDAgMC41cmVtIDNyZW0gMC41cmVtOyB9XG4gIC5leHRyYWJveGVuLXdyYXBwZXIgLmV4dHJhYm94ZW4taXRlbSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmV4dHJhYm94ZW4td3JhcHBlciAuZXh0cmFib3hlbi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmV4dHJhYm94ZW4td3JhcHBlciAuZXh0cmFib3hlbi1pdGVtIC5idXR0b24td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gICAgICAuZXh0cmFib3hlbi13cmFwcGVyIC5leHRyYWJveGVuLWl0ZW0gLmJ1dHRvbi13cmFwcGVyIC5idXR0b24sIC5leHRyYWJveGVuLXdyYXBwZXIgLmV4dHJhYm94ZW4taXRlbSAuYnV0dG9uLXdyYXBwZXIgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmV4dHJhYm94ZW4td3JhcHBlciAuZXh0cmFib3hlbi1pdGVtIC5idXR0b24td3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZXh0cmFib3hlbi13cmFwcGVyIC5leHRyYWJveGVuLWl0ZW0gLmJ1dHRvbi13cmFwcGVyIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIC5leHRyYWJveGVuLXdyYXBwZXIgLmV4dHJhYm94ZW4taXRlbSAuYnV0dG9uLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLmV4dHJhYm94ZW4td3JhcHBlciBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM4LCA2OCwgMTAzLCAwLjE1KTtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmV4dHJhYm94ZW4td3JhcHBlciBoMywgLmV4dHJhYm94ZW4td3JhcHBlciBoMyBzdHJvbmcsIGgzIC5leHRyYWJveGVuLXdyYXBwZXIgc3Ryb25nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi8qKioqKioqKioqKioqKioqKiogQUtUSVZJVMOEVEVOIEFSQ0hJViBJU09UT1BFICoqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgcm90YXRpbmcge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5jcy1ncmlkLW91dGVyd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMzgsIDY4LCAxMDMsIDAuMDUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZ3JpZC1vdXRlcndyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtZ3JpZC1vdXRlcndyYXBwZXIubG9hZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWdyaWQtb3V0ZXJ3cmFwcGVyLmxvYWRpbmc6YmVmb3JlLCAuY3MtZ3JpZC1vdXRlcndyYXBwZXIubG9hZGluZzphZnRlciB7XG4gICAgICBhbmltYXRpb246IHJvdGF0aW5nIDFzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSBpbmZpbml0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogMjUwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMS41NjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07XG4gICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgIzI2NDQ2NztcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLW91dGVyd3JhcHBlci5sb2FkaW5nOmJlZm9yZSwgLmNzLWdyaWQtb3V0ZXJ3cmFwcGVyLmxvYWRpbmc6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogNTB2aDsgfSB9XG4gICAgLmNzLWdyaWQtb3V0ZXJ3cmFwcGVyLmxvYWRpbmc6YWZ0ZXIge1xuICAgICAgYW5pbWF0aW9uOiByb3RhdGluZyAxLjI1cyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkgaW5maW5pdGU7XG4gICAgICBtYXJnaW4tdG9wOiAtMS45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjkzNzVyZW07XG4gICAgICB3aWR0aDogMy44NzVyZW07XG4gICAgICBoZWlnaHQ6IDMuODc1cmVtO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgIzAwNkVCNztcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWdyaWQtb3V0ZXJ3cmFwcGVyLmxvYWRpbmcgLmVsZW1lbnQtaXRlbSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG5cbi5jcy1vdmVydmlldy1ncmlkIHtcbiAgbWF4LXdpZHRoOiA4My41NjI1cmVtO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHMgZWFzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jcy1vdmVydmlldy1ncmlkIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMC41cmVtIDAgMC41cmVtOyB9IH1cbiAgLmNzLW92ZXJ2aWV3LWdyaWQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNzLW92ZXJ2aWV3LWdyaWQgLmdyaWQgLmVsZW1lbnQtaXRlbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uaWNvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiAwLjI1cmVtOyB9XG5cbi5yZWZGaWx0ZXIge1xuICBtYXgtd2lkdGg6IDQ2LjM3NXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAycmVtIDAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnJlZkZpbHRlciB7XG4gICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZWZGaWx0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfSB9XG4gIC5yZWZGaWx0ZXIgLmZpbHRlci10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnJlZkZpbHRlciAuZmlsdGVyLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVmRmlsdGVyIC5maWx0ZXItYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5yZWZGaWx0ZXIgLmZpbHRlci1idXR0b25zIGg2IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogcmdiYSgzOCwgNjgsIDEwMywgMC41KTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAucmVmRmlsdGVyIC5maWx0ZXItYnV0dG9ucyAuY2F0LWJ1dHRvbnMge1xuICAgICAgZmxleDogMiAxIGF1dG87XG4gICAgICB3aWR0aDogNzAlOyB9XG4gICAgLnJlZkZpbHRlciAuZmlsdGVyLWJ1dHRvbnMgLnRhcmdldC1idXR0b25zIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgd2lkdGg6IDMwJTsgfVxuICAgIC5yZWZGaWx0ZXIgLmZpbHRlci1idXR0b25zIC5idXR0b24td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAucmVmRmlsdGVyIC5maWx0ZXItYnV0dG9ucyAuYnV0dG9uLXdyYXBwZXIgYSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAucmVmRmlsdGVyIC5maWx0ZXItYnV0dG9ucyAuYnV0dG9uLXdyYXBwZXIuY2F0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgIC5yZWZGaWx0ZXIgLmZpbHRlci1idXR0b25zIC5idXR0b24td3JhcHBlci5jYXQtYnV0dG9uLXdyYXBwZXIgYSB7XG4gICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjI1cmVtIDAuMjVyZW0gMi41cmVtO1xuICAgICAgICAgIG1hcmdpbjogMC4xMjVyZW0gMDtcbiAgICAgICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICAgICAgY29sb3I6ICMwMDZFQjc7IH1cbiAgICAgICAgICAucmVmRmlsdGVyIC5maWx0ZXItYnV0dG9ucyAuYnV0dG9uLXdyYXBwZXIuY2F0LWJ1dHRvbi13cmFwcGVyIGE6aG92ZXIsIC5yZWZGaWx0ZXIgLmZpbHRlci1idXR0b25zIC5idXR0b24td3JhcHBlci5jYXQtYnV0dG9uLXdyYXBwZXIgYS5jdXJyZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuMSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDsgfVxuICAgICAgICAgIC5yZWZGaWx0ZXIgLmZpbHRlci1idXR0b25zIC5idXR0b24td3JhcHBlci5jYXQtYnV0dG9uLXdyYXBwZXIgYSAuaWNvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgICAgICAgLnJlZkZpbHRlciAuZmlsdGVyLWJ1dHRvbnMgLmJ1dHRvbi13cmFwcGVyLmNhdC1idXR0b24td3JhcHBlciBhIC5pY29uLXdyYXBwZXIgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDkwJTsgfVxuICAgICAgLnJlZkZpbHRlciAuZmlsdGVyLWJ1dHRvbnMgLmJ1dHRvbi13cmFwcGVyLnRhcmdldC1idXR0b24td3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAucmVmRmlsdGVyIC5maWx0ZXItYnV0dG9ucyAuYnV0dG9uLXdyYXBwZXIudGFyZ2V0LWJ1dHRvbi13cmFwcGVyIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICBjb2xvcjogIzAwNkVCNztcbiAgICAgICAgICAvKiYjZWluemVscGVyc29uOmJlZm9yZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZWluemVscGVyc29uLnN2Zyk7IH1cbiAgICAgICAgICAgICAgICAgICAgJiNncnVwcGU6YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9ncnVwcGUuc3ZnKTsgfSovIH1cbiAgICAgICAgICAucmVmRmlsdGVyIC5maWx0ZXItYnV0dG9ucyAuYnV0dG9uLXdyYXBwZXIudGFyZ2V0LWJ1dHRvbi13cmFwcGVyIGEgZGl2IHtcbiAgICAgICAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gMC41cmVtIGF1dG87XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM4LCA2OCwgMTAzLCAwLjE1KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAgICAgLnJlZkZpbHRlciAuZmlsdGVyLWJ1dHRvbnMgLmJ1dHRvbi13cmFwcGVyLnRhcmdldC1idXR0b24td3JhcHBlciBhLmN1cnJlbnQgZGl2IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzgsIDY4LCAxMDMsIDAuMSk7IH1cblxuLnNlbGVjdG1lbnUge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VsZWN0bWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuc2VsZWN0bWVudSBzZWxlY3Qge1xuICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzOCwgNjgsIDEwMywgMC4xNSk7XG4gICAgY29sb3I6ICMyNjQ0Njc7IH1cblxuLmVsZW1lbnQtaXRlbSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVsZW1lbnQtaXRlbSB7XG4gICAgICB3aWR0aDogNDguNSU7XG4gICAgICBwYWRkaW5nOiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmVsZW1lbnQtaXRlbSB7XG4gICAgICB3aWR0aDogMjQuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmVsZW1lbnQtaXRlbTpob3ZlciAuaW5uZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH1cbiAgICAgIC5lbGVtZW50LWl0ZW06aG92ZXIgLmlubmVyIC5ob3ZlcmxheTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbi5pbm5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzgsIDY4LCAxMDMsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgLmlubmVyIC5tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuaW5uZXIgLm1ldGEgPiAqIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gICAgLmlubmVyIC5tZXRhIGg1IHtcbiAgICAgIGNvbG9yOiAjMDA2RUI3O1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJzsgfVxuICAgIC5pbm5lciAubWV0YSAuaWNvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5pbm5lciAubWV0YSAuaWNvbnMgLmljb24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgLmlubmVyIC5ob3ZlcmxheSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmlubmVyIC5ob3ZlcmxheTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlOyB9XG5cbi8qKioqKioqKioqKioqKioqKiogQUtUSVZJVMOEVEVOIERFVEFJTCAqKioqKioqKioqKioqL1xuLnNpbmdsZS1ha3Rpdml0YWV0ZW4gLm1haW4tZ3JpZCB7XG4gIHBhZGRpbmc6IDAgMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaW5nbGUtYWt0aXZpdGFldGVuIC5tYWluLWdyaWQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5zaW5nbGUtYWt0aXZpdGFldGVuIC5tYWluLWNvbnRlbnQgPiAqIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNpbmdsZS1ha3Rpdml0YWV0ZW4gLmVudHJ5LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2luZ2xlLWFrdGl2aXRhZXRlbiAuc2luZ2xlLWdhbGxlcnkgLmZsZXhpYmxlLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zaW5nbGUtYWt0aXZpdGFldGVuIC5zaW5nbGUtaW50cm8tY2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDIuNXJlbSAwOyB9XG4gIC5zaW5nbGUtYWt0aXZpdGFldGVuIC5zaW5nbGUtaW50cm8tY2VudGVyIGgxIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1hcmdpbjogM3JlbSAwOyB9XG4gIC5zaW5nbGUtYWt0aXZpdGFldGVuIC5zaW5nbGUtaW50cm8tY2VudGVyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIDFyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJzsgfVxuICAgIC5zaW5nbGUtYWt0aXZpdGFldGVuIC5zaW5nbGUtaW50cm8tY2VudGVyIHNwYW4gZGl2IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5zaW5nbGUtYWt0aXZpdGFldGVuIC5zaW5nbGUtYmVpdHJhZ3NiaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2luZ2xlLWFrdGl2aXRhZXRlbiAuc2luZ2xlLWRlc2NyaXB0aW9uLFxuICAuc2luZ2xlLWFrdGl2aXRhZXRlbiAuc2luZ2xlLWRldGFpbHMsXG4gIC5zaW5nbGUtYWt0aXZpdGFldGVuIC5nZm9ybV93cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG5cbi5zaW5nbGUtYWt0aXZpdGFldGVuIC5tYWluLWNvbnRlbnQgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbSAwOyB9XG4gIC5zaW5nbGUtYWt0aXZpdGFldGVuIC5tYWluLWNvbnRlbnQgLmFjY29yZGlvbi1jb250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW46IDAuNXJlbSAwOyB9XG4gIC5zaW5nbGUtYWt0aXZpdGFldGVuIC5tYWluLWNvbnRlbnQgLmFjY29yZGlvbi1jb250ZW50IC5pbmZyYXN0cnVrdHVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNpbmdsZS1ha3Rpdml0YWV0ZW4gLm1haW4tY29udGVudCAuYWNjb3JkaW9uLWNvbnRlbnQgLmluZnJhc3RydWt0dXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgIGNvbG9yOiAjNDhCRUZGO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uc2luZ2xlLWFrdGl2aXRhZXRlbiAubWFpbi1jb250ZW50IC5mbGV4aWJsZS10YWJsZS13cmFwcGVyIHtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cblxuLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjI4MTI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjRjRGNUY3O1xuICBwYWRkaW5nOiAycmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGxpIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBsaSA+ICoge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSwgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzOCwgNjgsIDEwMywgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zdWJtaXRfbG9hZGluZy5zdmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMHB4OyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5sb2FkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bzsgfVxuICAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgY29sb3I6ICNEQzQzNzk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgIGNvbG9yOiAjREM0Mzc5O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNEQzQzNzk7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNEQzQzNzk7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBtYXJnaW46IDFyZW0gMCAzcmVtIDA7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGgzLCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBoMyBzdHJvbmcsIGgzIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIHN0cm9uZyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGRkZGRkY7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMnJlbTtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gMXJlbSAycmVtO1xuICAgIGNvbG9yOiByZ2JhKDM4LCA2OCwgMTAzLCAwLjUpO1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfaHRtbF9mb3JtYXR0ZWQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogLTJyZW07IH1cbiAgICAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2h0bWxfZm9ybWF0dGVkOmZpcnN0LW9mLXR5cGUgaDMsIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfaHRtbF9mb3JtYXR0ZWQ6Zmlyc3Qtb2YtdHlwZSBoMyBzdHJvbmcsIGgzIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfaHRtbF9mb3JtYXR0ZWQ6Zmlyc3Qtb2YtdHlwZSBzdHJvbmcge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX2RhdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX2RhdGUgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5mb3JtX2RhdGVuc2NodXR6IHtcbiAgICBmb250LWZhbWlseTogXCJsYXRvYm9sZFwiO1xuICAgIHBhZGRpbmc6IDFyZW0gMCAycmVtIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5mb3JtX2RhdGVuc2NodXR6IGEge1xuICAgICAgY29sb3I6ICM0OEJFRkY7IH1cbiAgICAgIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5mb3JtX2RhdGVuc2NodXR6IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwNkVCNzsgfVxuXG4vKioqKioqKioqKioqKioqKioqKiBSRVNQT05TSVZFIEVNQkVEICoqKioqKioqKioqKioqL1xuLmVtYmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKiogRk9PVEVSICoqKioqKioqKioqKioqKioqKioqL1xuLmxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDAgMS4yNXJlbSAwOyB9XG4gIC5sb2dvcyA+ICoge1xuICAgIG1hcmdpbjogMS44NzVyZW07IH1cblxuLmZvb3RlciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9ib2xkXCI7IH1cbiAgLmZvb3RlciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgLmZvb3RlciB1bCBhIHtcbiAgICAgICAgcGFkZGluZzogMC4xMjVyZW0gMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZvb3RlciB1bCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuZm9vdGVyIGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICAuZm9vdGVyIGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gYSxcbiAgLmZvb3RlciBhOmhvdmVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuZm9vdGVyIC5pbm5lcmZvb3Rlci13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDgzLjU2MjVyZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5mb290ZXIgLmlubmVyZm9vdGVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmZvb3RlciAuZm9vdGVyLXNvY2lhbC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA1ODkyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItc29jaWFsLXdyYXBwZXIgLm1lbnUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuZm9vdGVyIC5mb290ZXItc29jaWFsLXdyYXBwZXIgLnNvY2lhbHMge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1zb2NpYWwtd3JhcHBlciAuc29jaWFscyBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLXNvY2lhbC13cmFwcGVyIC5zb2NpYWxzIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNDhCRUZGOyB9XG4gIC5mb290ZXIgLmFmdGVyZm9vdGVyLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzgsIDY4LCAxMDMsIDAuMDUpOyB9XG4gICAgLmZvb3RlciAuYWZ0ZXJmb290ZXItd3JhcHBlciAuaW5uZXJmb290ZXItd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgICAuZm9vdGVyIC5hZnRlcmZvb3Rlci13cmFwcGVyIC5pbm5lcmZvb3Rlci13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmZvb3RlciAuYWZ0ZXJmb290ZXItd3JhcHBlciB1bCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgIC5mb290ZXIgLmFmdGVyZm9vdGVyLXdyYXBwZXIgdWwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfSB9XG4gICAgLmZvb3RlciAuYWZ0ZXJmb290ZXItd3JhcHBlciBzcGFuIHtcbiAgICAgIGNvbG9yOiByZ2JhKDM4LCA2OCwgMTAzLCAwLjUpOyB9XG4gICAgLmZvb3RlciAuYWZ0ZXJmb290ZXItd3JhcHBlciBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAwLjYyNXJlbTtcbiAgICAgIGNvbG9yOiAjMjY0NDY3OyB9XG4gICAgICAuZm9vdGVyIC5hZnRlcmZvb3Rlci13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzQ4QkVGRjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZvb3RlciAuYWZ0ZXJmb290ZXItd3JhcHBlciBhIHtcbiAgICAgICAgICBtYXJnaW46IDAuMTg3NXJlbSAwLjYyNXJlbTsgfSB9XG5cbi5mb290ZXItY29udGFjdC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogIzAwNkVCNztcbiAgcGFkZGluZzogM3JlbSAwIDNyZW0gMDsgfVxuICAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiA0Ni44NzVyZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5mb290ZXItY29udGFjdC13cmFwcGVyIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5mb290ZXItY29udGFjdC13cmFwcGVyIC5wcmV0aXRsZSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaDIge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5mb290ZXItY29udGFjdC13cmFwcGVyIC5wcmV0aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIC5mb290ZXItY29udGFjdC13cmFwcGVyIGgyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBoMiAqIHtcbiAgICBmb250LXNpemU6IDIuMDYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5mb290ZXItY29udGFjdC13cmFwcGVyIGgyLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBoMiAqIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjQzNzVyZW07IH0gfVxuICAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciAuZ2ZpZWxkX2xhYmVsLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciAjZmllbGRfNl8yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb290ZXItY29udGFjdC13cmFwcGVyIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBmb3JtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgZm9ybSBpbWcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb290ZXItY29udGFjdC13cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1JTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgICB3aWR0aDogNjAlOyB9IH1cbiAgICAgIC5mb290ZXItY29udGFjdC13cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgaW5wdXQge1xuICAgICAgICBtYXgtd2lkdGg6IDE1LjYyNXJlbTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBpbnB1dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG4gICAgICAgIC5mb290ZXItY29udGFjdC13cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgaW5wdXQ6aG92ZXIsIC5mb290ZXItY29udGFjdC13cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgaW5wdXQ6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSBpbnB1dFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0RDNDM3OTsgfVxuICAgICAgICAgIC5mb290ZXItY29udGFjdC13cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgaW5wdXRbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXTo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNEQzQzNzk7IH1cbiAgICAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBmb3JtIC5mb3JtX2Zvb3RlciB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgZm9ybSAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgZm9ybSAudmFsaWRhdGlvbl9tZXNzYWdlLCAuZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciBmb3JtIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtOyB9XG4gIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IDRweCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiAjNDhCRUZGOyB9XG5cbiNtY19lbWJlZF9zaWdudXAge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbiNjb29raWVtZXNzYWdlIHtcbiAgei1pbmRleDogNTAwICFpbXBvcnRhbnQ7IH1cblxuLyoqKiogU0VBUkNIIEZPUk0gKioqKi9cbi5yZXN1bHQtc2VhcmNoLWZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NS41cmVtO1xuICBtYXJnaW46IDAgYXV0byA0cmVtIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnJlc3VsdC1zZWFyY2gtZm9ybSB7XG4gICAgICBwYWRkaW5nOiAycmVtOyB9IH1cblxuLnNlYXJjaGZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlYXJjaGZvcm0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5zZWFyY2hmb3JtIGlucHV0IHtcbiAgICB3aWR0aDogNzUlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTguNzVyZW07XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWFyY2hmb3JtIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9IH1cbiAgICAuc2VhcmNoZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIC5zZWFyY2hmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OEJFRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTguNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zZWFyY2hmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgICAgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNEQzQzNzk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0RDNDM3OTsgfVxuICAuc2VhcmNoZm9ybSBzZWxlY3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDE4Ljc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMnJlbSAwIDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlYXJjaGZvcm0gc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cblxuLmZvdW5kLWluIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgY29sb3I6ICM4Rjk1OUI7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgLnBhZ2luYXRpb24gbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqKiogSElOV0VJU0JBTk5FUiAqKioqL1xuLmltcG9ydGFudC1tZXNzYWdlIHtcbiAgYmFja2dyb3VuZDogI0VDMUQyNDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBwYWRkaW5nOiAxcmVtIDAuNXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pbXBvcnRhbnQtbWVzc2FnZSAuaW5uZXItd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiA2MHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmltcG9ydGFudC1tZXNzYWdlIC5pbXBvcnRhbnQtY2xvc2Uge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5pbXBvcnRhbnQtbWVzc2FnZSAuaW1wb3J0YW50LWNsb3NlIHN2ZyB7XG4gICAgICB3aWR0aDogMTRweDsgfVxuICAuaW1wb3J0YW50LW1lc3NhZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmltcG9ydGFudC1tZXNzYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgcmlnaHQ6IDRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgICAgLmltcG9ydGFudC1tZXNzYWdlIGltZyB7XG4gICAgICAgIHJpZ2h0OiA1cmVtOyB9IH1cblxuLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEzMnZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiA0N3Z3OyB9IH1cbiAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgaW1nIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgYW5pbWF0aW9uOiBtb3ZlSW1hZ2UgNjBzIGxpbmVhciAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXI6aG92ZXIgaW1nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5tcy1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDU7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIG1heC13aWR0aDogOTUlOyB9XG4gIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5idXR0b24sIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLyoqKioqKioqKioqKioqKiBGUk9OVFBBR0UgKioqKioqKioqKioqKioqKiovXG4uZnJvbnQtc2VjdGlvbi10aXRsZSBzdHJvbmcge1xuICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7IH1cblxuLmZyb250LWFrdGl2aXRhZXRlbi13cmFwcGVyLFxuLmZyb250LWJveGVuLXdyYXBwZXIge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZnJvbnQtYWt0aXZpdGFldGVuLXdyYXBwZXIgaDIsXG4gIC5mcm9udC1ib3hlbi13cmFwcGVyIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZnJvbnQtYWt0aXZpdGFldGVuLXdyYXBwZXIgaDIsIC5mcm9udC1ha3Rpdml0YWV0ZW4td3JhcHBlciBoMiAqLFxuICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIGgyLFxuICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIGgyICoge1xuICAgICAgZm9udC1zaXplOiAyLjA2MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mcm9udC1ha3Rpdml0YWV0ZW4td3JhcHBlciBoMiwgLmZyb250LWFrdGl2aXRhZXRlbi13cmFwcGVyIGgyICosXG4gICAgICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIGgyLFxuICAgICAgICAuZnJvbnQtYm94ZW4td3JhcHBlciBoMiAqIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuNDM3NXJlbTsgfSB9XG4gIC5mcm9udC1ha3Rpdml0YWV0ZW4td3JhcHBlciAuYnV0dG9uLXdyYXBwZXIsXG4gIC5mcm9udC1ib3hlbi13cmFwcGVyIC5idXR0b24td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG4uZnJvbnQtYWt0aXZpdGFldGVuLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZnJvbnQtYWt0aXZpdGFldGVuLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfSB9XG4gIC5mcm9udC1ha3Rpdml0YWV0ZW4td3JhcHBlciAubXMtc2xpZGUgLmVsZW1lbnQtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDsgfVxuICAuZnJvbnQtYWt0aXZpdGFldGVuLXdyYXBwZXIgLmNzLW92ZXJ2aWV3LWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZnJvbnQtYWt0aXZpdGFldGVuLXdyYXBwZXIgLmNzLW92ZXJ2aWV3LWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmZyb250LWFrdGl2aXRhZXRlbi13cmFwcGVyIC5jcy1vdmVydmlldy1ncmlkLm1hc3Rlci1zbGlkZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmZyb250LWFrdGl2aXRhZXRlbi13cmFwcGVyIC5jcy1vdmVydmlldy1ncmlkLm1hc3Rlci1zbGlkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZnJvbnQtYm94ZW4td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNGNEY1RjcgdXJsKC4uL2ltYWdlcy9iYWNrZ3JvdW5kX2Zyb250LnBuZykgY2VudGVyIGJvdHRvbSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mcm9udC1ib3hlbi13cmFwcGVyOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKCAxMDAlIC0gMnB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXdzLXRyaWFuZ2xlLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDIlO1xuICAgIHBhZGRpbmctYm90dG9tOiA4LjglO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLmZyb250LWJveGVuLXdyYXBwZXIgLmZyb250LWJveGVuLWlubmVyd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZyb250LWJveGVuLXdyYXBwZXIgaDIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuZnJvbnQtYm94ZW4td3JhcHBlciAubmV3cy13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgICAuZnJvbnQtYm94ZW4td3JhcHBlciAubmV3cy13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gIC5mcm9udC1ib3hlbi13cmFwcGVyIC5mcm9udC1uZXdzLXNpZGViYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIC5mcm9udC1uZXdzLXNpZGViYXIgaDMsIC5mcm9udC1ib3hlbi13cmFwcGVyIC5mcm9udC1uZXdzLXNpZGViYXIgaDMgc3Ryb25nLCBoMyAuZnJvbnQtYm94ZW4td3JhcHBlciAuZnJvbnQtbmV3cy1zaWRlYmFyIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogJ2xhdG9yZWd1bGFyJztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuZnJvbnQtYm94ZW4td3JhcHBlciAuZnJvbnQtbmV3cy1zaWRlYmFyIGgzIHN0cm9uZywgaDMgLmZyb250LWJveGVuLXdyYXBwZXIgLmZyb250LW5ld3Mtc2lkZWJhciBzdHJvbmcgc3Ryb25nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuZnJvbnQtYm94ZW4td3JhcHBlciAuZnJvbnQtbmV3cy1zaWRlYmFyIHtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZyb250LWJveGVuLXdyYXBwZXIgLmZyb250LW5ld3Mtc2lkZWJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgICAgLmZyb250LWJveGVuLXdyYXBwZXIgLmZyb250LW5ld3Mtc2lkZWJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIC5mcm9udC1uZXdzLXNpZGViYXIgPiBkaXYge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIC5mcm9udC1uZXdzLXNpZGViYXIgPiBkaXYge1xuICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIC5mcm9udC1uZXdzLXNpZGViYXIgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgICAgLmZyb250LWJveGVuLXdyYXBwZXIgLmZyb250LW5ld3Mtc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgICAgIC5mcm9udC1ib3hlbi13cmFwcGVyIC5mcm9udC1uZXdzLXNpZGViYXIgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDsgfSB9XG5cbi5mcm9udC1nYWxlcnktYm94IHtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC4yNXJlbSAwIHJnYmEoMzgsIDY4LCAxMDMsIDAuMjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZyb250LWdhbGVyeS1ib3ggLmltZy13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMS43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mcm9udC1nYWxlcnktYm94IGgzLCAuZnJvbnQtZ2FsZXJ5LWJveCBoMyBzdHJvbmcsIGgzIC5mcm9udC1nYWxlcnktYm94IHN0cm9uZyB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mcm9udC1nYWxlcnktYm94IC5idXR0b24sIC5mcm9udC1nYWxlcnktYm94IC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5mcm9udC1nYWxlcnktYm94IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5mcm9udC1nYWxlcnktYm94IC5mb290ZXItY29udGFjdC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5mb290ZXItY29udGFjdC13cmFwcGVyIC5mcm9udC1nYWxlcnktYm94IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uZnJvbnQtdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAzMHZ3O1xuICBtYXJnaW4tdG9wOiAtMjJ2dztcbiAgcGFkZGluZzogMCAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZnJvbnQtdmlkZW8td3JhcHBlciB7XG4gICAgICB0b3A6IDE1dnc7XG4gICAgICBtYXJnaW4tdG9wOiAtN3Z3OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5mcm9udC12aWRlby13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4udmlkZW8td3JhcHBlciB7XG4gIG1hcmdpbjogYXV0bzsgfVxuICAudmlkZW8td3JhcHBlcjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IDEwJTtcbiAgICBib3R0b206IDUlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNoYWRvdzogMCAwIDE1MHB4IDQwcHggYmxhY2s7XG4gICAgei1pbmRleDogMTsgfVxuICAudmlkZW8td3JhcHBlcjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTJyZW07XG4gICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wbGF5LnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC52aWRlby13cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zLjQzNzVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0zLjQzNzVyZW07XG4gICAgICAgIHdpZHRoOiA2Ljg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiA2Ljg3NXJlbTsgfSB9XG4gIC52aWRlby13cmFwcGVyOmhvdmVyOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC52aWRlby13cmFwcGVyLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2Ny4xMjVyZW07XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgei1pbmRleDogNDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgIC52aWRlby13cmFwcGVyLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMzcuNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnZpZGVvLXdyYXBwZXIgaWZyYW1lIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgLnZpZGVvLXdyYXBwZXIgaW1nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTsgfVxuICAudmlkZW8td3JhcHBlci52aWRlby1sb2FkZWQgaW1nLCAudmlkZW8td3JhcHBlci52aWRlby1sb2FkZWQ6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnZpZGVvLXdyYXBwZXIuaGlkZS1pbWcgaW1nLCAudmlkZW8td3JhcHBlci5oaWRlLWltZzphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZnJvbnQtd2VhdGhlci1ib3gge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIHBhZGRpbmc6IDFyZW0gMnJlbSAycmVtIDJyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjI1cmVtIDAgcmdiYSgzOCwgNjgsIDEwMywgMC4yNSk7IH1cbiAgLmZyb250LXdlYXRoZXItYm94IHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZnJvbnQtd2VhdGhlci1ib3ggdWwgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5mcm9udC13ZWF0aGVyLWJveCB1bCBsaTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMTIsIDEyOSwgMTQzLCAwLjMpOyB9XG4gICAgICAuZnJvbnQtd2VhdGhlci1ib3ggdWwgbGkgPiBkaXY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDA7IH1cbiAgICAgIC5mcm9udC13ZWF0aGVyLWJveCB1bCBsaSA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH1cbiAgICAgIC5mcm9udC13ZWF0aGVyLWJveCB1bCBsaSBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogXCJsYXRvcmVndWxhclwiO1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAuZnJvbnQtd2VhdGhlci1ib3ggLnRlbXAge1xuICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIGZvbnQtZmFtaWx5OiBcImxhdG9ib2xkXCI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9XG4gIC5mcm9udC13ZWF0aGVyLWJveCAuaGlnaCxcbiAgLmZyb250LXdlYXRoZXItYm94IC5odW1pZGl0eSxcbiAgLmZyb250LXdlYXRoZXItYm94IC5yZWZyZXNoZWQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtO1xuICAgIGNvbG9yOiByZ2JhKDM4LCA2OCwgMTAzLCAwLjUpO1xuICAgIGZvbnQtZmFtaWx5OiBcImxhdG9ib2xkXCI7IH1cbiAgLmZyb250LXdlYXRoZXItYm94IC5yZWZyZXNoZWQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5mcm9udC13ZWF0aGVyLWJveCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzLjQzNzVyZW07IH1cblxuLmZyb250LW1hcC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDMwdnc7XG4gIGhlaWdodDogMTMwdnc7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZnJvbnQtbWFwLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDI1dnc7XG4gICAgICBoZWlnaHQ6IDEwMHZ3OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5mcm9udC1tYXAtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMTh2dztcbiAgICAgIGhlaWdodDogNzV2dzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZnJvbnQtbWFwLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiA3MHZ3O1xuICAgICAgcGFkZGluZy10b3A6IDE3dnc7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAuZnJvbnQtbWFwLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiA0NXZ3O1xuICAgICAgcGFkZGluZy10b3A6IDE2dnc7XG4gICAgICBtYXgtaGVpZ2h0OiA5MDBweDsgfSB9XG4gIC5mcm9udC1tYXAtd3JhcHBlciAuYmlnLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuZnJvbnQtbWFwLXdyYXBwZXIgLmJpZy10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZnJvbnQtbWFwLXdyYXBwZXIgLmJ1dHRvbiwgLmZyb250LW1hcC13cmFwcGVyIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIC5mcm9udC1tYXAtd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZnJvbnQtbWFwLXdyYXBwZXIgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZvb3Rlci1jb250YWN0LXdyYXBwZXIgLmZyb250LW1hcC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgYm94LXNoYWRvdzogNHB4IDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgei1pbmRleDogNTAwOyB9XG4gIC5mcm9udC1tYXAtd3JhcHBlcjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pbnZlcnRlZC10cmlhbmdsZS5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAyJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAlOyB9XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA4My41NjI1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgYm9keSN0aW55bWNlIGEge1xuICAgIGNvbG9yOiAjMDA2RUI3ICFpbXBvcnRhbnQ7IH1cbiIsIlxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2xhdG8tYmxhY2std2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbGF0by1ibGFjay13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2xhdG8tYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9sYXRvLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbGF0by1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbGF0by1pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvcmVndWxhcic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2xhdG8tcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9sYXRvLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdrYXVzaGFuX3NjcmlwdHJlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9rYXVzaGFuc2NyaXB0LXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMva2F1c2hhbnNjcmlwdC1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncGVybWFuZW50X21hcmtlcnJlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wZXJtYW5lbnRtYXJrZXItcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wZXJtYW5lbnRtYXJrZXItcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwbGF5ZmFpcl9kaXNwbGF5YmxhY2snO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wbGF5ZmFpcmRpc3BsYXktYmxhY2std2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcGxheWZhaXJkaXNwbGF5LWJsYWNrLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncmFsZXdheWJsYWNrJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcmFsZXdheS1ibGFjay13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9yYWxld2F5LWJsYWNrLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uUHJlc3Mgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiBmb3IgU2l0ZXMgdjYuNC4zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgJ2dsb2JhbC9jb2xvcnMnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEzMzcpO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyNjQ0NjcsXG4gIHNlY29uZGFyeTogIzAwNkVCNyxcbiAgc3VjY2VzczogIzZFQjUzMyxcbiAgd2FybmluZzogI0Y4RDMwMCxcbiAgYWxlcnQ6ICNFQzFEMjQsXG4pO1xuXG4kcHJpbWFyeS1saWdodDogIzAwNUNBODtcbiRjeWFuOiAjMDA5RUUyO1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxzZWNvbmRhcnkpO1xuJHNlY29uZGFyeS1saWdodDogIzQ4QkVGRjtcbiRzZWNvbmRhcnktZGFyazogIzAwNTg5MjtcbiR0ZXJ0aWFyeS1jb2xvcjogI0RDNDM3OTtcblxuLy8gQU1QRUwgLyBUUkFGRklDIExJR0hUIENPTE9SU1xuJGdyZWVuLWxpZ2h0OiAjMDBiMTAwOyBcbiRvcmFuZ2UtbGlnaHQ6ICNmZmFlMDA7IFxuJHJlZC1saWdodDogI2ZhMjUwMDsgXG5cbiRncmVlbjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLHN1Y2Nlc3MpO1xuJHJlZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLGFsZXJ0KTtcbiRncmF5OiAjOEY5NTlCO1xuJGxpZ2h0ZXN0LWdyYXk6ICNGQUZBRkE7XG4kbGlnaHQtZ3JheTogI0Y3RjdGNjtcbiRtZWRpdW0tZ3JheTogIzcwODE4RjtcbiRncmF5LTU6ICNGNEY1Rjc7XG4kZGFyay1ncmF5OiAkcHJpbWFyeS1jb2xvcjsgLy8gQW50aHJheml0XG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNGRkZGRkY7XG5cblxuXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRib2R5LWZvbnQtZmFtaWx5OiBcImxhdG9yZWd1bGFyXCIsLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAwcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiA4MDBweCxcbiAgeGxhcmdlOiAxMDI0cHgsXG4gIHh4bGFyZ2U6IDEyNDBweCxcbiAgeHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbWVkaXVtO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSB4eHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdsYXRvcmVndWxhcic7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMztcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMHJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMiksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDUpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjcpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjEpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTcpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6ICRzZWNvbmRhcnktY29sb3I7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAwO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDBweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAwcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkd2hpdGU7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiAzMHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6ICdyYWxld2F5YmxhY2snO1xuJGJ1dHRvbi1wYWRkaW5nOiAwZW0gM2VtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAwIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogMzYwcHg7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC41NXJlbSxcbiAgc21hbGw6IDAuNjVyZW0sXG4gIGRlZmF1bHQ6IDAuNzVyZW0sXG4gIGxhcmdlOiAwLjc1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMDtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAwcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAwO1xuJGNhcmQtcGFkZGluZzogMDtcbiRjYXJkLW1hcmdpbi1ib3R0b206IDA7XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoNSAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDBweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDBweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAwcHggMHB4IHJnYmEoJGJsYWNrLCAwKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCAwcHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogMDtcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6IDA7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAwO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6ICRzZWNvbmRhcnktZGFyaztcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IHJlbS1jYWxjKDMyMHB4KSxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyODBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRvZmZjYW52YXMtc2hhZG93OiAwO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMwO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjkpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygwKTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDEwJTtcbiR0YWJsZS1ib3JkZXI6IDBweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYygxMCAxMCA2KTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICR3aGl0ZTtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwcmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJHRpdGxlYmFyLWhlaWdodDogNzBweDtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDI0O1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IHJlbS1jYWxjKDhweCksXG4gIG1lZGl1bTogcmVtLWNhbGMoMTZweCksXG4gIHhsYXJnZTogcmVtLWNhbGMoMzJweCksXG4pO1xuJGdyaWQtc21hbGw6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsc21hbGwpO1xuJGdyaWQtbWVkaXVtOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLG1lZGl1bSk7XG4kZ3JpZC14bGFyZ2U6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMseGxhcmdlKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgJ2dsb2JhbC9mb250cyc7XG5cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG4vL0BpbXBvcnQgJ21vdGlvbi11aSc7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcblxuLy9AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImdsb2JhbC9fYWNjZXNzaWJpbGl0eVwiO1xuLy9AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC93cC1hZG1pblwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1vdmVycmlkZXNcIjtcblxuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYXN0ZXJzbGlkZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2RhdGVwaWNrZXJcIjtcbi8vQGltcG9ydCBcIm1vZHVsZXMvY29udGVudFwiO1xuLy9AaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcblxuXG4vLyBDb21wb25lbnRzXG4vL0BpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZHNcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZWQtaW1hZ2VcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvZGl2aWRlcnNcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvbGlua3NcIjtcblxuLy8gVGVtcGxhdGVzXG4vL0BpbXBvcnQgXCJ0ZW1wbGF0ZXMvZnJvbnRcIjtcbi8vQGltcG9ydCBcInRlbXBsYXRlcy9raXRjaGVuLXNpbmtcIjtcblxuQGltcG9ydCAnZ2xvYmFsL3NwaW5uZXInO1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dsb2JhbC9mcm9udHBhZ2UnO1xuXG4vLyBXaXJlZnJhbWVcbi8vQGltcG9ydCBcIndpcmVmcmFtZS93aXJlZnJhbWVcIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvZWRpdG9yLXN0eWxlXCI7XG5cbkBmdW5jdGlvbiBoZWFkZXItc2l6ZSgkYnJlYWtwb2ludCwgJHNpemUpIHtcbiAgQHJldHVybiByZW0tY2FsYyhtYXAtZ2V0KG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXN0eWxlcywgXCJzbWFsbFwiKSwgJHNpemUpLCBcImZvbnQtc2l6ZVwiKSAqIDFweCk7XG59XG4iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgzKSB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmlnYXRpb24gYnJlYWtwb2ludHNcbi50aXRsZS1iYXIsXG4ubW9iaWxlLW1lbnUgIHtcbiAgQGluY2x1ZGUgaGlkZS1mb3IoeGxhcmdlKTtcbn1cblxuLmRlc2t0b3AtbWVudSxcbi5zaXRlLWhlYWRlciB7XG4gIEBpbmNsdWRlIHNob3ctZm9yKHhsYXJnZSk7XG59XG5cblxuLy8gU0VSVklDRU5BVlxuXG4uc2VydmljZW5hdiB7XG4gIEBpbmNsdWRlIHNob3ctZm9yKHhsYXJnZSk7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMDUpO1xuICBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xuICB9XG4gIGEuYWN0aXZlLFxuICBsaVtjbGFzcyo9XCJjdXJyZW50XCJdIGEsXG4gIGE6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAubmF2LWxhbmctd3JhcHBlciB7XG4gICAgICBAZXh0ZW5kICVnbG9iYWx3aWR0aDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICAgID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgICAgLm1lbnUtc2VydmljZW5hdi1jb250YWluZXIgeyBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7IHBhZGRpbmc6IDA7fVxuICB9XG4gIC5pbm5lci1zZXJ2aWNlbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBzdmcgeyAvLyBGQiBJY29uXG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTAgMCAyMCk7XG4gICAgfVxuICB9XG4gIC5sYW5nc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNSAwKTtcbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcih4bGFyZ2UpO1xuICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtbWVkaXVtLzM7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29sb3I7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjeWFuO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxuICAubWVudSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGEgeyBtYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtOyB9XG4gIH1cbn1cblxuLy8gVGl0bGUgQmFyXG4udGl0bGUtYmFyIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICR0aXRsZWJhci1oZWlnaHQ7XG4gIC5sb2dvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDE4OSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IHdpZHRoOiByZW0tY2FsYygxNDApOyB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAudGl0bGUtYmFyLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgc3Bhblt0eXBlPVwiYnV0dG9uXCJdIGVtIHsgYmFja2dyb3VuZDogJGN5YW47fVxuICAgIH1cbiAgICBzcGFuIHsgY29sb3I6ICR3aGl0ZTt9XG4gICAgc3Bhblt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTEpO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIGZvbnQtZmFtaWx5OlwibGF0b2JvbGRcIjtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbi5tZW51LWljb24td3JhcHBlciB7IC8vIEljb24gV3JhcHBlclxuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgd2lkdGg6IHJlbS1jYWxjKDQ4KTtcbiAgaGVpZ2h0OiByZW0tY2FsYyg0OCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG5cbi8vIFRvcGJhclxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgc2hvdy1mb3IobGFyZ2UpO1xuICBuYXYge1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAqIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OlwibGF0b2JvbGRcIjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxMik7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtNCk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbY2xhc3MqPVwiY3VycmVudFwiXSBhLFxuICAgICAgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktZGFyaztcbiAgICAgICAgJjphZnRlciB7IG9wYWNpdHk6IDE7fVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBNb2JpbGUgbWVudVxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgLy8gcHJldmVudHMgcmVwYWludCBjYXVzZWQgYnkgSlMgaGlkaW5nIG1lbnUgb25sb2FkXG59XG4ub2ZmLWNhbnZhcyB7XG4gICAmLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogLTVweCAwcHggMTBweCAwcHggcmdiYSgkYmxhY2ssMC4yNSk7XG4gIH1cbiAgLy8gQ2xvc2UgQnV0dG9uXG4gIC5jbG9zZS1ob2xkZXIge1xuICAgIGhlaWdodDogcmVtLWNhbGMoNzIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJ1dHRvbjpob3ZlciBzcGFuIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICRjeWFuO1xuICAgIH1cbiAgfVxuICAuc2lkZWJhci1jYW52YXMtbmF2IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gIH1cbiAgLy8gw5xiZXJuYWNodHVuZyBidWNoZW4gQnV0dG9uXG4gIC5idXR0b24td3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgdWwgeyAvLyBEZWZhdWx0c1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIH1cbiAgfVxuICAvLyBNYWluIE1lbnVcbiAgdWwubWVudS52ZXJ0aWNhbCB7XG4gICAgbWFyZ2luOiAwIDAgJGdyaWQtbWVkaXVtIDA7XG4gICAgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6XCJsYXRvYmxhY2tcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDQpIHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICAgIGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gYSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktZGFyaztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoNCkgc29saWQgJGN5YW47XG4gICAgfVxuICB9XG4gIC8vIE1vYmlsZSBTZXJ2aWNlbmF2XG4gIHVsLm1vYmlsZS1zZXJ2aWNlbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OlwibGF0b2JsYWNrXCI7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDEwKTtcbiAgICAgICY6aG92ZXIgeyBjb2xvcjogJGN5YW47fVxuICAgIH1cbiAgfVxuICAvLyBMYW5nc3dpdGNoICsgU29jaWFsc1xuICAubGFuZ3N3aXRjaC1zb2NpYWwtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjA1KTtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMiAwO1xuICB9XG4gIC5mYWNlYm9vay13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGEge1xuICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC41KTtcbiAgICAgIGZvbnQtZmFtaWx5OlwibGF0b2JvbGRcIjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBzdmcgeyBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTsgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxhbmdzd2l0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIHNwYW4geyBAaW5jbHVkZSBzaG93LWZvcih4bGFyZ2UpOyB9XG4gICAgYSB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNTYpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1Nik7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTApO1xuICAgICAgZm9udC1mYW1pbHk6XCJsYXRvYmxhY2tcIjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIE9zdGJlbGdpZW4gTG9nb1xuICAubG9nby13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuaGVhZGVyLXNlYXJjaGZvcm0gLnNlYXJjaGZvcm0ge1xuICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjMgJGdyaWQtbWVkaXVtKjIgJGdyaWQtbWVkaXVtKjIgMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuLmlzLW9wZW4sIC5pcy1jbG9zZWQge3Zpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDt9IiwiLyoqXG4gKiAgTWFzdGVyIFNsaWRlclxuICogXHRDb3JlIGNzcyBmaWxlXG4gKi9cblxuIC5tYXN0ZXItc2xpZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0YSB7XG5cdCAgdHJhbnNpdGlvbjogbm9uZTtcblx0fVxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0KiB7XG5cdCAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cdH1cblx0Ji5iZWZvcmUtaW5pdCB7fVxuXHQmLm1zLWZ1bGxoZWlnaHQge1xuXHQgIGhlaWdodDogMTAwJTtcblx0fVxuICB9XG4gIFxuICAubXMtbGF5b3V0LXBhcnRpYWx2aWV3IHtcblx0Lm1zLXZpZXcge1xuXHQgIG92ZXJmbG93OiB2aXNpYmxlO1xuXHQgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG5cdC5tcy1jb250YWluZXIge1xuXHQgIG92ZXJmbG93OiBoaWRkZW47XG5cdH1cbiAgfVxuICBcbiAgLm1hc3Rlci1zbGlkZXIgaW1nLCAubXMtc2xpZGUtYmd2aWRlb2NvbnQgdmlkZW8ge1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0fVxuXHQubWFzdGVyLXNsaWRlciAuaG92ZXJsYXkgaW1nIHt3aWR0aDogMTAwJTt9XG4gIFxuICAubXMtaWUgaW1nIHtcblx0Ym9yZGVyOiBub25lO1xuICB9XG4gIFxuICAubXMtaWU4ICoge1xuXHRvcGFjaXR5OiBpbmhlcml0O1xuXHRmaWx0ZXI6IGluaGVyaXQ7XG4gIH1cbiAgXG4gIC5tcy1pZTcge1xuXHR6b29tOiAxO1xuICB9XG4gIFxuICAubXMtbW96IC5tcy1zbGlkZS1iZ2NvbnQgPiBpbWcge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuICBcbiAgLm1zLWxvYWRpbmctY29udGFpbmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0dG9wOiAwO1xuICB9XG4gIFxuICAubXMtc2xpZGUtYXV0by1oZWlnaHQge1xuXHRkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICBcbiAgLm1zLWxvYWRpbmctY29udGFpbmVyIC5tcy1sb2FkaW5nLCAubXMtc2xpZGUgLm1zLXNsaWRlLWxvYWRpbmcge1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hc3RlcnNsaWRlci9sb2FkaW5nLTIuZ2lmKSBuby1yZXBlYXQgY2VudGVyIHdoaXRlO1xuXHRib3JkZXItcmFkaXVzOiA2MHB4O1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luOiAtMThweDtcblx0b3BhY2l0eTogMC45O1xuICB9XG4gIFxuICAvKiBncmFiIGN1cnNvciAqL1xuICBcbiAgLm1zLW5vLXN3aXBlLCAubXMtZGVmLWN1cnNvciB7XG5cdGN1cnNvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAubXMtZ3JhYi1jdXJzb3Ige1xuXHRjdXJzb3I6IHVybCguLi9pbWFnZXMvbWFzdGVyc2xpZGVyL2dyYWIucG5nKSwgbW92ZTtcbiAgfVxuICBcbiAgLm1zLWdyYWJiaW5nLWN1cnNvciB7XG5cdGN1cnNvcjogdXJsKC4uL2ltYWdlcy9tYXN0ZXJzbGlkZXIvZ3JhYmJpbmcucG5nKSwgbW92ZTtcbiAgfVxuICBcbiAgLm1zLWllIHtcblx0Lm1zLWdyYWItY3Vyc29yLCAubXMtZ3JhYmJpbmctY3Vyc29yIHtcblx0ICBjdXJzb3I6IG1vdmU7XG5cdH1cbiAgfVxuICBcbiAgLm1zLXZpZXcge1xuXHRtYXJnaW46IDBweCBhdXRvO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kOiBibGFjaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwZXJzcGVjdGl2ZTogMjAwMHB4O1xuXHQubXMtc2xpZGUtY29udGFpbmVyIHtcblx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cbiAgfVxuICBcbiAgLm1zLXNsaWRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpO1xuICB9XG4gIFxuICAubXMtd2sgLm1zLXNsaWRlIHtcblx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxuICBcbiAgLm1zLXNsaWRlIHtcblx0Ji5zZWxlY3RlZCB7fVxuXHQubXMtc2xpZGUtYmdjb250LCAubXMtc2xpZGUtYmd2aWRlb2NvbnQge1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICBvdmVyZmxvdzogaGlkZGVuO1xuXHQgIHdpZHRoOiAxMDAlO1xuXHR9XG5cdC5tcy1zbGlkZS1saW5rIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICB3aWR0aDogMTAwJTtcblx0ICBoZWlnaHQ6IDEwMCU7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIHRvcDogMDtcblx0ICB6LWluZGV4OiAxMTA7XG5cdH1cbiAgfVxuICBcbiAgLm1zLWllIC5tcy1zbGlkZS1saW5rIHtcblx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJS4oCM4oCLQUE3XCIpIDAgMCByZXBlYXQ7XG4gIH1cbiAgXG4gIC5tcy1zbGlkZSAubXMtc2xpZGUtYmd2aWRlb2NvbnQge1xuXHR6LWluZGV4OiAxMDU7XG5cdGhlaWdodDogMTAwJTtcbiAgfVxuICBcbiAgLm1zLXdrIHtcblx0Lm1zLXNsaWRlIC5tcy1zbGlkZS1iZ3ZpZGVvY29udCwgLm1zLXNsaWRlLWJndmlkZW9jb250ID4gdmlkZW8ge1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwLjNweCk7XG5cdH1cbiAgfVxuICBcbiAgLm1zLXNsaWRlIC5tcy1zbGlkZS1iZ3ZpZGVvIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDBweDtcbiAgfVxuICBcbiAgLm1zLWlubmVyLWNvbnRyb2xzLWNvbnQsIC5tcy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIFxuICAubXMtc2xpZGUgLm1zLXNsaWRlLWJnY29udCBpbWcsIC5tcy1jb250YWluZXIsIC5tcy1pbm5lci1jb250cm9scy1jb250IHtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgXG4gIC5tcy1zbGlkZSAubXMtbGF5ZXIsIC5tcy1maXhlZC1sYXllcnMgLm1zLWxheWVyLCAubXMtb3ZlcmxheS1sYXllcnMgLm1zLWxheWVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICBcbiAgLm1zLWxheWVyLW1hc2sge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdC5tcy1sYXllciB7XG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG4gIH1cbiAgXG4gIC5tcy1zbGlkZSAubXMtc2xpZGUtbGF5ZXJzLCAubXMtb3ZlcmxheS1sYXllcnMgLm1zLXNsaWRlLWxheWVycywgLm1zLWZpeGVkLWxheWVycyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogMTA5O1xuXHR0b3A6IDBweDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgXG4gIC5tcy1zbGlkZSAubXMtc2xpZGUtdmlkZW8ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTExO1xuXHRiYWNrZ3JvdW5kOiBibGFjaztcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRib3JkZXI6IG5vbmU7XG4gIH1cbiAgXG4gIC5tcy1wYXJhbGxheC1sYXllciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcbiAgfVxuICBcbiAgLm1zLXNjcm9sbC1wYXJhbGxheC1jb250IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgXG4gIC5tcy13ayAubXMtc2Nyb2xsLXBhcmFsbGF4LWNvbnQge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC40cHgpO1xuICB9XG4gIFxuICAvKi5tcy1zY3JvbGwtcGFyYWxsYXggLm1zLXNsLXNlbGVjdGVkIC5tcy1zY3JvbGwtcGFyYWxsYXgtY29udCxcbiAgLm1zLXNjcm9sbC1wYXJhbGxheCAubXMtc2wtc2VsZWN0ZWQgLm1zLXNsaWRlLWJnY29udHt9XG4gIC5tcy1zY3JvbGwtcGFyYWxsYXggLm1zLXNsaWRlLWJnY29udHt9Ki9cbiAgXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiBPdmVybGF5ZXIgbGF5ZXJzICovXG4gIFxuICAubXMtb3ZlcmxheS1sYXllcnMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTIwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIFxuICAubXMtYWN0aW9uLWxheWVyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIFxuICAubXMtYnRuLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICBcbiAgLm1zLWJ0biB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRjb2xvcjogYmxhY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogOHB4IDE1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICBcbiAgLm1zLWRlZmF1bHQtYnRuIHtcblx0YmFja2dyb3VuZDogIzAwNzRBMjtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRjb2xvcjogI0ZGRjtcblx0Jjpob3ZlciB7XG5cdCAgYmFja2dyb3VuZC1jb2xvcjogIzAwOThENTtcblx0fVxuXHQmOmFjdGl2ZSB7XG5cdCAgdG9wOiAxcHg7XG5cdH1cbiAgfVxuICBcbiAgLm1zLWJ0bi1zIHtcblx0cGFkZGluZzogMTRweCAxN3B4O1xuXHRmb250LXNpemU6IDgwJTtcblx0bGluZS1oZWlnaHQ6IDA7XG4gIH1cbiAgXG4gIC5tcy1idG4tbSB7XG5cdHBhZGRpbmc6IDEycHggNDBweDtcbiAgfVxuICBcbiAgLm1zLWJ0bi1uIHtcblx0cGFkZGluZzogOHB4IDI1cHg7XG5cdGZvbnQtc2l6ZTogOTUlO1xuICB9XG4gIFxuICAubXMtYnRuLWwge1xuXHRwYWRkaW5nOiAxN3B4IDUwcHg7XG5cdGZvbnQtc2l6ZTogMTIwJTtcbiAgfVxuICBcbiAgLm1zLWJ0bi1ib3gge31cbiAgXG4gIC5tcy1idG4tcm91bmQge1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG4gIH1cbiAgXG4gIC5tcy1idG4tY2lyY2xlIHtcblx0Ym9yZGVyLXJhZGl1czogMTAwcHg7XG4gIH1cbiAgXG4gIC5tcy1idG4tb3V0bGluZS1ib3gge31cbiAgXG4gIC5tcy1idG4tb3V0bGluZS1yb3VuZCB7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuICBcbiAgLm1zLWJ0bi1vdXRsaW5lLWNpcmNsZSB7XG5cdGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB9XG4gIFxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgXG4gIC5tcy1sYXllci52aWRlby1ib3gge1xuXHRiYWNrZ3JvdW5kOiBibGFjaztcblx0aWZyYW1lIHtcblx0ICBwYWRkaW5nOiAwO1xuXHQgIG1hcmdpbjogMDtcblx0ICBib3JkZXI6IG5vbmU7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIHotaW5kZXg6IDExMTtcblx0fVxuICB9XG4gIFxuICAubXMtc2xpZGUge1xuXHQubXMtc2xpZGUtdnBidG4sIC5tcy12aWRlby1idG4ge1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICBjdXJzb3I6IHBvaW50ZXI7XG5cdCAgei1pbmRleDogMTEyO1xuXHR9XG5cdC5tcy1zbGlkZS12Y2J0biB7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIGN1cnNvcjogcG9pbnRlcjtcblx0ICB6LWluZGV4OiAxMTM7XG5cdH1cbiAgfVxuICBcbiAgLm1zLXNsaWRlLXZjYnRuLW1vYmlsZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAyOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0Y29sb3I6IHdoaXRlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ei1pbmRleDogMTEzO1xuXHQubXMtdmNidG4tdHh0IHtcblx0ICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHQgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuXHQgIGZvbnQtc2l6ZTogMC43NWVtO1xuXHQgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hc3RlcnNsaWRlci92aWRlby1jbG9zZS1idG4ucG5nKSBuby1yZXBlYXQgMHB4IDNweDtcblx0ICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdCAgaGVpZ2h0OiAxNXB4O1xuXHQgIGNvbG9yOiAjREJEQkRCO1xuXHQgIG1hcmdpbi10b3A6IDdweDtcblx0fVxuICB9XG4gIFxuICAubXMtd2sge1xuXHQubXMtc2xpZGUge1xuXHQgIC5tcy1zbGlkZS12Y2J0biwgLm1zLXNsaWRlLWxheWVycywgLm1zLXNsaWRlLXZwYnRuLCAubXMtc2xpZGUtdmlkZW8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWigwLjQ0cHgpO1xuXHQgIH1cblx0fVxuXHQubXMtc2xpZGUtbGluayB7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuNDRweCk7XG5cdH1cbiAgfVxuICBcbiAgLm1zLXZpZGVvLWltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuICB9XG4gIFxuICAubXMtbWFzay1mcmFtZSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgXG4gIC8qIGNvbnRyb2xzICovXG4gIFxuICAubXMtdGh1bWItbGlzdCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ji5tcy1kaXItaCB7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdH1cblx0Ji5tcy1kaXItdiB7XG5cdCAgaGVpZ2h0OiAxMDAlO1xuXHQgIHRvcDogMDtcblx0fVxuICB9XG4gIFxuICAubXMtdGh1bWJzLWNvbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgXG4gIC5tcy10aHVtYi1mcmFtZSB7XG5cdGltZyB7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdCAgaGVpZ2h0OiBhdXRvO1xuXHR9XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG9wYWNpdHk6IDAuNTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgfVxuICBcbiAgLm1zLXRodW1iLWZyYW1lLXNlbGVjdGVkIHtcblx0b3BhY2l0eTogMTtcbiAgfVxuICBcbiAgLm1zLXRhYnMge1xuXHQubXMtdGh1bWItZnJhbWUge1xuXHQgIGJhY2tncm91bmQtY29sb3I6ICNGNmY2ZjY7XG5cdCAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCB3aGl0ZTtcblx0ICBjb2xvcjogIzIyMjtcblx0ICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcblx0ICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuXHQgIG92ZXJmbG93OiB2aXNpYmxlO1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICBvcGFjaXR5OiAxO1xuXHQgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dDtcblx0fVxuXHQmLm1zLWRpci1oIC5tcy10aHVtYi1mcmFtZSB7XG5cdCAgbWFyZ2luLXRvcDogMTJweDtcblx0fVxuXHQmLm1zLWRpci12IHtcblx0ICAubXMtdGh1bWItZnJhbWUge1xuXHRcdG1hcmdpbi1sZWZ0OiAxMnB4O1xuXHQgIH1cblx0ICAmLm1zLWFsaWduLWxlZnQgLm1zLXRodW1iLWZyYW1lIHtcblx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHQgIH1cblx0fVxuXHQmLm1zLWRpci1oLm1zLWFsaWduLXRvcCB7XG5cdCAgei1pbmRleDogMTQwO1xuXHQgIC5tcy10aHVtYi1mcmFtZSB7XG5cdFx0bWFyZ2luLXRvcDogLTEycHg7XG5cdCAgfVxuXHR9XG5cdC5tcy10aHVtYiB7XG5cdCAgcGFkZGluZzogMjBweCAyMHB4O1xuXHR9XG5cdC5tcy10aHVtYi1mcmFtZS1zZWxlY3RlZCB7XG5cdCAgb3BhY2l0eTogMTtcblx0ICBiYWNrZ3JvdW5kOiAjRURFREVEO1xuXHR9XG5cdC5tcy10aHVtYi1mcmFtZSAubXMtdGh1bWItb2wge1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICBvcGFjaXR5OiAwO1xuXHQgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dDtcblx0fVxuXHQmLm1zLWRpci1oIHtcblx0ICAubXMtdGh1bWItZnJhbWUgLm1zLXRodW1iLW9sIHtcblx0XHR0b3A6IDBweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xMnB4O1xuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDEycHggI0Y2ZjZmNjtcblx0XHRib3JkZXItbGVmdDogc29saWQgMTJweCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIDEycHggdHJhbnNwYXJlbnQ7XG5cdCAgfVxuXHQgICYubXMtYWxpZ24tYm90dG9tIC5tcy10aHVtYi1mcmFtZS1zZWxlY3RlZCAubXMtdGh1bWItb2wge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dG9wOiAtMTJweDtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAjRURFREVEO1xuXHQgIH1cblx0ICAmLm1zLWFsaWduLXRvcCB7XG5cdFx0Lm1zLXRodW1iLWZyYW1lIC5tcy10aHVtYi1vbCB7XG5cdFx0ICBib3R0b206IDBweDtcblx0XHQgIHRvcDogYXV0bztcblx0XHQgIGJvcmRlci1ib3R0b206IDBweDtcblx0XHQgIGJvcmRlci10b3A6IHNvbGlkIDEycHggI0Y2ZjZmNjtcblx0XHR9XG5cdFx0Lm1zLXRodW1iLWZyYW1lLXNlbGVjdGVkIC5tcy10aHVtYi1vbCB7XG5cdFx0ICBvcGFjaXR5OiAxO1xuXHRcdCAgYm90dG9tOiAtMTJweDtcblx0XHQgIGJvcmRlci10b3AtY29sb3I6ICNFREVERUQ7XG5cdFx0fVxuXHQgIH1cblx0fVxuXHQmLm1zLWRpci12IHtcblx0ICAubXMtdGh1bWItZnJhbWUgLm1zLXRodW1iLW9sIHtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRcdGJvcmRlci1yaWdodDogc29saWQgMTJweCAjRURFREVEO1xuXHRcdGJvcmRlci10b3A6IHNvbGlkIDEycHggdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMTJweCB0cmFuc3BhcmVudDtcblx0ICB9XG5cdCAgJi5tcy1hbGlnbi1yaWdodCAubXMtdGh1bWItZnJhbWUtc2VsZWN0ZWQgLm1zLXRodW1iLW9sIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGxlZnQ6IC0xMnB4O1xuXHRcdGJvcmRlci1yaWdodC1jb2xvcjogI0VERURFRDtcblx0ICB9XG5cdCAgJi5tcy1hbGlnbi1sZWZ0IHtcblx0XHQubXMtdGh1bWItZnJhbWUgLm1zLXRodW1iLW9sIHtcblx0XHQgIGxlZnQ6IGF1dG87XG5cdFx0ICByaWdodDogMDtcblx0XHQgIGJvcmRlci1yaWdodDogMDtcblx0XHQgIGJvcmRlci1sZWZ0OiBzb2xpZCAxMnB4ICNFREVERUQ7XG5cdFx0fVxuXHRcdC5tcy10aHVtYi1mcmFtZS1zZWxlY3RlZCAubXMtdGh1bWItb2wge1xuXHRcdCAgb3BhY2l0eTogMTtcblx0XHQgIHJpZ2h0OiAtMTJweDtcblx0XHQgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRURFREVEO1xuXHRcdH1cblx0ICB9XG5cdH1cbiAgfVxuICBcbiAgLyogaG9yaXpvbnRhbCB0aHVtYmxpc3QgYXJyb3dzKi9cbiAgXG4gIC5tcy10aHVtYi1saXN0IHtcblx0Ji5tcy1kaXItaCB7XG5cdCAgLm1zLXRodW1ibGlzdC1md2Qge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMjBweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogd2hpdGU7XG5cdCAgfVxuXHQgIC5tcy10aHVtYmxpc3QtYndkIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMTI4LCAxMjgsIDEyOCwgMC41KTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGxlZnQ6IGF1dG87XG5cdCAgfVxuXHQgIC5tcy10aHVtYmxpc3QtZndkOmFmdGVyIHtcblx0XHRjb250ZW50OiBjbG9zZS1xdW90ZTtcblx0XHR0b3A6IDQzJTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ym9yZGVyOiBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuXHRcdGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMHB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJvcmRlci1yaWdodC1jb2xvcjogI0ZGRjtcblx0XHR3aWR0aDogNnB4O1xuXHRcdGhlaWdodDogMXB4O1xuXHQgIH1cblx0ICAubXMtdGh1bWJsaXN0LWJ3ZDphZnRlciB7XG5cdFx0Y29udGVudDogY2xvc2UtcXVvdGU7XG5cdFx0dG9wOiA0MyU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJvcmRlcjogc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcblx0XHRib3JkZXItd2lkdGg6IDVweCA1cHggNXB4IDBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXItcmlnaHQtY29sb3I6ICNGRkY7XG5cdFx0d2lkdGg6IDZweDtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHRib3JkZXItd2lkdGg6IDVweCAwcHggNXB4IDVweDtcblx0XHRib3JkZXItbGVmdC1jb2xvcjogI0ZGRjtcblx0XHRsZWZ0OiA3cHg7XG5cdCAgfVxuXHR9XG5cdCYubXMtZGlyLXYge1xuXHQgIC5tcy10aHVtYmxpc3QtZndkIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogd2hpdGU7XG5cdCAgfVxuXHQgIC5tcy10aHVtYmxpc3QtYndkIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHRvcDogYXV0bztcblx0ICB9XG5cdCAgLm1zLXRodW1ibGlzdC1md2Q6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuXHRcdGxlZnQ6IDQzJTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ym9yZGVyOiBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuXHRcdGJvcmRlci13aWR0aDogMHB4IDVweCA1cHggNXB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkY7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0dG9wOiA1cHg7XG5cdFx0d2lkdGg6IDA7XG5cdCAgfVxuXHQgIC5tcy10aHVtYmxpc3QtYndkOmFmdGVyIHtcblx0XHRjb250ZW50OiBjbG9zZS1xdW90ZTtcblx0XHRsZWZ0OiA0MyU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJvcmRlcjogc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcblx0XHRib3JkZXItd2lkdGg6IDBweCA1cHggNXB4IDVweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdHRvcDogNXB4O1xuXHRcdHdpZHRoOiAwO1xuXHRcdGJvcmRlci13aWR0aDogNXB4IDVweCAwcHggNXB4O1xuXHRcdGJvcmRlci10b3AtY29sb3I6ICNGRkY7XG5cdFx0dG9wOiA3cHg7XG5cdCAgfVxuXHR9XG4gIH1cbiAgXG4gIC8qIHZlcnRpY2FsIHRodW1ibGlzdCBhcnJvd3MgKi9cbiAgXG4gIC5tcy1idWxsZXQge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZsb2F0OiBsZWZ0O1xuICB9XG4gIFxuICAubXMtYnVsbGV0cyB7XG5cdCYubXMtZGlyLWgge1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICBib3R0b206IDIwcHg7XG5cdCAgcmlnaHQ6IDUwJTtcblx0ICB3aWR0aDogMTAwcHg7XG5cdH1cblx0Ji5tcy1kaXItdiB7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIHRvcDogNTAlO1xuXHQgIC5tcy1idWxsZXQge1xuXHRcdGZsb2F0OiBub25lO1xuXHQgIH1cblx0fVxuXHQmLm1zLWRpci1oIC5tcy1idWxsZXRzLWNvdW50IHtcblx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgcmlnaHQ6IC01MCU7XG5cdH1cbiAgfVxuICBcbiAgLm1zLXNiYXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCYubXMtZGlyLWgge1xuXHQgIGxlZnQ6IDEwcHg7XG5cdCAgcmlnaHQ6IDEwcHg7XG5cdCAgdG9wOiA1cHg7XG5cdH1cblx0Ji5tcy1kaXItdiB7XG5cdCAgdG9wOiAxMHB4O1xuXHQgIGJvdHRvbTogMTBweDtcblx0ICByaWdodDogNXB4O1xuXHR9XG5cdC5tcy1iYXIge1xuXHQgIGhlaWdodDogNHB4O1xuXHQgIGJhY2tncm91bmQ6ICMzMzM7XG5cdCAgYm9yZGVyLXJhZGl1czogNHB4O1xuXHR9XG5cdCYubXMtZGlyLXYgLm1zLWJhciB7XG5cdCAgd2lkdGg6IDRweDtcblx0fVxuXHQubXMtYmFyIHtcblx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcblx0fVxuICB9XG4gIFxuICAubXMtdGltZXJiYXIge1xuXHR3aWR0aDogMTAwJTtcblx0Ym90dG9tOiAwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICBcbiAgLm1zLWN0aW1lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAzMHB4O1xuXHRsZWZ0OiAzMHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgXG4gIC5tcy1jdGltZXItYnVsbGV0IHt9XG4gIFxuICAubXMtdGltZS1iYXIge1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAxMjBtcyBsaW5lYXI7XG4gIH1cbiAgXG4gIC5tcy1pZTcgLm1zLXRvb2x0aXAtYXJyb3cge1xuXHRoZWlnaHQ6IDBweDtcbiAgfVxuICBcbiAgLm1zLXNsaWRlLWluZm8ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCYubXMtZGlyLXYge1xuXHQgIHRvcDogMDtcblx0fVxuXHQmLm1zLWRpci1oIHtcblx0ICB3aWR0aDogMTAwJTtcblx0fVxuICB9XG4gIFxuICBAa2V5ZnJhbWVzIHBvaW50LWFuaW0ge1xuXHQwJSB7XG5cdCAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuXHQgIG9wYWNpdHk6IDE7XG5cdH1cbiAgXG5cdDEwMCUge1xuXHQgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcblx0ICBvcGFjaXR5OiAwO1xuXHR9XG4gIH1cbiAgXG4gIFxuICBALXdlYmtpdC1rZXlmcmFtZXMgcG9pbnQtYW5pbSB7XG5cdDAlIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcblx0ICBvcGFjaXR5OiAxO1xuXHR9XG4gIFxuXHQxMDAlIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcblx0ICBvcGFjaXR5OiAwO1xuXHR9XG4gIH1cbiAgXG4gIFxuICAvKiBJbiBBbmRyb2lkIGJyb3dzZXIsIHVzaW5nIGNzcyBhbmltYXRpb25zIG92ZXIgc2xpZGVyIGNhdXNlcyBzb21lIGNyYXNoZXMgKi9cbiAgXG4gIC5tcy1hbmRyb2lkIC5tcy10b29sdGlwLXBvaW50IC5tcy1wb2ludC1ib3JkZXIge1xuXHRhbmltYXRpb246IG5vbmU7XG5cdC1tb3otYW5pbWF0aW9uOiBub25lO1xuXHQtd2Via2l0LWFuaW1hdGlvbjogbm9uZTtcblx0LW8tYW5pbWF0aW9uOiBub25lO1xuICB9XG5cblxuXG4vKipcbiAqICBNYXN0ZXIgU2xpZGVyXG4gKiAgRGVmYXVsdCBTa2luXG4gKi9cblxuXG5cbiAubXMtc2tpbi1kZWZhdWx0IHtcblx0Lm1zLXNsaWRlIC5tcy1zbGlkZS12cGJ0biwgLm1zLXZpZGVvLWJ0biB7XG5cdCAgd2lkdGg6IDUwcHg7XG5cdCAgaGVpZ2h0OiA1MXB4O1xuXHQgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFzdGVyc2xpZGVyL2xpZ2h0LXNraW4tMS5wbmcpIG5vLXJlcGVhdCAtMTRweCAtMTUwcHg7XG5cdCAgdG9wOiA1MCU7XG5cdCAgbGVmdDogNTAlO1xuXHQgIG1hcmdpbjogLTI1cHggMCAwIC0yNXB4O1xuXHR9XG5cdC5tcy1zbGlkZSAubXMtc2xpZGUtdmNidG4ge1xuXHQgIHdpZHRoOiAzMHB4O1xuXHQgIGhlaWdodDogMzBweDtcblx0ICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hc3RlcnNsaWRlci9saWdodC1za2luLTEucG5nKSBuby1yZXBlYXQgLTI0cHggLTI4cHg7XG5cdCAgdG9wOiAxOHB4O1xuXHQgIHJpZ2h0OiAzMHB4O1xuXHR9XG5cdC5tcy1idWxsZXQge1xuXHRcdHdpZHRoOiAxMHB4O1xuXHRcdGhlaWdodDogMTBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hc3RlcnNsaWRlci9saWdodC1za2luLTEucG5nKSBuby1yZXBlYXQ7XG5cdFx0bWFyZ2luOiA0cHg7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTM0cHggLTExN3B4O1xuXHR9XG5cdC5tcy1idWxsZXQtc2VsZWN0ZWQge1xuXHQgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNHB4IC04NHB4O1xuXHR9XG5cdC5tcy10aW1lLWJhciB7XG5cdCAgaGVpZ2h0OiAzcHg7XG5cdCAgYmFja2dyb3VuZDogI0ZGRkZGRjtcblx0ICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjQxKTtcblx0fVxuXHQubXMtdG9vbHRpcCB7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIHotaW5kZXg6IDIxMDtcblx0ICBjdXJzb3I6IGF1dG87XG5cdH1cblx0Lm1zLXRvb2x0aXAtdG9wIC5tcy10b29sdGlwLWFycm93LCAubXMtdG9vbHRpcC1ib3R0b20gLm1zLXRvb2x0aXAtYXJyb3cge1xuXHQgIGJvcmRlci1sZWZ0OiBzb2xpZCAxMHB4IHRyYW5zcGFyZW50O1xuXHQgIGJvcmRlci1yaWdodDogc29saWQgMTBweCB0cmFuc3BhcmVudDtcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgbGVmdDogNTAlO1xuXHQgIG1hcmdpbi1sZWZ0OiAtMTBweDtcblx0fVxuXHQubXMtdG9vbHRpcC10b3AgLm1zLXRvb2x0aXAtYXJyb3cge1xuXHQgIGJvcmRlci10b3A6IHNvbGlkIDEwcHg7XG5cdCAgYm9yZGVyLXRvcC1jb2xvcjogc2lsdmVyO1xuXHQgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC44OCk7XG5cdCAgYm90dG9tOiAtMTBweDtcblx0fVxuXHQubXMtdG9vbHRpcC1ib3R0b20gLm1zLXRvb2x0aXAtYXJyb3cge1xuXHQgIGJvcmRlci1ib3R0b206IHNvbGlkIDEwcHg7XG5cdCAgYm9yZGVyLWJvdHRvbS1jb2xvcjogc2lsdmVyO1xuXHQgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC44OCk7XG5cdCAgdG9wOiAtMTBweDtcblx0fVxuXHQubXMtdG9vbHRpcC1yaWdodCAubXMtdG9vbHRpcC1hcnJvdywgLm1zLXRvb2x0aXAtbGVmdCAubXMtdG9vbHRpcC1hcnJvdyB7XG5cdCAgYm9yZGVyLXRvcDogc29saWQgMTBweCB0cmFuc3BhcmVudDtcblx0ICBib3JkZXItYm90dG9tOiBzb2xpZCAxMHB4IHRyYW5zcGFyZW50O1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICB0b3A6IDUwJTtcblx0ICBtYXJnaW4tdG9wOiAtMTBweDtcblx0fVxuXHQubXMtdG9vbHRpcC1yaWdodCAubXMtdG9vbHRpcC1hcnJvdyB7XG5cdCAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxMHB4O1xuXHQgIGJvcmRlci1yaWdodC1jb2xvcjogc2lsdmVyO1xuXHQgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjg4KTtcblx0ICBsZWZ0OiAtMTBweDtcblx0fVxuXHQubXMtdG9vbHRpcC1sZWZ0IC5tcy10b29sdGlwLWFycm93IHtcblx0ICBib3JkZXItbGVmdDogc29saWQgMTBweDtcblx0ICBib3JkZXItbGVmdC1jb2xvcjogc2lsdmVyO1xuXHQgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuODgpO1xuXHQgIHJpZ2h0OiAtMTBweDtcblx0fVxuXHQubXMtdG9vbHRpcC1wb2ludCB7XG5cdCAgY3Vyc29yOiBwb2ludGVyO1xuXHQgIC5tcy1wb2ludC1jZW50ZXIge1xuXHRcdHdpZHRoOiAxMnB4O1xuXHRcdGhlaWdodDogMTJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxNXB4O1xuXHRcdGJvcmRlcjogc29saWQgMnB4ICNCQkI7XG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0bWFyZ2luOiAtOHB4IDAgMCAtOHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxMDU7XG5cdCAgfVxuXHQgIC5tcy1wb2ludC1ib3JkZXIge1xuXHRcdHdpZHRoOiAyMnB4O1xuXHRcdGhlaWdodDogMjJweDtcblx0XHRiYWNrZ3JvdW5kOiBibGFjaztcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzYpO1xuXHRcdG1hcmdpbjogLTExcHggMCAwIC0xMXB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAxNXB4O1xuXHRcdGFuaW1hdGlvbjogcG9pbnQtYW5pbSAxLjVzIGluZmluaXRlO1xuXHQgIH1cblx0fVxuXHQubXMtdG9vbHRpcCB7XG5cdCAgbWF4LXdpZHRoOiAyMDBweDtcblx0fVxuXHQubXMtdG9vbHRpcC1jb250IHtcblx0ICBwYWRkaW5nOiAxMHB4O1xuXHQgIGJhY2tncm91bmQ6IHNpbHZlcjtcblx0ICBiYWNrZ3JvdW5kOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuODgpO1xuXHQgIHRleHQtc2hhZG93OiAwIDFweCAwcHggd2hpdGU7XG5cdCAgbWFyZ2luLWxlZnQ6IC0xcHg7XG5cdH1cbiAgfVxuICBcbiAgLyogY29udHJvbHMgKi9cbiAgXG4gIC8qIHJldGluYSAqL1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMiAvIDEpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuXHQubXMtc2tpbi1kZWZhdWx0IHtcblx0ICAubXMtc2xpZGUgLm1zLXNsaWRlLXZwYnRuLCAubXMtdmlkZW8tYnRuLCAubXMtc2xpZGUgLm1zLXNsaWRlLXZjYnRuLCAubXMtbmF2LW5leHQsIC5tcy1uYXYtcHJldiwgLm1zLWJ1bGxldCB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tYXN0ZXJzbGlkZXIvbGlnaHQtc2tpbi0xLXJldGluYS5wbmcpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTUycHggMjI1cHg7XG5cdCAgfVxuXHR9XG4gIH0iLCIudWktZGF0ZXBpY2tlciB7XG4gICAgd2lkdGg6IDE3ZW07XG4gICAgcGFkZGluZzogLjJlbSAuMmVtIDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogLjJlbSAwO1xuICAgIH1cbiAgICAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgaGVpZ2h0OiAxLjhlbTtcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gICAgICBsZWZ0OiAycHg7XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgICAgcmlnaHQ6IDJweDtcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnVpLWRhdGVwaWNrZXItcHJldjpob3ZlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldjpiZWZvcmUgLCAudWktZGF0ZXBpY2tlci1uZXh0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMXB4IDFweDtcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCI8XCI7XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMi4zZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAxcHggMDtcbiAgICAgIH1cbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgICYudWktZGF0ZXBpY2tlci1tb250aCwgJi51aS1kYXRlcGlja2VyLXllYXIge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgfVxuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBtYXJnaW46IDAgMCAuNGVtO1xuICAgIH1cbiAgICB0aCB7XG4gICAgICBwYWRkaW5nOiAuN2VtIC4zZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgc3BhbiwgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAuMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBtYXJnaW46IC43ZW0gMCAwIDA7XG4gICAgICBwYWRkaW5nOiAwIC4yZW07XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBidXR0b24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogLjVlbSAuMmVtIC40ZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAmLnVpLWRhdGVwaWNrZXItY3VycmVudCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0iLCIjZmxvYXRpbmdDaXJjbGVzR3tcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHdpZHRoOjEyNXB4O1xuXHRoZWlnaHQ6MTI1cHg7XG5cdG1hcmdpbjphdXRvO1xuXHR0cmFuc2Zvcm06c2NhbGUoMC42KTtcblx0XHQtby10cmFuc2Zvcm06c2NhbGUoMC42KTtcblx0XHQtbXMtdHJhbnNmb3JtOnNjYWxlKDAuNik7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC42KTtcblx0XHQtbW96LXRyYW5zZm9ybTpzY2FsZSgwLjYpO1xufVxuXG4uZl9jaXJjbGVHe1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO1xuXHRoZWlnaHQ6MjJweDtcblx0d2lkdGg6MjJweDtcblx0Ym9yZGVyLXJhZGl1czoxMnB4O1xuXHRcdC1vLWJvcmRlci1yYWRpdXM6MTJweDtcblx0XHQtbXMtYm9yZGVyLXJhZGl1czoxMnB4O1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czoxMnB4O1xuXHRcdC1tb3otYm9yZGVyLXJhZGl1czoxMnB4O1xuXHRhbmltYXRpb24tbmFtZTpmX2ZhZGVHO1xuXHRcdC1vLWFuaW1hdGlvbi1uYW1lOmZfZmFkZUc7XG5cdFx0LW1zLWFuaW1hdGlvbi1uYW1lOmZfZmFkZUc7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmX2ZhZGVHO1xuXHRcdC1tb3otYW5pbWF0aW9uLW5hbWU6Zl9mYWRlRztcblx0YW5pbWF0aW9uLWR1cmF0aW9uOjEuMnM7XG5cdFx0LW8tYW5pbWF0aW9uLWR1cmF0aW9uOjEuMnM7XG5cdFx0LW1zLWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjEuMnM7XG5cdFx0LW1vei1hbmltYXRpb24tZHVyYXRpb246MS4ycztcblx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcblx0XHQtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xuXHRcdC1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcblx0XHQtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7XG5cdGFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsO1xuXHRcdC1vLWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsO1xuXHRcdC1tcy1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsO1xuXHRcdC1tb3otYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7XG59XG5cbiNmcm90YXRlR18wMXtcblx0bGVmdDowO1xuXHR0b3A6NTFweDtcblx0YW5pbWF0aW9uLWRlbGF5OjAuNDVzO1xuXHRcdC1vLWFuaW1hdGlvbi1kZWxheTowLjQ1cztcblx0XHQtbXMtYW5pbWF0aW9uLWRlbGF5OjAuNDVzO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNDVzO1xuXHRcdC1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNDVzO1xufVxuXG4jZnJvdGF0ZUdfMDJ7XG5cdGxlZnQ6MTVweDtcblx0dG9wOjE1cHg7XG5cdGFuaW1hdGlvbi1kZWxheTowLjZzO1xuXHRcdC1vLWFuaW1hdGlvbi1kZWxheTowLjZzO1xuXHRcdC1tcy1hbmltYXRpb24tZGVsYXk6MC42cztcblx0XHQtd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjZzO1xuXHRcdC1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNnM7XG59XG5cbiNmcm90YXRlR18wM3tcblx0bGVmdDo1MXB4O1xuXHR0b3A6MDtcblx0YW5pbWF0aW9uLWRlbGF5OjAuNzVzO1xuXHRcdC1vLWFuaW1hdGlvbi1kZWxheTowLjc1cztcblx0XHQtbXMtYW5pbWF0aW9uLWRlbGF5OjAuNzVzO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNzVzO1xuXHRcdC1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNzVzO1xufVxuXG4jZnJvdGF0ZUdfMDR7XG5cdHJpZ2h0OjE1cHg7XG5cdHRvcDoxNXB4O1xuXHRhbmltYXRpb24tZGVsYXk6MC45cztcblx0XHQtby1hbmltYXRpb24tZGVsYXk6MC45cztcblx0XHQtbXMtYW5pbWF0aW9uLWRlbGF5OjAuOXM7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MC45cztcblx0XHQtbW96LWFuaW1hdGlvbi1kZWxheTowLjlzO1xufVxuXG4jZnJvdGF0ZUdfMDV7XG5cdHJpZ2h0OjA7XG5cdHRvcDo1MXB4O1xuXHRhbmltYXRpb24tZGVsYXk6MS4wNXM7XG5cdFx0LW8tYW5pbWF0aW9uLWRlbGF5OjEuMDVzO1xuXHRcdC1tcy1hbmltYXRpb24tZGVsYXk6MS4wNXM7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MS4wNXM7XG5cdFx0LW1vei1hbmltYXRpb24tZGVsYXk6MS4wNXM7XG59XG5cbiNmcm90YXRlR18wNntcblx0cmlnaHQ6MTVweDtcblx0Ym90dG9tOjE1cHg7XG5cdGFuaW1hdGlvbi1kZWxheToxLjJzO1xuXHRcdC1vLWFuaW1hdGlvbi1kZWxheToxLjJzO1xuXHRcdC1tcy1hbmltYXRpb24tZGVsYXk6MS4ycztcblx0XHQtd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjJzO1xuXHRcdC1tb3otYW5pbWF0aW9uLWRlbGF5OjEuMnM7XG59XG5cbiNmcm90YXRlR18wN3tcblx0bGVmdDo1MXB4O1xuXHRib3R0b206MDtcblx0YW5pbWF0aW9uLWRlbGF5OjEuMzVzO1xuXHRcdC1vLWFuaW1hdGlvbi1kZWxheToxLjM1cztcblx0XHQtbXMtYW5pbWF0aW9uLWRlbGF5OjEuMzVzO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuMzVzO1xuXHRcdC1tb3otYW5pbWF0aW9uLWRlbGF5OjEuMzVzO1xufVxuXG4jZnJvdGF0ZUdfMDh7XG5cdGxlZnQ6MTVweDtcblx0Ym90dG9tOjE1cHg7XG5cdGFuaW1hdGlvbi1kZWxheToxLjVzO1xuXHRcdC1vLWFuaW1hdGlvbi1kZWxheToxLjVzO1xuXHRcdC1tcy1hbmltYXRpb24tZGVsYXk6MS41cztcblx0XHQtd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjVzO1xuXHRcdC1tb3otYW5pbWF0aW9uLWRlbGF5OjEuNXM7XG59XG5cblxuXG5Aa2V5ZnJhbWVzIGZfZmFkZUd7XG5cdDAle1xuXHRcdGJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTtcblx0fVxuXG5cdDEwMCV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgZl9mYWRlR3tcblx0MCV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApO1xuXHR9XG5cblx0MTAwJXtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7XG5cdH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgZl9mYWRlR3tcblx0MCV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApO1xuXHR9XG5cblx0MTAwJXtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7XG5cdH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZfZmFkZUd7XG5cdDAle1xuXHRcdGJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTtcblx0fVxuXG5cdDEwMCV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmX2ZhZGVHe1xuXHQwJXtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYigwLDAsMCk7XG5cdH1cblxuXHQxMDAle1xuXHRcdGJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtcblx0fVxufVxuXG4iLCIvLyBHUklEXG4ubWFpbi1ncmlkIHsgLy8gVGhlIHdob2xlIHRoaW5nXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgPiAqIHtcbiAgICAgICAgZmxleDogMSAxIDAlO1xuICAgIH1cbn1cbi8vIFBMQUNFSE9MREVSXG4lZ2xvYmFsd2lkdGgge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG59XG4lc21hbGxlcndpZHRoIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3MTIpO1xufVxuJXNtYWxsZXN0d2lkdGgge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDYwMCk7XG59XG4vLyBERUZBVUxUU1xuKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbipbc3R5bGUqPVwidGV4dC1kZWNvcmF0aW9uXCJdLFxudSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAvLyY6Zm9jdXMgeyBvdXRsaW5lOiAwO31cbn1cbmgxIHtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM4KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge2xpbmUtaGVpZ2h0OiAxLjE7fVxufVxuaDIge1xuICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDM3KTsgfVxuICAgIH1cbn1cbmgzIHtcbiAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgc3Ryb25nIHtcbiAgICAgICAgQGV4dGVuZCBoMztcbiAgICAgICAgLy9mb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDI5KTsgfVxuICAgIH1cbn1cbmg0IHtsaW5lLWhlaWdodDogcmVtLWNhbGMoMzZweCk7fVxuaDUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7IGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7fVxufVxuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JsYWNrJztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyM3B4KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjdweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgIH1cbn1cbnAsYixzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxufVxuYixzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6XCJsYXRvYm9sZFwiO1xufVxuLmlubmVyLXdyYXBwZXIgeyBAZXh0ZW5kICVnbG9iYWx3aWR0aDsgfVxuXG4uaW50cm8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwLHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpOyB9XG4gICAgfVxufVxuLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICYuY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuLmJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAvL2xldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygyKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbG9yO1xuICAgIH1cbiAgICAmLndoaXRlaG92ZXIge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgICYudGlueSB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMSk7XG4gICAgfVxuICAgICYubGFyZ2Uge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU2KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygyKTtcbiAgICB9XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgICYucGluayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmFja3Rvb3ZlcnZpZXcge1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjgpO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNWVtO1xuICAgICB9XG59XG5cblxuLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OlwibGF0b2JvbGRcIjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbi5lcnJvcjQwNCB7XG4gICAgLm1haW4tZ3JpZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgfVxuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICB9XG59XG5cbi8vIEtPUEZCSUxEXG4ua29wZmJpbGQtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDEyMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgaGVpZ2h0OiByZW0tY2FsYygyMjApO31cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGhlaWdodDogcmVtLWNhbGMoMjgwKTt9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgaGVpZ2h0OiByZW0tY2FsYygzMjApO31cbiAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBoZWlnaHQ6IHJlbS1jYWxjKDQ4MCk7fVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMXZ3O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9oZWFkZXJzaGFwZV9sYXJnZS5zdmcnKSBib3R0b20gMnB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTEwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC00cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuXG5cbiNtYXN0ZXJzbGlkZXItY29udHJvbHMge1xuICAgIEBleHRlbmQgJWdsb2JhbHdpZHRoO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIC5tcy1zbGlkZSB7IG92ZXJmbG93OiBoaWRkZW47fVxuICAgIC5tcy1uYXYtbmV4dCwgLm1zLW5hdi1wcmV2IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1saWdodCBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAxOCAxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTIuMjUzIDguNzQ5QzEuMjg0IDguNzQ5LjUgNy45OC41IDcuMDIzYzAtLjk1My43ODYtMS43MjYgMS43NTMtMS43MjZoOS42MDdMOS44NjMgMy4yNDNjLS42NjYtLjcyMS0uNjUtMS42NC4wMTktMi4yOC42NDUtLjYyMyAxLjczMy0uNjExIDIuMzY2LS4wMDEuMTkuMTgyIDEuMDQ1IDEuMDU3IDIuMzcyIDIuNDI0LjUzNi41NTIgMS4wOTUgMS4xMjggMS42NTMgMS43MDVsLjU0LjU1Ny4xOTMuMmMuMzIuMzA5LjQ5NS43MjIuNDk1IDEuMTUyIDAgLjQyOC0uMTc1Ljg0Mi0uNDgzIDEuMTRsLS4yMDUuMjExLS41NC41NTctMS42NCAxLjY5MWEyNTMuODM2IDI1My44MzYgMCAwIDEtMi4zODQgMi40MzhjLS42MzQuNjExLTEuNzIyLjYyNC0yLjM2NS4wMDEtLjY2OS0uNjQyLS42ODYtMS41NjEtLjAxMS0yLjI5NGwxLjk0Mi0xLjk5NWgtOS41NicgZmlsbD0nJTIzRkZGRkZGJyBmaWxsLXJ1bGU9J25vbnplcm8nLyUzRSUzQy9zdmclM0VcIik7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHotaW5kZXg6IDExMDtcblx0XHR3aWR0aDogcmVtLWNhbGMoNDApO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoNDApO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29sb3I7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg1Nik7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg1Nik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1zLW5hdi1uZXh0IHtvcmRlcjogMjt9XG5cdC5tcy1uYXYtcHJldiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIG9yZGVyOiAxO1xuXHR9XG59XG5cbi5iaWctdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncGVybWFuZW50X21hcmtlcnJlZ3VsYXInO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAvL3doaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgICAgIHRleHQtc2hhZG93OiByZW0tY2FsYygxMCA1IDIwKSByZ2JhKCRibGFjaywwLjc1KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDEwMCk7IH1cbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncmFsZXdheWJsYWNrJztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IHJlbS1jYWxjKDEwIDUgMjApIHJnYmEoJGJsYWNrLDAuNzUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtmb250LXNpemU6IHJlbS1jYWxjKDE0KTt9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1vdmVJbWFnZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApOyB9XG4gICAgMjUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KSB0cmFuc2xhdGUoMTVweCw1cHgpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNXB4LDE1cHgpOyB9XG4gICAgNzUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZSgxMHB4LDEwcHgpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7IH1cbn1cblxuLyoqKioqKioqKioqIEhFQURFUiAqKioqKioqKioqKioqKi9cbi5zaXRlLWhlYWRlciB7XG4gICAgQGV4dGVuZCAlZ2xvYmFsd2lkdGg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTM1KTtcbiAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7IHBhZGRpbmc6IDA7fVxuICAgID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbiAgICAuYnV0dG9ubG9nby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYSB7IG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2MCk7fVxuICAgICAgICAub3N0YmVsZ2llbmxvZ28geyBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTApO31cbiAgICB9XG5cbn1cblxuLyoqKioqKioqKioqKioqKiogSEVBREVSIFNFQVJDSEJBUiAqKioqKioqKioqKiovXG5cbi5oZWFkZXItc2VhcmNoZm9ybSB7XG4gICAgLnNlYXJjaGZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAmW3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywwLjA1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0qMztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0kZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7ZGlzcGxheTogbm9uZTt9XG4gICAgfVxuXG4gICAgXG59XG5cbi8qKioqKioqKioqKioqKioqIENPTlRFTlQgKioqKioqKioqKioqKioqKiovXG5cbi8vIEhFQURFUlxuLnJlc2V0LW1hcmdpbnMge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtO1xuICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bSozO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0qMztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59XG4uZW50cnktdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OlwibGF0b2JsYWNrXCI7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCAwIDIwIDApO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBtYXJnaW46IHJlbS1jYWxjKDYwIDAgNTAgMCk7ICB9XG59XG4uc2luZ2xlLXBvc3Qge1xuICAgIC5lbnRyeS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHttYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjt9XG4gICAgfVxufVxuLmVudHJ5LWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtKjM7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSozO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgICYuaXMtaXNvdG9wZSB7IHBhZGRpbmc6IDA7fVxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIge1xuICAgICAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMCAwIDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDY1IDAgNDAgMCk7IH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS8yIDAgJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6bm90KC5hY2NvcmRpb24taXRlbSk6bm90KC5nZmllbGQpOm5vdChbY2xhc3MqPVwiZ2Nob2ljZVwiXSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMgMCAzIDMyKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgLy8gPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTkVXUyBERUZBVUxUUyBCT1RIIEZST05UIEFORCBBUkNISVZFIC8gQkxPRyBIT01FXG4ubmV3cy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7ICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07IH1cbiAgICB9XG4gICAgLm5ld3MtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7IHBhZGRpbmctdG9wOiAwO31cbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMTUpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5ld3MtaW1nLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uZXdzLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIGg1IGEge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyIHtjb2xvcjogJHRlcnRpYXJ5LWNvbG9yO31cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgZm9udC1zaXplOiByZW0tY2FsYygxNik7IH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG4gICAgLm5ld3MtYXJjaGl2ZS1saW5rLXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKXsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLm5ld3MtYXJjaGl2ZS1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxufVxuLm5ld3MtbWV0YSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMiAwICRncmlkLW1lZGl1bS8yIDA7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7IG1hcmdpbjogMDt9XG59XG4vKioqKioqKioqKioqKioqKiBCTE9HIEhPTUUgT05MWSAvIEFSQ0hJVkUgKioqKioqKioqKioqKioqKiovXG4uYmxvZyB7XG4gICAgLm5ld3Mtd3JhcHBlciB7XG4gICAgICAgIEBleHRlbmQgJWdsb2JhbHdpZHRoO1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpeyB3aWR0aDogMjUlOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ucGFnZS1udW1iZXJzIHtcbiAgICBAZXh0ZW5kICVnbG9iYWx3aWR0aDtcbiAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHsgcGFkZGluZzogMDt9XG4gICAgbGkgPiAqIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4xNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG5cbiAgICB9XG4gICAgYTpob3ZlcixcbiAgICAuY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqIEZMRVhJQkxFIENPTlRFTlQgKioqKioqKioqKioqKioqKiovXG4uZmxleGlibGUtY29udGVudCB7XG4gICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xuICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1zbWFsbCo0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgIH1cbiAgICAmLmhhbGYge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtc21hbGwqMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnRoaXJkIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLXNtYWxsO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwO31cbn1cbi8vIEFCU1TDhE5ERSBBVVNOQUhNRU4gOihcbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgKyAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbn1cblxuLy8gRkxFWElCTEUgWldJU0NIRU5USVRFTFxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciB7XG4gICAgQGV4dGVuZCAlc21hbGxlc3R3aWR0aDtcbn1cbi8vIEZMRVhJQkxFIEVESVRPUlxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO1xuICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTpcImxhdG9ib2xkXCI7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICR0ZXJ0aWFyeS1jb2xvcjt9XG4gICAgfVxuICAgIHAge1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7fVxuICAgIH1cbn1cblxuXG4vLyBGTEVYSUJMRSBMSU5LU1xuLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXN0d2lkdGg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGEge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIDIgU1BBTFRFUlxuLmZsZXhpYmxlLTJzcGFsdGVyLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXN0d2lkdGg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgLmZsZXhpYmxlLTJzcGFsdGVyLXNwYWx0ZTEgeyBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0vMjsgfVxuICAgICAgICAuZmxleGlibGUtMnNwYWx0ZXItc3BhbHRlMiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtLzI7IH1cbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIFRSQUZGSUNMSUdIVFNcbi5mbGV4aWJsZS10cmFmZmljbGlnaHQtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmLmdyZWVuLWxpZ2h0IHsgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyZWVuLWxpZ2h0LC4xKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmVlbi1saWdodDsgXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JlZW4tbGlnaHQ7IFxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGgzIHsgY29sb3I6ICRncmVlbi1saWdodDt9XG4gICAgfVxuICAgICYub3JhbmdlLWxpZ2h0IHsgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG9yYW5nZS1saWdodCwuMDIpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9yYW5nZS1saWdodDsgXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkb3JhbmdlLWxpZ2h0OyBcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBoMyB7IGNvbG9yOiAkb3JhbmdlLWxpZ2h0O31cbiAgICB9XG4gICAgJi5yZWQtbGlnaHQgeyBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcmVkLWxpZ2h0LC4xKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRyZWQtbGlnaHQ7IFxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHJlZC1saWdodDsgXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgaDMgeyBjb2xvcjogJHJlZC1saWdodDt9XG4gICAgfVxuXG4gICAgaDMgeyBcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzM7XG4gICAgICAgIFxuICAgIH1cbiAgICBpbWcgeyBib3gtc2hhZG93OiAwcHggMCAyMHB4IDhweCByZ2JhKCR3aGl0ZSwuMyk7IH0gIFxuICAgIC50cmFmZmljbGlnaHQtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIENIaUxEUEFHRVMgVU5URVJTRUlURU5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIge1xuICAgIGFydGljbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyIDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMTUpO1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMTUpOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIH1cbiAgICAudGh1bWIge1xuICAgICAgICBpbWcgeyBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1czsgfVxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDAgJGdyaWQtbWVkaXVtIDAgO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgJGdyaWQtbWVkaXVtKjIgMCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbm5lci1jYXJkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5kZXNjIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIEdBTExFUlkgLyBJTUFHRSBCVVRUT05TXG4uZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmLmNvdW50LTEgeyAvLyAxIEltZ1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICAmLmdyb3cgeyBmbGV4LWdyb3c6IDE7fVxuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLypkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsqL1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkd2hpdGUsMC41KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkdGVydGlhcnktY29sb3IsMC44KTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyOmFmdGVyLFxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7IG9wYWNpdHk6IDE7fVxuICAgIH1cbn1cblxuLy8gQW5zcHJlY2hwYXJ0bmVyIC8gVGVhbVxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO1xuICAgIC5hcC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0gMDtcbiAgICB9XG4gICAgLmFwLXRodW1iIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgIGltZyB7IGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO31cbiAgICB9XG4gICAgLmFwLWZ1bmt0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAuYXAtdGVsZWZvbixcbiAgICAuYXAtZmF4IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7aGVpZ2h0OiByZW0tY2FsYygyMik7fVxuICAgIH1cbn1cblxuLy8gRkxFWElCTEUgRE9XTkxPQURTXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXN0d2lkdGg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzdmcge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIHRvcDogJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvL3BhZGRpbmc6ICRncmlkLW1lZGl1bSoxLjI1ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtKjMuNzU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDEuMjByZW0gMXJlbSAxcmVtIDMuNzVyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAzLjc1cmVtO1xuICAgICAgICB9XG4gICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4xNSk7fVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgJixoNiB7IGNvbG9yOiAkd2hpdGU7IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIElORk9CT1hcbi5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXN0d2lkdGg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAuZGVzYyBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS8yO1xuICAgIH1cbn1cblxuLy8gRkxFWElCTEUgQUNDT1JESU9OIEFLS09SREVPTlxuLy8uZmxleGlibGUtYWNjb3JkaW9uLXdyYXBwZXIge1xuLmZsZXhpYmxlLWFjY29yZGlvbi13cmFwcGVyIHtAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO31cbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4xNSk7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4xNSk7IH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICBwIHsgZm9udC1zaXplOiByZW0tY2FsYygxNSk7IH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSo0O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAkc2l6ZV9weDogMjJweDtcbiAgICAgICAgICAgICRzaXplOiByZW0tY2FsYygkc2l6ZV9weCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kc2l6ZS8yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRzaXplX3B4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMXB4IDFweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgICAgICAgICAgaDYgeyBjb2xvcjogJHNlY29uZGFyeS1saWdodDsgfVxuICAgICAgICB9XG4gICAgfVxuLy99XG5cbi8vIEZFWElCTEUgVEFCTEVcbi5mbGV4aWJsZS10YWJsZS13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO1xuXG4gICAgKiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7Zm9udC1zaXplOiByZW0tY2FsYygxNik7fVxuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYyg0NTApO1xuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICAgIHRoOmZpcnN0LW9mLXR5cGUgeyBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAwIDAgMDsgfVxuICAgICAgICB0aDpsYXN0LW9mLXR5cGUgeyBib3JkZXItcmFkaXVzOiAwICRnbG9iYWwtcmFkaXVzIDAgMDsgfVxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC4wNSk7fVxuICAgICAgICB0cjpudGgtY2hpbGQob2RkKSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC4xMCk7fVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0aGVhZCB0aCxcbiAgICAgICAgdGJvZHkgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEZPUk1TXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMDUpO1xuICAgIHBhZGRpbmc6ICRncmlkLXNtYWxsKjI7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyOyB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBleHRlbmQgaDU7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICB9XG4gICAgLmdmaWVsZCA+IGxhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICAgIH1cbiAgICBzZWxlY3QsaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0OCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmdmaWVsZF9yZXF1aXJlZCB7IGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTt9XG4gICAgLmdpbnB1dF9jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4O31cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxufVxuKi9cbi51aS1kYXRlcGlja2VyIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCAxMHB4IDVweCByZ2JhKCRibGFjaywwLjEpO1xuXG59XG4udWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLy8gRVhUUkEgQk9YRU5cbi5leHRyYWJveGVuLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJWdsb2JhbHdpZHRoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgIHBhZGRpbmc6IDAgJGdyaWQtbWVkaXVtLzIgJGdyaWQtbWVkaXVtKjMgJGdyaWQtbWVkaXVtLzI7XG4gICAgLmV4dHJhYm94ZW4taXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAuYnV0dG9uIHsgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4xNSk7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG5cbiAgICB9XG59XG4vKioqKioqKioqKioqKioqKioqIEFLVElWSVTDhFRFTiBBUkNISVYgSVNPVE9QRSAqKioqKioqKioqKiovXG5cbkBrZXlmcmFtZXMgcm90YXRpbmcge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgxZGVnKTsgfVxuICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuLmNzLWdyaWQtb3V0ZXJ3cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMDUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0qMzsgfVxuICAgICYubG9hZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGluZyAxcyBjdWJpYy1iZXppZXIoMC40MjAsIDAuMDAwLCAwLjU4MCwgMS4wMDApIGluZmluaXRlO1xuICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogMjUwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7dG9wOiA1MHZoO31cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kc2l6ZS8yO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kc2l6ZS8yO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAvL2JvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDYyKTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcm90YXRpbmcgMS4yNXMgY3ViaWMtYmV6aWVyKDAuNDIwLCAwLjAwMCwgMC41ODAsIDEuMDAwKSBpbmZpbml0ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kc2l6ZS8yO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kc2l6ZS8yO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAuZWxlbWVudC1pdGVtIHsgb3BhY2l0eTogMDsgfVxuICAgIH1cbn1cbi8vIEtBQ0hFTCBHUklEXG4uY3Mtb3ZlcnZpZXctZ3JpZCB7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bS8yIDAgJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjRzIGVhc2U7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgLmdyaWQge1xuICAgICAgICAuZWxlbWVudC1pdGVtIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi8vIElDT05TXG4uaWNvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNCk7XG59XG5cbi8vIEZJTFRFUlxuLnJlZkZpbHRlciB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3NDIpO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMiAkZ3JpZC1tZWRpdW0vMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICAuZmlsdGVyLWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7IGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgaDYge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgICB9XG4gICAgICAgIC5jYXQtYnV0dG9ucyB7XG4gICAgICAgICAgICBmbGV4OiAyIDEgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgICAgLnRhcmdldC1idXR0b25zIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC8vIERFRkFVTFRTXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEtBVEVHT1JJRU5cbiAgICAgICAgICAgICYuY2F0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgJHNpemU6IDRweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJHNpemUgJHNpemUgJHNpemUgNDApO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIgMCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC4xKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5pY29uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJHNpemUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogJHNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7d2lkdGg6IDkwJTt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBQRVJTT05FTlxuICAgICAgICAgICAgJi50YXJnZXQtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaXplOiByZW0tY2FsYyg3Mik7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byAkZ3JpZC1tZWRpdW0vMiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjE1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qJiNlaW56ZWxwZXJzb246YmVmb3JlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9laW56ZWxwZXJzb24uc3ZnKTsgfVxuICAgICAgICAgICAgICAgICAgICAmI2dydXBwZTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2dydXBwZS5zdmcpOyB9Ki9cbiAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAkcHJpbWFyeS1jb2xvciAsIDAuMSApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8vIFNFTEVDVFxuLnNlbGVjdG1lbnUge1xuICAgIEBpbmNsdWRlIGhpZGUtZm9yKHhsYXJnZSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW46IDAgJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4xNSk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG59XG4vLyBLQUNIRUwgLyBFTEVNRU5UXG4uZWxlbWVudC1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMiAkZ3JpZC1tZWRpdW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDQ4LjUlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgd2lkdGg6IDI0LjUlOyB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICAgICAgICAgICAgLmhvdmVybGF5OmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLDApOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL2g1IHsgY29sb3I6IHJlZDt9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5cbi5pbm5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgLm1ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1NSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgPiAqIHsgZmxleDogMSAxIGF1dG87fVxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgLmljb24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ob3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywwLjMpO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8qKioqKioqKioqKioqKioqKiogQUtUSVZJVMOEVEVOIERFVEFJTCAqKioqKioqKioqKioqL1xuLnNpbmdsZS1ha3Rpdml0YWV0ZW4ge1xuICAgIC5tYWluLWdyaWQge1xuICAgICAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge3BhZGRpbmc6IDA7fVxuICAgIH1cbiAgICAubWFpbi1jb250ZW50ID4gKiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICB9XG5cbiAgICAuZW50cnktY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge3BhZGRpbmc6IDA7fVxuICAgIH1cblxuICAgIC5zaW5nbGUtZ2FsbGVyeSB7XG4gICAgICAgIC5mbGV4aWJsZS1jb250ZW50IHtwYWRkaW5nOiAwO31cbiAgICB9XG5cbiAgICAuc2luZ2xlLWludHJvLWNlbnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMi41IDA7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSozIDA7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luOiAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgICAgICAgICAgIGRpdiB7bWFyZ2luLXJpZ2h0OiAkZ3JpZC1tZWRpdW0vMjt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNpbmdsZS1iZWl0cmFnc2JpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyoxLjU7XG4gICAgfVxuXG4gICAgLnNpbmdsZS1kZXNjcmlwdGlvbixcbiAgICAuc2luZ2xlLWRldGFpbHMsXG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgICBAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIH1cbiAgICB9XG4gICAvLyAuZmxleGlibGUtY29udGVudCB7cGFkZGluZy10b3A6IDA7fVxuXG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIC8vIEFDQ09SRElPTlxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmluZnJhc3RydWt0dXItaW5uZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbmZyYXN0cnVrdHVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBQUklDSU5HIFRBQkxFU1xuICAgICAgICAuZmxleGlibGUtdGFibGUtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBGT1JNU1xuLmVudHJ5LWNvbnRlbnQge1xuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgQGV4dGVuZCAlc21hbGxlc3R3aWR0aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMqMS41O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS01O1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgLy9wYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMztcbiAgICAgICAgfVxuICAgICAgICBpbWcge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAmOmJlZm9yZSB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgICA+ICoge3dpZHRoOiBhdXRvO31cbiAgICAgICAgfVxuICAgICAgICBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4zKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zdWJtaXRfbG9hZGluZy5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgJi5sb2FkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0qMi41O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JvbGQnO1xuICAgICAgICB9XG4gICAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICAgICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYm9sZCc7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAkdGVydGlhcnktY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wOjJweCBzb2xpZCAkdGVydGlhcnktY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAwICRncmlkLW1lZGl1bSozIDA7XG4gICAgICAgIH1cbiAgICAgICAgLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjIgJGdyaWQtbWVkaXVtKjIgJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC41KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICAgIC5nZmllbGRfaHRtbF9mb3JtYXR0ZWQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDo1MCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmdmb3JtX2Zvb3RlciB7dGV4dC1hbGlnbjogY2VudGVyO31cblxuICAgICAgICAuZm9ybV9kYXRlbnNjaHV0eiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTpcImxhdG9ib2xkXCI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMCAkZ3JpZC1tZWRpdW0qMiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtjb2xvcjokc2Vjb25kYXJ5LWNvbG9yO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKiogUkVTUE9OU0lWRSBFTUJFRCAqKioqKioqKioqKioqKi9cbi5lbWJlZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKiogRk9PVEVSICoqKioqKioqKioqKioqKioqKioqL1xuLmxvZ29zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTAgMCAyMCAwKTtcblxuICAgID4gKiB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzApO1xuICAgIH1cbn1cblxuLy8gRk9PVEVSIERFRkFVTFRTXG4uZm9vdGVyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LWZhbWlseTpcImxhdG9ib2xkXCI7XG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBhIHsgcGFkZGluZzogcmVtLWNhbGMoMiAwKTt9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsMC41KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gICAgbGlbY2xhc3MqPVwiY3VycmVudFwiXSBhLFxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuaW5uZXJmb290ZXItd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHsgcGFkZGluZzogMDsgfVxuICAgIH1cblxuICAgIC5mb290ZXItc29jaWFsLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWRhcms7XG4gICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnNvY2lhbHMge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFmdGVyZm9vdGVyLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMDUpO1xuICAgICAgICAuaW5uZXJmb290ZXItd3JhcHBlciAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDApO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7IGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7fVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCk7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7fVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDMgMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG4uZm9vdGVyLWNvbnRhY3Qtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMyAwICRncmlkLW1lZGl1bSozIDA7XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDc1MCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHRleHQtYWxpZ246IGxlZnQ7ICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHsgcGFkZGluZzogMDt9XG4gICAgfVxuICAgIC5wcmV0aXRsZSxoMiB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgLnByZXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdsYXRvYmxhY2snO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAmLCoge1xuICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMzKTtcbiAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7IGZvbnQtc2l6ZTogcmVtLWNhbGMoNTUpOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdmaWVsZF9sYWJlbCwgI2ZpZWxkXzZfMiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICBpbWcge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHdpZHRoOiA2MCU7IH1cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoJHdoaXRlLDAuMjUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjI1KTsgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGVydGlhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyeyBjb2xvcjogJHRlcnRpYXJ5LWNvbG9yOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb3JtX2Zvb3RlciB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG4gICAgICAgIC52YWxpZGF0aW9uX2Vycm9yIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSwgLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtNCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbi10b3A6IDA7fVxuICAgICAgICBAZXh0ZW5kIC5idXR0b24sIC5idXR0b24ubGFyZ2UsIC5waW5rO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDRweCAxMHB4IDEwcHggcmdiYSgkYmxhY2ssMC4zKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuI21jX2VtYmVkX3NpZ251cCB7bWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7fVxuXG5cblxuI2Nvb2tpZW1lc3NhZ2Uge3otaW5kZXg6IDUwMCAhaW1wb3J0YW50O31cblxuXG4gICAgLyoqKiogU0VBUkNIIEZPUk0gKioqKi9cblxuICAgIC5yZXN1bHQtc2VhcmNoLWZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3MjhweCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICRncmlkLW1lZGl1bSo0IGF1dG87XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMjsgfVxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywwLjA1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgfVxuXG4gICAgLnNlYXJjaGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOjc1JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMqMTAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW46IDAgJGdyaWQtbWVkaXVtIDAgMDsgfVxuICAgICAgICAgICAgJlt0eXBlPVwidGV4dFwiXSB7d2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJlt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHdpZHRoOiAyNSU7IH1cbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyoxMDA7IFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGVydGlhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRlcnRpYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0gMCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7IFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMqMTAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW0qMiAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3VuZC1pbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bS8yO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgQGV4dGVuZCAucGFnZS1udW1iZXJzO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvKioqKiBISU5XRUlTQkFOTkVSICoqKiovXG4gICAgLmltcG9ydGFudC1tZXNzYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFsZXJ0LWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ib2xkJztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDk2MCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmltcG9ydGFudC1jbG9zZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBzdmcgeyB3aWR0aDogMTRweDsgfVxuICAgICAgICB9ICBcbiAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRncmlkLW1lZGl1bSo0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRncmlkLW1lZGl1bSo1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICIsIi5ob21lIHtcbiAgICAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTMydnc7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgaGVpZ2h0OiA0N3Z3OyB9XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBtb3ZlSW1hZ2UgNjBzIGxpbmVhciAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciBpbWcge29wYWNpdHk6IDE7fVxuXG4gICAgICAgIC5tcy1jYXB0aW9ue1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk1JTtcblxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vKioqKioqKioqKioqKioqIEZST05UUEFHRSAqKioqKioqKioqKioqKioqKi9cbi5mcm9udC1zZWN0aW9uLXRpdGxlIHtcbiAgICBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogJ2xhdG9ibGFjayc7XG4gICAgfVxufVxuLmZyb250LWFrdGl2aXRhZXRlbi13cmFwcGVyLFxuLmZyb250LWJveGVuLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGgyIHtcbiAgICAgICAgJiwqIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0peyBmb250LXNpemU6IHJlbS1jYWxjKDU1KTsgfVxuICAgICAgICB9XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgfVxuXG59XG5cbi5mcm9udC1ha3Rpdml0YWV0ZW4td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qNDsgfVxuICAgIC5tcy1zbGlkZSAuZWxlbWVudC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICB9XG4gICAgLmNzLW92ZXJ2aWV3LWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge2Rpc3BsYXk6IGJsb2NrO31cbiAgICAgICAgJi5tYXN0ZXItc2xpZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZyb250LWJveGVuLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICRncmF5LTUgdXJsKC4uL2ltYWdlcy9iYWNrZ3JvdW5kX2Zyb250LnBuZykgY2VudGVyIGJvdHRvbSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoIDEwMCUgLSAycHggKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmV3cy10cmlhbmdsZS5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMiU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4LjglO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5mcm9udC1ib3hlbi1pbm5lcndyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIEBleHRlbmQgJWdsb2JhbHdpZHRoO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG4gICAgLm5ld3Mtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSl7IHdpZHRoOiA3NSU7IH1cbiAgICB9XG4gICAgLmZyb250LW5ld3Mtc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b3JlZ3VsYXInO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnbGF0b2JsYWNrJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW46IHJlbS1jYWxjKDEwKSAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKXtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLW1lZGl1bSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cblxuXG4uZnJvbnQtZ2FsZXJ5LWJveCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bTtcbiAgICBib3gtc2hhZG93OiByZW0tY2FsYygwIDQgNCAwKSByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMjUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxODgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuLmZyb250LXZpZGVvLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDMwdnc7XG4gICAgbWFyZ2luLXRvcDogLTIydnc7XG4gICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0b3A6IDE1dnc7XG4gICAgICAgIG1hcmdpbi10b3A6IC03dnc7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHsgcGFkZGluZzogMDt9XG59XG4udmlkZW8td3JhcHBlciB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6NTAlO1xuICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgIHJpZ2h0OiAxMCU7XG4gICAgICAgIGJvdHRvbTogNSU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNTBweCA0MHB4IHJnYmEoMCwwLDAsMSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoNjQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHNpemUvMjtcbiAgICAgICAgbWFyZ2luLXRvcDogLSRzaXplLzI7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wbGF5LnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMTEwKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJHNpemUvMjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kc2l6ZS8yO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyOmFmdGVyIHtvcGFjaXR5OiAxO31cblxuICAgICYuZW1iZWQtY29udGFpbmVye1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwNzQpO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogNDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MDRweCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICAgIH1cblxuICAgICYudmlkZW8tbG9hZGVkIHtcbiAgICAgICAgaW1nLCAmOmFmdGVyIHtvcGFjaXR5OiAwO31cbiAgICB9XG4gICAgJi5oaWRlLWltZyB7XG4gICAgICAgIGltZywgJjphZnRlciB7ZGlzcGxheTogbm9uZTt9XG4gICAgfVxufVxuXG4uZnJvbnQtd2VhdGhlci1ib3gge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMiAkZ3JpZC1tZWRpdW0qMiAkZ3JpZC1tZWRpdW0qMjtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogcmVtLWNhbGMoMCA0IDQgMCkgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjI1KTtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKXsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LDAuMyk7IH1cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKXtwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMiAwO31cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTpcImxhdG9yZWd1bGFyXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGVtcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OlwibGF0b2JvbGRcIjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgIH1cbiAgICAuaGlnaCxcbiAgICAuaHVtaWRpdHksXG4gICAgLnJlZnJlc2hlZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xuICAgICAgICBmb250LWZhbWlseTpcImxhdG9ib2xkXCI7XG4gICAgfVxuICAgIC5yZWZyZXNoZWQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1NSk7XG4gICAgfVxufVxuXG5cbi5mcm9udC1tYXAtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDMwdnc7XG4gICAgaGVpZ2h0OiAxMzB2dztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjV2dztcbiAgICAgICAgaGVpZ2h0OiAxMDB2dztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTh2dztcbiAgICAgICAgaGVpZ2h0OiA3NXZ3O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBoZWlnaHQ6IDcwdnc7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxN3Z3O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiA0NXZ3O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTZ2dztcbiAgICAgICAgbWF4LWhlaWdodDogOTAwcHg7XG4gICAgfVxuICAgIC5iaWctdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkgeyBwYWRkaW5nOiAwO31cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICBib3gtc2hhZG93OiA0cHggMTBweCAxMHB4IHJnYmEoJGJsYWNrLDAuMyk7XG4gICAgICAgIHotaW5kZXg6IDUwMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ludmVydGVkLXRyaWFuZ2xlLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAyJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwJTtcbiAgICB9XG59XG5cblxuXG4iLCJib2R5I3RpbnltY2V7XG4gIGhlaWdodDogYXV0bzsgLy8gRml4IGVkaXRvciBzdHlsZSBidWdcbiAgbWF4LXdpZHRoOiAkZ3JpZC1yb3ctd2lkdGg7IC8vIEdpdmUgdGhlIGVkaXRvciBhIG1heC13aWR0aFxuICBwYWRkaW5nOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYSB7IGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7fVxufSJdfQ== */
