@charset "UTF-8";
/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
/* Document (https://html.spec.whatwg.org/multipage/semantics.html#semantics)
   ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add box sizing inheritence in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat;
  /* 1 */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  /* 2 */
}

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

/**
* 1. Add border box sizing in all browsers (opinionated).
* 2. Add the default cursor in all browsers (opinionated).
* 3. Prevent font size adjustments after orientation changes in IE and iOS.
*/
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  cursor: default;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* Sections (https://html.spec.whatwg.org/multipage/semantics.html#sections)
	========================================================================== */
/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

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

/* Grouping content (https://html.spec.whatwg.org/multipage/semantics.html#grouping-content)
	========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main {
  /* 1 */
  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 {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

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

/**
* 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 */
}

/* Text-level semantics (https://html.spec.whatwg.org/multipage/semantics.html#text-level-semantics)
	========================================================================== */
/**
* 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 */
}

/**
* 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 */
  -webkit-text-decoration: underline dotted;
          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: #ffff00;
  color: #000000;
}

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

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

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

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

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

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

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

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

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

/* Tabular data (https://html.spec.whatwg.org/multipage/tables.html#tables)
	========================================================================== */
/**
* Collapse border spacing
*/
table {
  border-collapse: collapse;
}

/* Forms (https://html.spec.whatwg.org/multipage/forms.html#forms)
	========================================================================== */
/**
* Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  margin: 0;
}

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

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
  /* 1 */
  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 */
}

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
* 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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  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 */
}

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

/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          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 */
}

/* Interactive elements (https://html.spec.whatwg.org/multipage/forms.html#interactive-elements)
	========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details,
menu {
  display: block;
}

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

/* Scripting (https://html.spec.whatwg.org/multipage/scripting.html#scripting-3)
	========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
  display: inline-block;
}

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

/* User interaction (https://html.spec.whatwg.org/multipage/interaction.html#editing)
	========================================================================== */
/*
* Remove the tapping delay on clickable elements (opinionated).
* 1. Remove the tapping delay in IE 10.
*/
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  /* 1 */
  touch-action: manipulation;
}

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

/* ARIA (https://w3c.github.io/html-aria/)
	========================================================================== */
/**
* Change the cursor on busy elements (opinionated).
*/
[aria-busy=true] {
  cursor: progress;
}

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

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

/*
* Change the cursor on disabled, not-editable, or otherwise
* inoperable elements (opinionated).
*/
[aria-disabled] {
  cursor: default;
}

.clearfix:after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

/* Note: Add the .hidden class to GNorm, this class is intended to be used on links
 * that should not display their text, ex. a icon button.
 */
.hidden {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

@font-face {
  font-display: block;
  font-family: "icomoon";
  font-style: normal;
  font-weight: 400;
  src: url(data:font/woff;base64,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) format("woff"), url(data:font/ttf;base64,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) format("truetype"), url(data:application/vnd.ms-fontobject;base64,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) format("eot"), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+R2VuZXJhdGVkIGJ5IEljb01vb248L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9Imljb21vb24iIGhvcml6LWFkdi14PSIxMDI0Ij4KPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiIC8+CjxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxMDI0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjA7IiBob3Jpei1hZHYteD0iNTEyIiBkPSIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTAwOyIgZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIGQ9Ik04MjguMDA2IDUxMmwtMzEwLjgzNSAzMTAuODM1IDcyLjM5NyA3Mi4zOTcgNDM0LjQzMi00MzQuNDMyLTQzNC40MzItNDM0LjQzMi03Mi4zOTcgNzIuMzk3IDMxMC44MzUgMzEwLjgzNWgtODI4LjAwNnYxMDIuNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTAxOyIgZ2x5cGgtbmFtZT0iQWdlbmN5IiBob3Jpei1hZHYteD0iMTM3NSIgZD0iTTM2OC40MTIgODk5LjU5MmM4LjQ3Ny0xMS43MDMgNS44NTMtMjguMjE4LTUuODI2LTM2LjczOWwtMTE4LjQ0NS04Ni4yMDcgODQuOTA0LTExOS41MDFjOC4zOTktMTEuNzgyIDUuNjE3LTI4LjI5Ny02LjE0MS0zNi42ODZsLTIuNjc3LTEuOTJjLTExLjc1OC04LjM4OS0yOC4yNC01LjYwMi0zNi42MTIgNi4xOGwtODQuNjE1IDExOS4wNTQtMTE4LjAyNS04NS44OTFjLTExLjY3OS04LjUyMS0yOC4xODgtNS44OTEtMzYuNjY1IDUuODEybC0xLjkxNiAyLjY1NmMtOC41MDQgMTEuNzAzLTUuODc5IDI4LjI0NSA1LjggMzYuNzM5bDExOC40NDUgODYuMjA3LTg0LjkwNCAxMTkuNTAxYy04LjM3MiAxMS43ODItNS41OSAyOC4yOTcgNi4xNjggMzYuNjg2bDIuNjc3IDEuOTJjMTEuNzU4IDguMzg5IDI4LjI0IDUuNjAyIDM2LjYxMi02LjE4bDg0LjYxNS0xMTkuMDU0IDExOC4wMjUgODUuODkxYzExLjY3OSA4LjUyMSAyOC4xODggNS44OTEgMzYuNjY1LTUuODEybDEuOTE2LTIuNjU2ek0xMzI3Ljc4NiA0MDguNzAzYzE0LjQzNS0wLjgxNSAyNS41MzctMTMuMjgxIDI0LjcyMy0yNy43NDVsLTAuMTg0LTMuMjg3Yy0wLjgxNC0xNC40MzgtMTMuMjgtMjUuNTg4LTI3LjY4OS0yNC43NzNsLTE0Ni4xNjEgOC4zMS05LjY4NS0xNDYuMzc4Yy0wLjk0NS0xNC40MzgtMTMuNTE2LTI1LjQ1Ny0yNy45MjUtMjQuNTFsLTMuMjgxIDAuMjFjLTE0LjQwOSAwLjk0Ny0yNS40MDYgMTMuNTQ0LTI0LjQ2MSAyNy45ODJsOS42NTggMTQ1Ljg1Mi0xNDUuNjM2IDguMjg0Yy0xNC40MDkgMC44MTUtMjUuNTM3IDEzLjMwNy0yNC43MjMgMjcuNzQ1bDAuMTg0IDMuMjg3YzAuODE0IDE0LjQzOCAxMy4yOCAyNS41ODggMjcuNjg5IDI0Ljc3M2wxNDYuMTYxLTguMzEgOS42ODUgMTQ2LjM3OGMwLjk0NSAxNC40MzggMTMuNTE2IDI1LjQ1NyAyNy45MjUgMjQuNTFsMy4yODEtMC4yMWMxNC40MDktMC45NDcgMjUuNDA2LTEzLjU0NCAyNC40NjEtMjcuOTgybC05LjY1OC0xNDUuODUyIDE0NS42MzYtOC4yODR6TTgzOC45MzktMi4xNTljMTAuNDk4LTkuOTE1IDEwLjk5Ny0yNi42NjcgMS4xMDItMzcuMTg2bC0yLjI1Ny0yLjM5M2MtOS45MjEtMTAuNTE5LTI2LjYxMy0xMS4wMTktMzcuMTExLTEuMTA1bC0xMDYuMTg5IDEwMC4yMjQtOTguOTk4LTEwNy4zNTFjLTkuNzktMTAuNjI1LTI2LjQ4Mi0xMS4yODItMzcuMDg1LTEuNDczbC0yLjQxNSAyLjIzNWMtMTAuNjAzIDkuODA5LTExLjI1OSAyNi41MzUtMS40NyAzNy4xNmw5OS4zNjUgMTA3LjcxOS0xMDYuNTU2IDEwMC41NjZjLTEwLjQ5OCA5Ljk0MS0xMC45OTcgMjYuNjY3LTEuMTAyIDM3LjE4NmwyLjI1NyAyLjM5M2M5LjkyMSAxMC41MTkgMjYuNjEzIDExLjAxOSAzNy4xMTEgMS4xMDVsMTA2LjE4OS0xMDAuMjI0IDk4Ljk5OCAxMDcuMzUxYzkuNzkgMTAuNjI1IDI2LjQ4MiAxMS4yODIgMzcuMDg1IDEuNDczbDIuNDE1LTIuMjM1YzEwLjYwMy05LjgwOSAxMS4yNTktMjYuNTM1IDEuNDctMzcuMTZsLTk5LjM2NS0xMDcuNzE5IDEwNi41NTYtMTAwLjU2NnpNMTA0OC4xNDEgODU4LjQ2MWMxMy4zODUtMTcuNDYyLTEzNC4yOTgtMzA4Ljc5OC0xMzQuMjk4LTMwOC44MjQtOC41My0yMS4zMDItMTYuNjEzLTI2LjMyNS0yMy45ODgtMjYuMzI1cy0xOS42MDUgMy4zMTQtMTkuNjA1IDMuMzE0Yy03LjU4NSA4LjYyNi0yMi43NTUgMTYuMDE2LTcuNDU0IDQ3Ljg2MyAwIDAgOTYuMTg5IDIwMC42MDUgOTAuMzM3IDIwMy44OTMtMjMzLjA4NS0xNDMuMTY5LTM4My43MzQtMjM3LjYzNC01OTEuMzYxLTQ0NS4zNjYgMjMuMjI3LTI4Ljc3MSA0NC4wNDAtODcuMDIyIDQ0LjA0MC0xMjYuOTE3IDAtOTIuNDkyLTEwMy42OTUtMTk5LjAwMS0xOTUuOTc0LTE5OS4wMDEtOTIuMzA1IDAtMTkzLjM1IDEwNi41MzUtMTkzLjM1IDE5OS4wMDFzMTAxLjA3MSAxOTYuMzcxIDE5My4zNSAxOTYuMzcxYzQwLjY1NCAwIDgyLjI3OS02LjQ5NiAxMTEuMjU0LTMwLjY5IDkuMTMzIDkuMzg5IDIxLjEyOCAxOS43NSAyNy41MzEgMjcuMzI0IDEzMS40MTEgMTU1LjMxOSAzNjIuMTM0IDMyMC4wODAgNTcyLjM4NSA0MTMuOTY2bC0yNzAuMjQ5LTkuMDQ3Yy0xNC4xOTkgMC0yNS44MjUgMTEuNjUtMjUuODI1IDI1Ljg3OHMxMS42MjcgMjUuODc4IDI1LjgyNSAyNS44NzhjMCAwIDM4My45OTYgMjAuMTQ1IDM5Ny4zODEgMi42ODJ6TTIwOS42MjcgNjAuNjY4YzYwLjQxNyAwIDE0MC44ODUgNzguNDc1IDE0MC44NTkgMTUxLjY2NCAwIDc0Ljc0LTgwLjQ2OCAxMzguNTE0LTE0MC44NTkgMTM4LjUxNHMtMTM4LjIzNC03Ny45NzUtMTM4LjIzNC0xMzguNTE0YzAtNzYuNDUgNzcuODE4LTE1MS42NjQgMTM4LjIzNC0xNTEuNjY0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MDI7IiBnbHlwaC1uYW1lPSJwbGF5LCBwbGF5ZXIiIGQ9Ik01MTIgOTYwYy0yODIuNzcgMC01MTItMjI5LjIzLTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyIDUxMiAyMjkuMjMgNTEyIDUxMi0yMjkuMjMgNTEyLTUxMiA1MTJ6TTUxMiAzMmMtMjI5Ljc1IDAtNDE2IDE4Ni4yNS00MTYgNDE2czE4Ni4yNSA0MTYgNDE2IDQxNiA0MTYtMTg2LjI1IDQxNi00MTYtMTg2LjI1LTQxNi00MTYtNDE2ek0zODQgNjcybDM4NC0yMjQtMzg0LTIyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTAzOyIgZ2x5cGgtbmFtZT0iYnVsYiIgaG9yaXotYWR2LXg9IjcxMCIgZD0iTTQyMy42MTIgMTEuMTc2di00Ni40OTNjMC05LjEyMi03LjM5NS0xNi41MTYtMTYuNTE2LTE2LjUxNmgtODAuOTI5Yy05LjEyMiAwLTE2LjUxNiA3LjM5NS0xNi41MTYgMTYuNTE2djQ2LjQ5M2gtNjkuMTdjLTkuMTIyIDAtMTYuNTE2IDcuMzk1LTE2LjUxNiAxNi41MTZ2MTUzLjM1MmMtMi42NjEgNDIuODYxLTE3LjE2NiA4NC4xNDItNDEuOTAxIDExOS4yNDYtMTM4LjYxMiA3Ni4zMjctMjA5LjE3NCAyMzUuODMzLTE3Mi40MTMgMzg5Ljc0MnMxNzEuNzg5IDI2NC4zMDkgMzI5LjkzMyAyNjkuNzU3YzE1OC4xNDQgNS40NDggMzAwLjQ1LTk1LjM5OSAzNDcuNzE1LTI0Ni40MTNzLTEyLjE1My0zMTQuOTk3LTE0NS4xODMtNDAwLjY4M2MtMTkuOTU2LTM4LjYzLTI5Ljk4LTgxLjYyMS0yOS4xNjctMTI1LjA5M3YtMTU5LjkwOWMwLTkuMTAyLTcuMzY0LTE2LjQ4OS0xNi40NjctMTYuNTE2aC03Mi44Njl6TTM5MC41OCAxMS4xNzZoLTQ3Ljg5N3YtMjkuOTc3aDQ3Ljg5N3YyOS45Nzd6TTM4Mi43MTggMTk0Ljg2OGg5Ny4xOWMwLjIxOSA0Ny4wNTAgMTEuODcxIDkzLjM4MiAzMy45OTggMTM0Ljk4NiAxLjIwNCAzLjQyMSAzLjUzMyA2LjMzMyA2LjYwNiA4LjI1OCAxMjEuODIgNzYuMjk1IDE3Ny4zMDIgMjI0LjgzIDEzNS4zMzIgMzYyLjMwNXMtMTcwLjk1NCAyMjkuNjk0LTMxNC42MTUgMjI0LjkzOWMtMTQzLjY2LTQuNzU1LTI2Ni4yNjQtMTA1LjMwMi0yOTkuMDUxLTI0NS4yNTJzMzIuMzk2LTI4NC40OTEgMTU4Ljk5NC0zNTIuNTYzYzIuMTQ0LTEuMTU5IDQuMDA2LTIuNzc3IDUuNDUtNC43NCAyNy4zNzEtMzcuNjY5IDQ0LjMyMy04MS43OTYgNDkuMjc0LTEyNy45MzRoOTMuNzg5djM1OS40MDdsLTU3LjU1OS0xLjMwNWMtMTQuNTk5LTEuNzgxLTI4Ljc0NiA1Ljc5Mi0zNS4zNjEgMTguOTI3LTkuOTEgMjMuMTIzIDEzLjQxMSA1MC4zMDggMzEuODEgNjguNzI0IDEyLjQ2NiAxNC4zMzYgMzAuNzI2IDIyLjI5NSA0OS43MTQgMjEuNjY5IDE2LjQyNC0xLjg4OCAzMS4zNTItMTAuNDM5IDQxLjI5LTIzLjY1MSAyLjA0OC0yLjgxOCAzLjE1Mi02LjIxMiAzLjE1NS05LjY5NXYtNDAuOTI3YzQ4Ljk1NCAwLjk5MSA2Ni4wNjUgMS4xMjMgNjYuMzI5IDEuMTIzaDAuMTE2YzkuMTIyIDAuMDMyIDE2LjU0Mi03LjMzNyAxNi41NzQtMTYuNDU4cy03LjMzNy0xNi41NDItMTYuNDU4LTE2LjU3NGMtMC4yNDggMC0xNy40MjUtMC4xMzItNjYuNTc3LTEuMTIzdi0zNjAuMTE4ek0yNTcuMDEyIDE2MS44MzZsLTAuMDE0LTExNy42MjhoMjIyLjk2OHYxMTcuNjI4aC0yMjIuOTU0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MDQ7IiBnbHlwaC1uYW1lPSJDaGF0IiBob3Jpei1hZHYteD0iMTE4OSIgZD0iTTQ1My41MzYgOTYwdi0yMzEuNzg2aC00NTMuNTM2di01NzYuMjM0aDE0Ny42MDF2LTE5Ny4zNTlsNDQuNjgxLTE4LjYyMSAyMTQuODA2IDIxNS45ODFoMzg4LjE1djU3Ni4yMzRoLTMxMC4yOTN2MjAwLjIwMmg2NzIuMjI5di00MzkuMzU3aC05Mi42MzRsLTE1LjcwNS0wLjQ2MXYtMjAwLjg3M2wtMjA2LjI3MyAyMDcuNDE0di00NC42NjVsMjEwLjg2Ni0yMTIuMDQ2IDI2LjgxNiAxMS4xNzN2MjA3Ljg3NGgxMDguMzI2djUwMi41MjVoLTczNS4wMzZ6TTc0OS43MTQgMTk1Ljg0M2gtMjg1LjIyM2w0OC4zNTggNDguNDAxaC03NC40ODZsLTIzNC45NjgtMjM1LjEwMXYxODYuN2gtMTQ4LjUzOHY0NzEuNTg2aDY5NC44NTd2LTQ3MS41ODZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTkwNTsiIGdseXBoLW5hbWU9ImNsb3NlIiBkPSJNNTEyIDUzMy4xOTdsLTM2Mi4wMzUgMzYyLjAzNS03Mi4zOTctNzIuMzk3IDM2Mi4wMzUtMzYyLjAzNS0zNjIuMDM1LTM2Mi4wMzUgNzIuMzk3LTcyLjM5NyAzNjIuMDM1IDM2Mi4wMzUgMzYyLjAzNS0zNjIuMDM1IDcyLjM5NyA3Mi4zOTctMzYyLjAzNSAzNjIuMDM1IDM2Mi4wMzUgMzYyLjAzNS03Mi4zOTcgNzIuMzk3LTM2Mi4wMzUtMzYyLjAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTA2OyIgZ2x5cGgtbmFtZT0ibGlua2VkaW4sIGJyYW5kLCBzb2NpYWwiIGQ9Ik0zODQgNTc2aDE3Ny4xMDZ2LTkwLjc4MmgyLjUzMmMyNC42NCA0NC4xOTQgODQuOTU4IDkwLjc4MiAxNzQuODQyIDkwLjc4MiAxODYuOTQ2IDAgMjIxLjUyLTExNi4zNzYgMjIxLjUyLTI2Ny43MzR2LTMwOC4yNjZoLTE4NC42MXYyNzMuMjc4YzAgNjUuMTg0LTEuMzM0IDE0OS4wMjYtOTYuMDI4IDE0OS4wMjYtOTYuMTQ4IDAtMTEwLjgyLTcwLjk4Ni0xMTAuODItMTQ0LjI5MnYtMjc4LjAxMmgtMTg0LjU0MnY1NzZ6TTY0IDU3NmgxOTJ2LTU3NmgtMTkydjU3NnpNMjU2IDczNmMwLTUzLjAxOS00Mi45ODEtOTYtOTYtOTZzLTk2IDQyLjk4MS05NiA5NmMwIDUzLjAxOSA0Mi45ODEgOTYgOTYgOTZzOTYtNDIuOTgxIDk2LTk2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MDc7IiBnbHlwaC1uYW1lPSJ0d2l0dGVyLCBicmFuZDIsIHR3ZWV0LCBzb2NpYWwyIiBkPSJNMTAyNCA3MzMuNmMtMzcuNi0xNi44LTc4LjItMjgtMTIwLjYtMzMgNDMuNCAyNiA3Ni42IDY3LjIgOTIuNCAxMTYuMi00MC42LTI0LTg1LjYtNDEuNi0xMzMuNC01MS0zOC40IDQwLjgtOTMgNjYuMi0xNTMuNCA2Ni4yLTExNiAwLTIxMC05NC0yMTAtMjEwIDAtMTYuNCAxLjgtMzIuNCA1LjQtNDcuOC0xNzQuNiA4LjgtMzI5LjQgOTIuNC00MzMgMjE5LjYtMTgtMzEtMjguNC02Ny4yLTI4LjQtMTA1LjYgMC03Mi44IDM3LTEzNy4yIDkzLjQtMTc0LjgtMzQuNCAxLTY2LjggMTAuNi05NS4yIDI2LjIgMC0wLjggMC0xLjggMC0yLjYgMC0xMDEuOCA3Mi40LTE4Ni44IDE2OC42LTIwNi0xNy42LTQuOC0zNi4yLTcuNC01NS40LTcuNC0xMy42IDAtMjYuNiAxLjQtMzkuNiAzLjggMjYuOC04My40IDEwNC40LTE0NC4yIDE5Ni4yLTE0Ni03Mi01Ni40LTE2Mi40LTkwLTI2MS05MC0xNyAwLTMzLjYgMS01MC4yIDMgOTMuMi01OS44IDIwMy42LTk0LjQgMzIyLjItOTQuNCAzODYuNCAwIDU5Ny44IDMyMC4yIDU5Ny44IDU5Ny44IDAgOS4yLTAuMiAxOC4yLTAuNiAyNy4yIDQxIDI5LjQgNzYuNiA2Ni40IDEwNC44IDEwOC42eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MDg7IiBnbHlwaC1uYW1lPSJmYWNlYm9vaywgYnJhbmQzLCBzb2NpYWwzIiBkPSJNNjA4IDc2OGgxNjB2MTkyaC0xNjBjLTEyMy41MTQgMC0yMjQtMTAwLjQ4Ni0yMjQtMjI0di05NmgtMTI4di0xOTJoMTI4di01MTJoMTkydjUxMmgxNjBsMzIgMTkyaC0xOTJ2OTZjMCAxNy4zNDYgMTQuNjU0IDMyIDMyIDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGU5MGE7IiBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0IiBkPSJNMTk1Ljk5NCA1MTJsMzEwLjgzNSAzMTAuODM1LTcyLjM5NyA3Mi4zOTctNDM0LjQzMi00MzQuNDMyIDQzNC40MzItNDM0LjQzMiA3Mi4zOTcgNzIuMzk3LTMxMC44MzUgMzEwLjgzNWg4MjguMDA2djEwMi40aC04MjguMDA2eiIgLz4KPC9mb250PjwvZGVmcz48L3N2Zz4=#icomoon) format("svg");
}
@font-face {
  font-display: block;
  font-family: "Satoshi";
  font-style: normal;
  font-weight: normal;
  src: url("https://certinia.com/wp-content/themes/financialforce/assets/dist/fonts/Satoshi-Regular.5c902d33.woff2.woff2") format("woff2"), url("https://certinia.com/wp-content/themes/financialforce/assets/dist/fonts/Satoshi-Regular.5c902d33.woff2.woff") format("woff");
}
/* Note: Will be replaced once SVG feature branch is completed */
[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "Icomoon";
  speak: none;
  font-style: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: inherit;
  line-height: inherit;
  vertical-align: baseline;
  display: inline-block;
}

.icon {
  font-size: 2rem;
}

.icon-bulb:before {
  content: "\e903";
}

.icon-Chat:before {
  content: "\e904";
}

.icon-Agency:before {
  content: "\e901";
}

.icon-arrow-left:before {
  content: "\e90a";
}

.icon-close:before {
  content: "\e905";
}

.icon-arrow-right:before {
  content: "\e900";
}

.icon-linkedin:before {
  content: "\e906";
}

.icon-brand:before {
  content: "\e906";
}

.icon-social:before {
  content: "\e906";
}

.icon-twitter:before {
  content: "\e907";
}

.icon-brand2:before {
  content: "\e907";
}

.icon-tweet:before {
  content: "\e907";
}

.icon-social2:before {
  content: "\e907";
}

.icon-facebook:before {
  content: "\e908";
}

.icon-brand3:before {
  content: "\e908";
}

.icon-social3:before {
  content: "\e908";
}

.icon-play:before {
  content: "\e902";
}

.icon-player:before {
  content: "\e902";
}

/* Margin and spacing base variables
 */
.wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1319px;
  padding-left: 3rem;
  padding-right: 3rem;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/* Note: This either needs to be completely replaced or needs to go away entirely.
 * There are much better approaches to handling REM font sizing (and REM fallbacks)
 * using off-the-shelf libraries + PostCSS processors
 */
button {
  border: none;
  padding: 0;
}

select,
input {
  font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

input[type=submit],
input[type=radio],
input[type=checkbox] {
  width: auto;
}

label {
  display: block;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  font-size: 28px !important;
  line-height: 34px !important;
  font-size: 2.8rem !important;
  line-height: 3.4rem !important;
}

h2,
h3 {
  font-size: 16px !important;
  line-height: 19px !important;
  font-size: 1.6rem !important;
  line-height: 1.9rem !important;
}

h4 {
  font-weight: normal;
  font-size: 14px !important;
  line-height: 17px !important;
  font-size: 1.4rem !important;
  line-height: 1.7rem !important;
}

main img {
  width: 100%;
  /* [1] */
  font-style: italic;
  /* [2] */
  vertical-align: middle;
  /* [3] */
  height: auto;
  /* [4] */
  display: block;
  border: 0;
  /* [5] */
}

main ~ img {
  position: absolute;
}

a {
  color: #595959;
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  transition: color 0.3s ease;
  text-decoration: none;
}
a:hover {
  color: #242323;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-wrap: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
  font-size: 62.5%;
  height: 100%;
  min-height: 100vh;
}

body {
  background-color: #0f102e;
  color: #0f102e;
  font-size: 1.6rem;
  font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.3;
  overflow-x: hidden;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

tr,
td,
th {
  padding: 10px;
}

em {
  font-style: italic;
}

strong {
  font-weight: 700;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

.button, .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton {
  border-radius: 30px;
  display: inline-block;
  font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 600;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
  width: 100%;
}
.button--primary, .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton {
  background: #02adef;
  color: #fff;
  -webkit-transition: 500ms ease;
  -o-transition: 500ms ease;
  transition: 500ms ease;
  min-height: 52px;
  padding: 0.5rem;
  padding-left: 3rem;
}
.button--primary:hover, .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton:hover {
  background: #0080B2;
}
.button--primary .icon-arrow, .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton .icon-arrow {
  background-color: #0080B2;
  border-radius: 30px;
  display: inline-block;
  height: 41px;
  margin-left: 1rem;
  padding: 1rem;
  width: 41px;
}
.button--link {
  color: #02adef;
  cursor: pointer;
}
.button--link .icon-arrow {
  margin-left: 0.5rem;
  -webkit-transform: 300ms all ease-in-out;
      -ms-transform: 300ms all ease-in-out;
          transform: 300ms all ease-in-out;
}
.button--link .icon-arrow svg path {
  fill: #02adef;
}
.button--link:hover {
  color: #0080B2;
}
.button--link:hover .icon-arrow {
  margin-left: 0.5rem;
}
.button--link:hover .icon-arrow svg path {
  fill: #0080B2;
}

.calculator .button-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 600px) {
  .calculator .button-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.calculator .button-wrapper .button, .calculator .button-wrapper .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton, .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup .calculator .button-wrapper button.mktoButton {
  margin-top: 1rem;
  margin-bottom: 0;
}
@media (min-width: 600px) {
  .calculator .button-wrapper .button, .calculator .button-wrapper .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton, .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup .calculator .button-wrapper button.mktoButton {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 3rem;
  }
  .calculator .button-wrapper .button:first-child, .calculator .button-wrapper .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton:first-child, .modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup .calculator .button-wrapper button.mktoButton:first-child {
    margin-left: 0;
  }
}

[type=range] {
  -webkit-appearance: none;
  background: transparent;
  border-radius: 5px;
  height: 5px;
  margin: 10px 0;
  width: 100%;
}
[type=range]::-moz-focus-outer {
  border: 0;
}
[type=range]:focus {
  outline: 0;
}
[type=range]:focus::-webkit-slider-runnable-track {
  background: rgba(13, 13, 13, 0.09);
}
[type=range]:focus::-ms-fill-lower, [type=range]:focus::-moz-range-progress {
  background: #02adef;
}
[type=range]:focus::-ms-fill-upper {
  background: rgba(13, 13, 13, 0.09);
}
[type=range]::-webkit-slider-runnable-track {
  cursor: default;
  height: 5px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 100%;
  background: rgba(0, 0, 0, 0.09);
  border-radius: 5px;
}
[type=range]::-webkit-slider-thumb {
  -webkit-box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.08);
  background: #02adef;
  border: 2px solid #02adef;
  border-radius: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: default;
  height: 25px;
  width: 25px;
  -webkit-appearance: none;
  margin-top: -10px;
}
[type=range]::-moz-range-track {
  cursor: default;
  height: 5px;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 100%;
  background: rgba(0, 0, 0, 0.09);
  height: 2.5px;
}
[type=range]::-moz-range-thumb {
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.08);
  background: #02adef;
  border: 2px solid #02adef;
  border-radius: 100%;
  box-sizing: border-box;
  cursor: default;
  height: 25px;
  width: 25px;
}
[type=range]::-ms-track {
  cursor: default;
  height: 5px;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 100%;
  border-width: 12.5px 0;
}
[type=range]::-ms-fill-lower {
  background: #02adef;
}
[type=range]::-moz-range-progress {
  background: #02adef;
}
[type=range]::-ms-fill-upper {
  background: rgba(0, 0, 0, 0.09);
}
[type=range]::-ms-thumb {
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.08);
  background: #02adef;
  border: 2px solid #02adef;
  border-radius: 100%;
  box-sizing: border-box;
  cursor: default;
  height: 25px;
  width: 25px;
  margin-top: 1.25px;
}
[type=range]:disabled::-webkit-slider-thumb, [type=range]:disabled::-moz-range-thumb, [type=range]:disabled::-ms-thumb, [type=range]:disabled::-webkit-slider-runnable-track, [type=range]:disabled::-ms-fill-lower, [type=range]:disabled::-ms-fill-upper {
  cursor: not-allowed;
}

.streaming-images {
  position: relative;
}
@-webkit-keyframes levitate {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0.5em);
            transform: translate(0, 0.5em);
  }
}
@keyframes levitate {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0.5em);
            transform: translate(0, 0.5em);
  }
}
.streaming-images--left {
  -webkit-animation: levitate 3s alternate ease-in-out infinite;
          animation: levitate 3s alternate ease-in-out infinite;
  display: none;
  left: -194px;
  position: absolute;
  width: 240px;
}
@media (min-width: 992px) {
  .streaming-images--left {
    display: block;
  }
}
.streaming-images--right {
  -webkit-animation: levitate 3s alternate ease-in-out infinite;
          animation: levitate 3s alternate ease-in-out infinite;
  display: none;
  position: absolute;
  right: -122px;
  top: -35px;
  width: 240px;
}
@media (min-width: 992px) {
  .streaming-images--right {
    display: block;
  }
}

.bar-overlay {
  min-height: 10%;
  position: relative;
}
.bar-overlay:not(.overlay-80):not(.overlay-yellow) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.bar-overlay__label {
  border-bottom: 1px solid currentColor;
  bottom: 0;
  display: none;
  font-size: 12px !important;
  line-height: 12px !important;
  font-size: 1.2rem !important;
  line-height: 1.2rem !important;
  font-weight: 600;
  padding: 0 0.4rem 0.2rem;
  position: absolute;
  right: 100%;
  text-align: right;
}
@media (min-width: 1080px) {
  .bar-overlay__label {
    display: block;
  }
}
@media (min-width: 1319px) {
  .bar-overlay__label__number, .bar-overlay__label__legend {
    white-space: nowrap;
  }
}
.bar-overlay__label__legend {
  font-size: 10px !important;
  line-height: 12px !important;
  font-size: 1rem !important;
  line-height: 1.2rem !important;
  font-weight: 400;
}
.bar-overlay.overlay-80 {
  background-color: #25c779;
}
.bar-overlay.overlay-80 .bar-overlay__label {
  color: #25c779;
}
.bar-overlay.overlay-80 .bar-overlay__label span {
  color: #09894b;
}
.bar-overlay.overlay-yellow {
  background-color: #E8A21B;
}
.savings__chart-bar--right .bar-overlay__label {
  left: 100%;
  right: auto;
  text-align: left;
}
.savings__chart-bar--right .bar-overlay:first-child .bar-overlay__label {
  bottom: calc(100% - 1px);
}

.savings__chart--psa-erp .bar-overlay .bar-overlay__label,
.savings__chart--psa-erp .bar-overlay.overlay-80 .bar-overlay__label {
  display: none;
  background-color: rgba(15, 16, 46, 0.9);
  border: 1px solid rgba(15, 16, 46, 0.9);
  bottom: unset;
  max-width: 150px;
  min-width: 150px;
  padding: 0.5rem;
  right: 55%;
  text-align: left;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.savings__chart--psa-erp .bar-overlay .bar-overlay__label__number, .savings__chart--psa-erp .bar-overlay .bar-overlay__label__legend,
.savings__chart--psa-erp .bar-overlay.overlay-80 .bar-overlay__label__number,
.savings__chart--psa-erp .bar-overlay.overlay-80 .bar-overlay__label__legend {
  color: #fff;
  display: block;
}
.savings__chart--psa-erp .bar-overlay .bar-overlay__label__number,
.savings__chart--psa-erp .bar-overlay.overlay-80 .bar-overlay__label__number {
  margin-bottom: 0.5rem;
}
.savings__chart--psa-erp .bar-overlay .bar-overlay__label__legend,
.savings__chart--psa-erp .bar-overlay.overlay-80 .bar-overlay__label__legend {
  white-space: normal;
}
.savings__chart--psa-erp .bar-overlay .bar-overlay__label .color-key,
.savings__chart--psa-erp .bar-overlay.overlay-80 .bar-overlay__label .color-key {
  border: 1px solid #b7b9ba;
  background-color: #0085b9;
  display: inline-block;
  margin-right: 0.5rem;
  min-height: 9px;
  min-width: 9px;
}
.savings__chart--psa-erp .bar-overlay .bar-overlay__label:after,
.savings__chart--psa-erp .bar-overlay.overlay-80 .bar-overlay__label:after {
  background-color: rgba(15, 16, 46, 0.9);
  content: "";
  -webkit-clip-path: polygon(100% 48%, 46% 0, 47% 100%);
          clip-path: polygon(100% 48%, 46% 0, 47% 100%);
  height: 10px;
  right: -7px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  width: 12px;
}
.savings__chart--psa-erp .bar-overlay:hover .bar-overlay__label,
.savings__chart--psa-erp .bar-overlay.overlay-80:hover .bar-overlay__label {
  display: none;
}
@media (min-width: 1080px) {
  .savings__chart--psa-erp .bar-overlay:hover .bar-overlay__label,
.savings__chart--psa-erp .bar-overlay.overlay-80:hover .bar-overlay__label {
    display: block;
  }
}
.savings__chart--psa-erp .savings__chart-bar--right {
  min-height: 40% !important;
}
.savings__chart--psa-erp .savings__chart-bar--right .bar-overlay {
  min-height: 30%;
}
.savings__chart--psa-erp .savings__chart-bar--right .bar-overlay .bar-overlay__label {
  left: 55%;
}
.savings__chart--psa-erp .savings__chart-bar--right .bar-overlay .bar-overlay__label:after {
  left: -7px;
  -webkit-transform: translateY(-50%) rotate(180deg);
      -ms-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.savings__chart--psa-erp .savings__chart-bar--right .bar-overlay .bar-overlay__label .color-key {
  background-color: #0f102e;
}
.savings__chart--psa-erp .bar-overlay.overlay-80 > .bar-overlay__label .color-key {
  background-color: #25c779;
}
.savings__chart--psa-erp .bar-overlay.overlay-yellow > .bar-overlay__label .color-key {
  background-color: #E8A21B;
}

/* Note: Manage a list of variables that relate to the z-index stacking order of elements on the page, ordered from lowest to highest. This allows us to easily change this order by moving the associated variable in the list instead of CSS in multiple locations. First group is global, additional component level groups can be added to order stacking within the component relative to that component.
 * Based on z-index management technique on [Smashing Magazine](http://www.smashingmagazine.com/2014/06/12/sassy-z-index-management-for-complex-layouts/).
 */
/** Ex. Usage
.example {
	@include z-index(base,one);
}
.nested-example{
	@include z-index(sample, sampleOne);
**/
.callout {
  background-color: #EAF4FF;
  margin-top: 6rem;
  padding: 3rem;
  position: relative;
}
@media (min-width: 768px) {
  .callout {
    padding: 4rem;
  }
}
@media (min-width: 768px) and (max-width: 1318px) {
  .callout {
    padding: 3rem;
  }
  .callout__image {
    height: calc(100% + 3rem);
  }
}
.callout__image {
  bottom: 0;
  height: calc(100% + 6rem);
  position: absolute;
  right: 0;
  width: auto;
}
.callout__text,
.callout .button {
  position: relative;
  z-index: 1;
}
.callout__text {
  margin-bottom: 3rem;
  max-width: 50%;
}
.callout .button {
  margin: 0;
  width: 100%;
}

.calculator-toggle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  left: 0;
  position: absolute;
  top: -46px;
}
.calculator-toggle button {
  background-color: rgba(196, 196, 196, 0.6);
  color: rgba(0, 0, 0, 0.2);
  font-size: 1.6rem;
  font-weight: 600;
  min-width: 150px;
  padding: 1rem;
  cursor: pointer;
}
.calculator-toggle button.active {
  background-color: #fff;
  color: #000000;
}
.calculator-toggle button:first-child {
  border-top: 6px solid #d62e50;
}
.calculator-toggle button:last-child {
  border-top: 6px solid #f8ef56;
}

.input__currency {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 1rem 0;
  position: relative;
  width: 100%;
}
.input__currency:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDExIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik05LjcyNzI5IDFIMC43MjcyOTVMNS4yMjcyOSA2TDkuNzI3MjkgMVoiIGZpbGw9IiMwRjEwMkUiIHN0cm9rZT0iIzBGMTAyRSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
  height: 5px;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 9px;
}
.input__currency select {
  border: 1px solid #ebeef0;
  border-radius: 3px;
  cursor: pointer;
  font-size: 2rem;
  padding: 1rem;
  -webkit-appearance: none;
  -moz-appearance: none;
}
@media (min-width: 768px) {
  .input__currency select {
    min-width: 250px;
  }
}

.input__incremental {
  text-align: center;
}
@media print and (min-width: 480px) and (max-width: 1079px) {
  .input__incremental {
    margin: 0;
    padding: 0 3rem 3rem;
  }
}
.input__incremental input {
  background-color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 20px !important;
  line-height: 24px !important;
  font-size: 2rem !important;
  line-height: 2.4rem !important;
  padding: 1rem 1rem 0.5rem;
  text-align: center;
  width: 90px;
}
.input__incremental h3 {
  color: #0f102e;
  margin-bottom: 1rem;
}
.input__incremental-column {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.input__incremental__input-change {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-gap: 1rem;
  gap: 1rem;
}
.input__incremental__input {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  border-radius: 0.4rem;
  -webkit-box-shadow: 1.6px 1.6px 6.4px rgba(0, 0, 0, 0.07);
          box-shadow: 1.6px 1.6px 6.4px rgba(0, 0, 0, 0.07);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.3s ease;
  -o-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  width: 2rem;
}
.input__incremental__input:hover {
  background-color: rgba(89, 89, 89, 0.2);
}
.input__incremental__input span {
  height: 0.8rem;
  position: relative;
  width: 0.8rem;
}
.input__incremental__input span::before {
  background-color: #0f102e;
  content: "";
  height: 0.2rem;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
}
.input__incremental__input-change--increment.input__incremental__input span::after {
  background-color: #0f102e;
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0.2rem;
}

.utilization {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 1080px) {
  .utilization {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.utilization__header h3 {
  margin-bottom: 1rem;
}
.utilization__header p {
  color: #757575;
  font-size: 10px !important;
  line-height: 14px !important;
  font-size: 1rem !important;
  line-height: 1.4rem !important;
}
@media (min-width: 1319px) {
  .utilization__header p {
    max-width: 13rem;
  }
}
.utilization__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-gap: 3rem;
  gap: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 600px) {
  .utilization__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 600px) and (max-width: 899px) {
  .utilization__row {
    grid-gap: 6rem;
    gap: 6rem;
  }
}
.utilization__row h4 {
  color: #757575;
  text-align: center;
  margin-bottom: 2rem;
}
.utilization-increase {
  border-top: 0.2rem solid rgba(215, 215, 214, 0.6);
  padding-top: 2rem;
}
@media (min-width: 600px) {
  .utilization-increase {
    border-top: none;
    padding-left: 2rem;
    padding-top: 0;
    position: relative;
  }
  .utilization-increase::before {
    background-color: rgba(215, 215, 214, 0.6);
    bottom: -1rem;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    top: -1rem;
    width: 0.2rem;
  }
}
@media (min-width: 600px) and (max-width: 899px) {
  .utilization-increase {
    padding-left: 6rem;
  }
}
.utilization-increase-percentage {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #25c779;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 36px !important;
  line-height: 43px !important;
  font-size: 3.6rem !important;
  line-height: 4.3rem !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
}
.utilization-increase-percentage::before {
  border-style: solid;
  border-width: 0 6px 8px 6px;
  border-color: transparent transparent currentColor transparent;
  content: "";
  height: 0;
  margin-right: 0.5rem;
  width: 0;
}

.input__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-gap: 1rem;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 1319px) {
  .input__number {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .input__number h3 {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    min-width: 20rem;
    max-width: 21rem;
  }
}
.input__number input {
  background-color: #fff;
  border: none;
  border-radius: 0.5rem;
  font-size: 20px !important;
  line-height: 24px !important;
  font-size: 2rem !important;
  line-height: 2.4rem !important;
  padding: 1rem 1rem 0.5rem;
}

.input__radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-gap: 1rem;
  gap: 1rem;
}
@media (min-width: 1319px) {
  .input__radio {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.input__radio h3 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.input__radio__row {
  border-radius: 4.9rem;
  background-color: rgba(196, 196, 196, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 1319px) {
  .input__radio__row {
    max-width: 23.3rem;
    width: 100%;
  }
}
.input__radio__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.input__radio__item label {
  border-radius: 4.9rem;
  color: rgba(0, 0, 0, 0.2);
  cursor: pointer;
  font-weight: 700;
  line-height: 1;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: center;
}
.input__radio__item input[type=radio] {
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}
.input__radio__item input[type=radio]:checked + label {
  background-color: #02adef;
  color: #fff;
}

.input__range__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-gap: 1rem;
  gap: 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 1319px) {
  .input__range__top {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.input__range__price {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  border-radius: 0.5rem;
  color: #b7b9ba;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px !important;
  line-height: 19px !important;
  font-size: 1.6rem !important;
  line-height: 1.9rem !important;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  padding: 1rem 1rem 0.5rem;
}
@media (min-width: 1319px) {
  .input__range__price {
    max-width: 48%;
    width: 100%;
  }
}
.input__range__price .range-value {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0f102e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 20px !important;
  line-height: 24px !important;
  font-size: 2rem !important;
  line-height: 2.4rem !important;
}
.input__range__price .range-value:before {
  color: #b7b9ba;
  padding-right: 0.5rem;
  font-size: 16px !important;
  line-height: 19px !important;
  font-size: 1.6rem !important;
  line-height: 1.9rem !important;
}
.input__range__price .per-hour {
  font-size: 12px !important;
  line-height: 14px !important;
  font-size: 1.2rem !important;
  line-height: 1.4rem !important;
  margin-left: auto;
}
.input__range__bottom {
  color: #757575;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px !important;
  line-height: 26px !important;
  font-size: 1.4rem !important;
  line-height: 2.6rem !important;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 3rem;
}
.legend__item {
  font-size: 11px !important;
  line-height: 11px !important;
  font-size: 1.1rem !important;
  line-height: 1.1rem !important;
  margin: 0.5rem 0;
  padding: 0 1rem 0 3rem;
  position: relative;
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
}
@media (max-width: 899px) {
  .legend__item {
    -ms-flex-preferred-size: 33.33%;
        flex-basis: 33.33%;
  }
}
@media (max-width: 599px) {
  .legend__item {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}
.legend__item:before {
  background-color: #F963BD;
  border-radius: 100%;
  content: "";
  height: 10px;
  left: 0.5rem;
  position: absolute;
  top: 0;
  width: 10px;
}
.legend__item.overlay-green::before {
  background-color: #25c779;
}
.legend__item.overlay-80:before {
  background-color: #321426;
}
.legend__item.overlay-60:before {
  background-color: #64284c;
}
.legend__item.overlay-40:before {
  background-color: #953b71;
}
.legend__item.overlay-30:before {
  background-color: #ae4584;
}
.legend__item.overlay-20:before {
  background-color: #c74f97;
}
.legend__item.overlay-10:before {
  background-color: #e059aa;
}

.modal__inner .mktoForm {
  margin-top: 3rem;
  padding: 0 !important;
}
.modal__inner .mktoForm * {
  font-family: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.modal__inner .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
  background: #02adef;
  border: none;
  border-radius: 4px;
  font-size: 16px !important;
  line-height: 19px !important;
  font-size: 1.6rem !important;
  line-height: 1.9rem !important;
  padding: 1.25rem 3rem 0.6666666667rem;
  margin-top: 3rem;
  -webkit-transition: 500ms ease;
  -o-transition: 500ms ease;
  transition: 500ms ease;
}
.modal__inner .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
  background: #242323;
  border: none;
}
.modal__inner .mktoForm .mktoFieldWrap,
.modal__inner .mktoForm .mktoFormCol {
  float: none;
}
.modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton {
  -webkit-box-shadow: none;
          box-shadow: none;
  margin-left: 0;
  max-width: none;
  text-shadow: none !important;
  text-transform: none !important;
}
.modal__inner .mktoForm .mktoButtonWrap.mktoPaperMashup button.mktoButton:before {
  display: block !important;
}
.modal__inner .mktoForm input[type=text],
.modal__inner .mktoForm input[type=url],
.modal__inner .mktoForm input[type=email],
.modal__inner .mktoForm input[type=tel],
.modal__inner .mktoForm input[type=number],
.modal__inner .mktoForm input[type=date],
.modal__inner .mktoForm select.mktoField,
.modal__inner .mktoForm textarea.mktoField {
  border: 1px solid #757575;
  border-radius: 4px;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 16px !important;
  line-height: 19px !important;
  font-size: 1.6rem !important;
  line-height: 1.9rem !important;
  padding: 1rem 1rem 0.6666666667rem;
  width: 100% !important;
}
.modal__inner .mktoForm .mktoError .mktoErrorMsg {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-radius: 0px !important;
  background: #4c4c4e !important;
  border: 0 !important;
  left: 0 !important;
  right: auto !important;
  text-shadow: none !important;
  font-size: 80% !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  padding: 0.5em 0.6em !important;
  max-width: 100% !important;
}
.modal__inner .mktoForm .mktoError .mktoErrorArrow {
  background: #4c4c4e !important;
  border: 0 !important;
  width: 16px !important;
}
.modal__inner .mktoLabel,
.modal__inner .mktoHasWidth,
.modal__inner .mktoButtonRow {
  float: none !important;
  width: 100% !important;
}
.modal__inner .mktoLabel {
  font-size: 16px !important;
  line-height: 19px !important;
  font-size: 1.6rem !important;
  line-height: 1.9rem !important;
  font-weight: 400 !important;
}
.modal__inner .mktoGutter,
.modal__inner .mktoOffset,
.modal__inner .mktoForm .mktoRequiredField .mktoAsterix {
  display: none !important;
}
.modal__inner .mktoButtonWrap.mktoPaperMashup {
  margin-left: 0 !important;
}

.pricingTooltip {
  position: relative;
}
.pricingTooltip .tooltip {
  background: #fff;
  -webkit-box-shadow: 0px 0px 36px rgba(0, 0, 0, 0.36);
          box-shadow: 0px 0px 36px rgba(0, 0, 0, 0.36);
  display: none;
  left: -2.4rem;
  padding: 1rem 2rem 0.5rem;
  position: absolute;
  top: 42px;
  width: 250px;
  z-index: 1;
}
.pricingTooltip .tooltip::before {
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #fff;
  bottom: 100%;
  content: "";
  height: 0;
  left: 18px;
  position: absolute;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  width: 0;
}
.savings__chart-bar--right .chart-label .pricingTooltip .tooltip, .savings__chart-bar--right .chart-text__label .pricingTooltip .tooltip {
  left: auto;
  right: -2.4rem;
}
.savings__chart-bar--right .chart-label .pricingTooltip .tooltip:before, .savings__chart-bar--right .chart-text__label .pricingTooltip .tooltip:before {
  left: auto;
  right: 18px;
}
.modal .chart-label .pricingTooltip .tooltip, .modal .chart-text__label .pricingTooltip .tooltip {
  top: 28px;
}
.pricingTooltip p {
  font-size: 12px !important;
  line-height: 14px !important;
  font-size: 1.2rem !important;
  line-height: 1.4rem !important;
  font-weight: normal;
}
.pricingTooltip .tooltipIcon {
  position: relative;
  top: -0.2rem;
  width: 16px;
}
.pricingTooltip .tooltipIcon:hover + .tooltip, .pricingTooltip .tooltipIcon:focus + .tooltip {
  display: block;
}
.chart-label .pricingTooltip, .chart-text__label .pricingTooltip {
  padding-left: 0.125rem;
  top: 1px;
}

.savings__chart {
  border-top: 0.2rem solid rgba(215, 215, 214, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 6rem;
  padding-bottom: 8rem;
  position: relative;
}
@media (min-width: 1080px) {
  .savings__chart {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }
}
.savings__chart-bars {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  grid-gap: 2rem;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 220px;
}
@media (max-width: 899px) {
  .savings__chart-bars {
    height: 20rem;
  }
}
.savings__chart-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 20% !important;
  position: relative;
  -webkit-transition: height 300ms linear;
  -o-transition: height 300ms linear;
  transition: height 300ms linear;
  width: 125px;
}
.savings__chart-bar--left .savings__breakdown {
  background: #0085b9;
  color: #0085b9;
}
.savings__chart-bar--right .savings__breakdown {
  background: #262361;
  color: #262361;
}
.savings__chart-label {
  font-size: 12px !important;
  line-height: 12px !important;
  font-size: 1.2rem !important;
  line-height: 1.2rem !important;
  font-weight: 700;
  margin: 0 auto;
  padding: 1rem 0 3rem;
  text-align: center;
}
@media (min-width: 900px) {
  .savings__chart-label {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
.savings__chart .chart-text {
  bottom: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  position: absolute;
  font-size: 16px !important;
  line-height: 19px !important;
  font-size: 1.6rem !important;
  line-height: 1.9rem !important;
}
@media (min-width: 1080px) {
  .savings__chart .chart-text {
    text-align: center;
  }
}
.savings__chart .chart-text span {
  color: #0f102e;
  font-weight: bold;
}
.savings__chart .chart-text__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px !important;
  line-height: 17px !important;
  font-size: 1.4rem !important;
  line-height: 1.7rem !important;
}
@media (min-width: 1080px) {
  .savings__chart .chart-text__label {
    display: none;
  }
}
.savings__chart .chart-label {
  color: #0f102e;
  display: none;
  font-size: 14px !important;
  line-height: 17px !important;
  font-size: 1.4rem !important;
  line-height: 1.7rem !important;
  font-weight: 700;
  left: 0;
  position: absolute;
  text-align: center;
  top: calc(100% + 1rem);
  width: 100%;
}
@media (min-width: 1080px) {
  .savings__chart .chart-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.savings__chart .savings__breakdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}
.savings__chart .savings__breakdown__mobile {
  position: absolute;
  top: calc(100% + 0.5rem);
}
@media (min-width: 1080px) {
  .savings__chart .savings__breakdown__mobile {
    display: none;
  }
}
.savings__chart .savings__breakdown__mobile-revenue {
  color: #09894b;
  margin-bottom: 0.5rem;
}
.savings__chart .savings__breakdown__mobile-current {
  color: #0085b9;
}
.savings__chart .savings__breakdown__mobile-impact {
  color: #0f102e;
}
.savings__chart .savings__breakdown__mobile__label__number {
  font-size: 14px !important;
  line-height: 17px !important;
  font-size: 1.4rem !important;
  line-height: 1.7rem !important;
}
.savings__chart .savings__breakdown__mobile__label__legend {
  font-size: 12px !important;
  line-height: 12px !important;
  font-size: 1.2rem !important;
  line-height: 1.2rem !important;
}
.savings__chart .savings__breakdown__mobile__label span {
  display: block;
}
.savings__chart--psa-erp {
  padding-bottom: 20rem;
}
@media (min-width: 480px) {
  .savings__chart--psa-erp {
    padding-bottom: 14rem;
  }
}
@media (min-width: 1080px) {
  .savings__chart--psa-erp {
    padding-bottom: 5rem;
    padding-top: 8rem;
  }
}
.savings__chart--psa-erp .savings__chart-bar {
  max-width: 220px;
  width: 100%;
}
.savings__chart--psa-erp .savings__chart-instructions {
  background-color: rgba(196, 196, 196, 0.2);
  color: #757575;
  display: none;
  position: absolute;
  font-size: 1rem;
  text-align: center;
  top: 0;
  padding: 0.5rem 0;
  width: 100%;
}
@media (min-width: 1080px) {
  .savings__chart--psa-erp .savings__chart-instructions {
    display: block;
  }
}
.savings__chart--psa-erp .savings__breakdown__mobile-revenue, .savings__chart--psa-erp .savings__breakdown__mobile-fteInBfa, .savings__chart--psa-erp .savings__breakdown__mobile-impact {
  margin: 1rem 0;
}
.savings__chart--psa-erp .savings__breakdown__mobile__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.savings__chart--psa-erp .savings__breakdown__mobile__label__number, .savings__chart--psa-erp .savings__breakdown__mobile__label__legend {
  color: #0f102e;
}
.savings__chart--psa-erp .savings__breakdown__mobile__label .color-key {
  border: 1px solid #b7b9ba;
  background-color: #0085b9;
  display: inline-block;
  margin-top: 3px;
  margin-right: 0.5rem;
  min-height: 9px;
  min-width: 9px;
}
.savings__chart--psa-erp .savings__breakdown__mobile .overlay-80 .color-key {
  background-color: #25c779;
}
.savings__chart--psa-erp .savings__breakdown__mobile .overlay-yellow .color-key {
  background-color: #E8A21B;
}

.savings__range {
  border-radius: 30px;
  -webkit-box-shadow: 0 0 8px rgba(89, 89, 89, 0.5);
          box-shadow: 0 0 8px rgba(89, 89, 89, 0.5);
  margin: 0 4rem 4rem;
  padding: 5px;
}
@media (min-width: 900px) {
  .savings__range {
    margin-bottom: 3rem;
  }
}

.savings__total {
  text-align: center;
}
.savings__total span {
  display: block;
  font-size: 40px !important;
  line-height: 48px !important;
  font-size: 4rem !important;
  line-height: 4.8rem !important;
}
.savings__total span span {
  color: #616163;
  font-size: 20px !important;
  line-height: 24px !important;
  font-size: 2rem !important;
  line-height: 2.4rem !important;
  margin-top: 1rem;
}

.svg-wrapper {
  position: relative;
}
.svg-wrapper div {
  top: 50%;
  display: inline-block;
  left: 50%;
  position: absolute;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.svg-wrapper div > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 54px !important;
  line-height: 54px !important;
  font-size: 5.4rem !important;
  line-height: 5.4rem !important;
}
.svg-wrapper div p {
  color: #0f102e;
  font-weight: 400;
  font-size: 14px !important;
  line-height: 20px !important;
  font-size: 1.4rem !important;
  line-height: 2rem !important;
  margin-top: 6px;
}
.svg-wrapper svg {
  -webkit-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
          transform: scaleX(-1);
  width: 100%;
}
.svg-wrapper--half-circle div {
  bottom: 0%;
  top: auto;
  -webkit-transform: translate(-50%, 12%);
      -ms-transform: translate(-50%, 12%);
          transform: translate(-50%, 12%);
}

.index {
  padding: 3rem 0;
}
.index h1 {
  color: #fff;
  margin-bottom: 1rem;
}
.index ul {
  margin: 0;
  padding: 0;
}
.index ul li a {
  color: #fff;
  text-decoration: underline;
}

.inputs {
  padding: 0 3rem 4rem;
}
@media (min-width: 768px) {
  .inputs {
    padding: 0 60px 36px;
  }
}
@media (min-width: 900px) {
  .inputs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    padding: 1rem 0 3rem;
  }
  .inputs > div {
    width: 45%;
  }
}
@media (min-width: 992px) {
  .inputs > div {
    width: 20%;
  }
}

.modal {
  background: rgba(0, 0, 0, 0.4);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 3;
}
.modal__body {
  background: #fff;
  padding: 4rem 6rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 100%;
}
@media (min-width: 992px) {
  .modal__body {
    left: 50%;
    max-width: 1180px;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
.modal .row {
  grid-gap: 6rem;
  gap: 6rem;
}
.modal .column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.modal .column:first-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.modal .column:first-child h2 {
  margin-bottom: 1rem;
  font-size: 28px !important;
  line-height: 34px !important;
  font-size: 2.8rem !important;
  line-height: 3.4rem !important;
}
@media (min-width: 900px) {
  .modal .column:first-child h2 {
    font-size: 34px !important;
    line-height: 41px !important;
    font-size: 3.4rem !important;
    line-height: 4.1rem !important;
  }
}
.modal .column:last-child {
  display: none;
}
@media (min-width: 900px) {
  .modal .column:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1.5;
        -ms-flex: 1.5;
            flex: 1.5;
  }
}
.modal__inner {
  max-height: 80vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 992px) {
  .modal__list-box {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}
.modal__list-box ul {
  padding: 0 36px;
  width: 100%;
}
@media (min-width: 992px) {
  .modal__list-box ul {
    width: 45%;
  }
}
.modal__list-box li {
  padding: 6px 0;
}
.modal__close {
  font-weight: 300;
  height: 1.5rem;
  position: absolute;
  right: 2rem;
  top: 2rem;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 1.5rem;
  z-index: 1;
}
.modal__close::before, .modal__close::after {
  background-color: #757575;
  display: block;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.modal__close::before {
  width: 100%;
  height: 0.2rem;
}
.modal__close::after {
  width: 0.2rem;
  height: 100%;
}
.modal .savings__chart {
  margin-top: 0;
}
.modal__thank-you {
  display: none;
  margin-top: 3rem;
}
.modal#tac .modal__body {
  max-width: 800px;
}
@media (min-width: 900px) {
  .modal#tac .row > div {
    width: 100%;
  }
}
.modal#tac .row > div:last-child {
  display: block;
}
@media (min-width: 900px) {
  .modal#tac .row > div:last-child {
    padding-bottom: 4rem;
  }
}

.results .step__heading {
  padding: 0 1rem;
  text-align: center;
}
@media (min-width: 992px) {
  .results .step__heading {
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
    padding: 0 3rem;
  }
}
.results__restart img, .results__print img {
  display: inline-block;
  margin-right: 0.5rem;
  position: relative;
  top: -1px;
  width: 18px;
}
.results__print {
  display: none;
}
@media (min-width: 992px) {
  .results__print {
    display: block;
  }
}

.calculator {
  background-color: #fff;
  border-top: 0.6rem solid;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  -o-border-image: -o-linear-gradient(left, #02adef 59%, #ea3a11 59%) 5;
     border-image: -webkit-gradient(linear, left top, right top, color-stop(59%, #02adef), color-stop(59%, #ea3a11)) 5;
     border-image: linear-gradient(to right, #02adef 59%, #ea3a11 59%) 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-gap: 2rem;
  gap: 2rem;
  padding: 2rem;
  position: relative;
}
@media (min-width: 900px) {
  .calculator {
    -o-border-image: -o-linear-gradient(left, #d62e50 32%, #02adef 32%, #02adef 59%, #ea3a11 59%, #ea3a11 66%, #f8ef56 66%) 5;
       border-image: -webkit-gradient(linear, left top, right top, color-stop(32%, #d62e50), color-stop(32%, #02adef), color-stop(59%, #02adef), color-stop(59%, #ea3a11), color-stop(66%, #ea3a11), color-stop(66%, #f8ef56)) 5;
       border-image: linear-gradient(to right, #d62e50 32%, #02adef 32%, #02adef 59%, #ea3a11 59%, #ea3a11 66%, #f8ef56 66%) 5;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 2rem 4rem 4rem;
  }
}
.calculator .button {
  margin-left: auto;
  margin-right: auto;
}
.calculator-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.calculator-column:first-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  grid-gap: 2rem;
  gap: 2rem;
}
.calculator-column:last-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.calculator-column h3 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  grid-gap: 0.5rem;
  gap: 0.5rem;
}
.calculator-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-gap: 2rem;
  gap: 2rem;
  width: 100%;
}
.calculator-box {
  background-color: #ebeef0;
  grid-gap: 2rem;
  gap: 2rem;
  padding: 2rem;
}
@media (min-width: 900px) {
  .calculator-box {
    padding: 3rem;
  }
}
@media (min-width: 900px) {
  .calculator-box.utilization {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media (min-width: 900px) {
  .calculator .input__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
  }
  .calculator .inputs-growth {
    width: 100%;
  }
}
.calculator--psa-erp {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 1080px) {
  .calculator--psa-erp {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.calculator--psa-erp .calculator-column {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  max-width: 100%;
}
@media (min-width: 1080px) {
  .calculator--psa-erp .calculator-column {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 50%;
  }
}

.currency-usd .input__range__bottom > span:before,
.currency-usd .input__range__price > .range-value:before,
.currency-usd .savings__total > h2 > span:before,
.currency-usd .chart-text > span:before,
.currency-usd .savings__breakdown__mobile__label__number:before,
.currency-usd .bar-overlay__label__number:before {
  content: "$";
}

.currency-aud .input__range__bottom > span:before,
.currency-aud .input__range__price > .range-value:before,
.currency-aud .savings__total > h2 > span:before,
.currency-aud .chart-text > span:before,
.currency-aud .savings__breakdown__mobile__label__number:before,
.currency-aud .bar-overlay__label__number:before {
  content: "A$";
}

.currency-euro .input__range__bottom > span:before,
.currency-euro .input__range__price > .range-value:before,
.currency-euro .savings__total > h2 > span:before,
.currency-euro .chart-text > span:before,
.currency-euro .savings__breakdown__mobile__label__number:before,
.currency-euro .bar-overlay__label__number:before {
  content: "€";
}

.currency-gbp .input__range__bottom > span:before,
.currency-gbp .input__range__price > .range-value:before,
.currency-gbp .savings__total > h2 > span:before,
.currency-gbp .chart-text > span:before,
.currency-gbp .savings__breakdown__mobile__label__number:before,
.currency-gbp .bar-overlay__label__number:before {
  content: "£";
}

.title {
  color: white;
  text-align: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.title h1 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.title p {
  font-size: 16px !important;
  line-height: 24px !important;
  font-size: 1.6rem !important;
  line-height: 2.4rem !important;
  margin: 0 auto;
  max-width: 550px;
}
.title svg {
  width: 163px;
}

.wrapper--psa-erp .title {
  padding-bottom: 6rem;
}
.wrapper--psa-erp .title p {
  max-width: 880px;
  font-size: 14px !important;
  line-height: 24px !important;
  font-size: 1.4rem !important;
  line-height: 2.4rem !important;
}

.footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.footer p {
  color: #a6a6a6;
  font-size: 10px !important;
  line-height: 12px !important;
  font-size: 1rem !important;
  line-height: 1.2rem !important;
  margin: 0 auto;
  max-width: 620px;
  text-align: center;
}

.wrapper--psa-erp .footer p {
  max-width: 1010px;
}

@media print {
  @page {
    size: landscape;
  }
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body {
    -webkit-print-color-adjust: exact !important;
  }

  .step-1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .step > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }

  .step__left {
    width: calc(99% - 422px) !important;
  }

  .step__right {
    width: 422px !important;
  }

  .button,
.results__restart {
    display: none;
  }

  .savings {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .savings > div:first-child {
    width: calc(100% - 422px);
  }
  .savings > div:last-child {
    width: 422px;
  }
  .savings .button {
    display: none;
    margin: 0 auto;
  }
  .savings__total {
    padding: 0 0 60px;
  }
  .savings__range {
    -webkit-box-shadow: none;
            box-shadow: none;
    margin-top: 25px;
    margin-bottom: 0;
  }

  .inputs {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    margin-top: 25px;
    padding-bottom: 0;
  }
  .inputs__input {
    width: 22%;
  }
  .inputs__input-change {
    display: none;
  }
  .inputs__input input[type=text] {
    padding: 0 0 0 50px;
  }

  .gate {
    display: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FOd2xCRjs7QU10bEJBO0VBQ0U7QU55bEJGOztBTXZsQkE7RUFDRTtBTjBsQkY7O0FNeGxCQTtFQUNFO0FOMmxCRjs7QU16bEJBO0VBQ0U7QU40bEJGOztBTTFsQkE7RUFDRTtBTjZsQkY7O0FNM2xCQTtFQUNFO0FOOGxCRjs7QU01bEJBO0VBQ0U7QU4rbEJGOztBTTdsQkE7RUFDRTtBTmdtQkY7O0FNOWxCQTtFQUNFO0FOaW1CRjs7QU0vbEJBO0VBQ0U7QU5rbUJGOztBTWhtQkE7RUFDRTtBTm1tQkY7O0FNam1CQTtFQUNFO0FOb21CRjs7QU9qckJBO0VBQUE7QUNLQTtFQUNFO0VBQUE7RUFDQSxpQkNOZTtFRE9mLGtCRERnQjtFQ0NoQixtQkREZ0I7QVBrckJsQjs7QVE5cUJBO0VBQ0U7RUFBQTtFQUFBO0VBQ0E7TUFBQTtBUmlyQkY7O0FVOXJCQTs7O0VBQUE7QUNLQTtFQUNFO0VBQ0E7QVhnc0JGOztBVzdyQkE7O0VBRUUsNkpOTEs7QUxxc0JQOztBVzdyQkE7OztFQUdFO0FYZ3NCRjs7QVduckJBO0VBQ0U7QVhzckJGO0FZanRCQTtFQUNFO0VBQUE7QVpxdEJGOztBWW50QkE7RUZERTtFQUNBO0VBQ0E7RUFDQTtBVnd0QkY7O0FZdnRCQTs7RUZKRTtFQUNBO0VBQ0E7RUFDQTtBVmd1QkY7O0FZM3RCQTtFQUNFO0VGVEE7RUFDQTtFQUNBO0VBQ0E7QVZ3dUJGOztBYXh1QkE7RUFDSTtFQUFhO0VBQ2I7RUFBb0I7RUFDcEI7RUFBd0I7RUFDeEI7RUFBYztFQUNkO0VBQ0E7RUFBVztBYmd2QmY7O0FhN3VCQTtFQUNJO0FiZ3ZCSjs7QWNsd0JBO0VBQ0UsY0NZUTtFRFhSO0VBQUE7RUFBQTtFQUNBO0FkcXdCRjtBY2x3QkU7RUFFRSxjQ01XO0FmNnZCZjs7QWdCendCQTtFQUNFO1VBQUE7RUFDQTtFQUNBO0VBQ0E7QWhCNHdCRjs7QWdCendCQTtFQUNFO0VBQ0E7RUFDQTtBaEI0d0JGOztBZ0J6d0JBO0VBQ0UseUJEZ0JPO0VDZlAsY0RlTztFQ2JMLGlCQ3ZCTTtFRHdCTiw2SlhmRztFV2lCTDtFQUNBO0VBQ0E7TUFBQTtBaEIwd0JGOztBa0I1d0JBOzs7RUFHRTtBbEIrd0JGOztBbUJ4eUJBO0VBQ0U7QW5CMnlCRjs7QW1CeHlCQTtFQUNFO0FuQjJ5QkY7O0FtQnh5QkE7RUFDRTtFQUFBO0FuQjJ5QkY7O0FvQnB6QkE7RUFDRTtFQUNBO0VBQ0EsNkpmRUs7RWVETDtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0FwQnV6QkY7QW9CdHpCRTtFQUNFLG1CTDBCSTtFS3pCSixXTGVJO0VLZEo7RUFBQTtFQUFBO0VBQ0E7RUFDQSxlYlhjO0VhWWQsa0JiVmM7QVBrMEJsQjtBb0J2ekJJO0VBQ0UsbUJMaUJHO0Fmd3lCVDtBb0J2ekJJO0VBQ0UseUJMY0c7RUtiSDtFQUNBO0VBQ0E7RUFDQSxpQmJ0QlM7RWF1QlQsYWJ2QlM7RWF3QlQ7QXBCeXpCTjtBb0J0ekJFO0VBQ0UsY0xNSTtFS0xKO0FwQnd6Qko7QW9CdnpCSTtFQUNFLG1CYjlCWTtFYStCWjtNQUFBO1VBQUE7QXBCeXpCTjtBb0J4ekJNO0VBQ0U7QXBCMHpCUjtBb0J2ekJJO0VBQ0UsY0xORztBZit6QlQ7QW9CeHpCTTtFQUNFLG1CYnZDVTtBUGkyQmxCO0FvQnp6QlE7RUFDRSxhTFZEO0FmcTBCVDs7QW9CcHpCRTtFQUNFO01BQUE7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtVQUFBO0FwQnV6Qko7QXFCOTFCRTtFRG1DQTtJQU1JO0lBQUE7UUFBQTtZQUFBO0VwQnl6Qko7QUFDRjtBb0J4ekJJO0VBQ0U7RUFBQTtBcEIwekJOO0FxQnQyQkU7RUQyQ0U7SUFHSTtJQUFBO0lBQ0E7SUFDQSxpQmIzRFU7RVB1M0JoQjtFb0IzekJNO0lBQ0U7RXBCNnpCUjtBQUNGOztBc0I3MEJBO0VBQ0U7RUFDQTtFQUNBLGtCQTlCYTtFQStCYixXQXRDYTtFQXVDYjtFQUNBLFdBekNZO0F0QnkzQmQ7QXNCOTBCRTtFQUNFO0F0QmcxQko7QXNCNzBCRTtFQUNFO0F0QiswQko7QXNCNzBCSTtFQUNFO0F0QiswQk47QXNCNTBCSTtFQUVFLG1CUHBDRTtBZmkzQlI7QXNCMTBCSTtFQUNFO0F0QjQwQk47QXNCeDBCRTtFQTlDQTtFQUNBLFdBbEJhO0VBbUJiO0VBQUE7RUFDQSxXQXJCWTtFQWtFViwrQkE5RVU7RUErRVYsa0JBM0RXO0F0Qnc0QmY7QXNCMTBCRTtFQXhEQTtVQUFBO0VBWUEsbUJQTk07RU9PTjtFQUNBLG1CQXJDYTtFQXNDYjtVQUFBO0VBQ0E7RUFDQSxZQXZDYTtFQXdDYixXQXZDWTtFQStFVjtFQUNBO0F0Qm0xQko7QXNCaDFCRTtFQTFEQTtFQUNBLFdBbEJhO0VBbUJiO0VBQUE7RUFDQSxXQXJCWTtFQStFViwrQkEzRlU7RUE0RlY7QXRCbzFCSjtBc0JqMUJFO0VBckVBO0VBWUEsbUJQTk07RU9PTjtFQUNBLG1CQXJDYTtFQXNDYjtFQUNBO0VBQ0EsWUF2Q2E7RUF3Q2IsV0F2Q1k7QXRCcTdCZDtBc0J2MUJFO0VBckVBO0VBQ0EsV0FsQmE7RUFtQmI7RUFBQTtFQUNBLFdBckJZO0VBMkZWO0F0QjAxQko7QXNCdDFCRTtFQUNFLG1CUDVFSTtBZm82QlI7QXNCcjFCRTtFQUNFLG1CUGhGSTtBZnU2QlI7QXNCcDFCRTtFQUNFLCtCQXBIVTtBdEIwOEJkO0FzQm4xQkU7RUE3RkE7RUFZQSxtQlBOTTtFT09OO0VBQ0EsbUJBckNhO0VBc0NiO0VBQ0E7RUFDQSxZQXZDYTtFQXdDYixXQXZDWTtFQW9IVjtBdEI0MUJKO0FzQngxQkk7RUFNRTtBdEJxMUJOOztBdUIvOUJBO0VBQ0U7QXZCaytCRjtBdUJqK0JFO0VBQ0U7SUFBSztZQUFBO0V2Qm8rQlA7RXVCbitCRTtJQUFPO1lBQUE7RXZCcytCVDtBQUNGO0F1QnorQkU7RUFDRTtJQUFLO1lBQUE7RXZCbytCUDtFdUJuK0JFO0lBQU87WUFBQTtFdkJzK0JUO0FBQ0Y7QXVCcitCRTtFQUNFO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJ1K0JKO0FxQi85QkU7RUViQTtJQU9JO0V2QnkrQko7QUFDRjtBdUJ2K0JFO0VBQ0U7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCeStCSjtBcUI1K0JFO0VFSEE7SUFRSTtFdkIyK0JKO0FBQ0Y7O0F3QjkvQkE7RUFDRTtFQUNBO0F4QmlnQ0Y7QXdCaGdDRTtFQUNFO01BQUE7VUFBQTtBeEJrZ0NKO0F3QmhnQ0U7RUFDRTtFQUNBO0VBQ0E7RWRQRjtFQUNBO0VBQ0E7RUFDQTtFY01FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCcWdDSjtBcUJ2Z0NFO0VHUEE7SUFXSTtFeEJ1Z0NKO0FBQ0Y7QXFCNWdDRTtFR01FO0lBR0k7RXhCdWdDTjtBQUNGO0F3QnJnQ0k7RWR2QkY7RUFDQTtFQUNBO0VBQ0E7RWNzQkk7QXhCMGdDTjtBd0J2Z0NFO0VBQ0UseUJUS0s7QWZvZ0NUO0F3QnhnQ0k7RUFDRSxjVEdHO0FmdWdDVDtBd0J6Z0NNO0VBQ0U7QXhCMmdDUjtBd0J2Z0NFO0VBQ0U7QXhCeWdDSjtBd0JyZ0NJO0VBQ0U7RUFDQTtFQUNBO0F4QnVnQ047QXdCbmdDTTtFQUNFO0F4QnFnQ1I7O0F3QjcvQkk7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZWpCbkVZO0VpQm9FWjtFQUNBO0VBQ0E7TUFBQTtVQUFBO0F4QmlnQ047QXdCaGdDTTs7O0VBRUUsV1RsREE7RVNtREE7QXhCbWdDUjtBd0JqZ0NNOztFQUNFLHFCakI3RVU7QVBpbENsQjtBd0JsZ0NNOztFQUNFO0F4QnFnQ1I7QXdCbmdDTTs7RUFDRTtFQUNBLHlCVHBEQztFU3FERDtFQUNBLG9CakJ0RlU7RWlCdUZWO0VBQ0E7QXhCc2dDUjtBd0JwZ0NNOztFQUNFO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtBeEJ1Z0NSO0F3Qm5nQ007O0VBQ0U7QXhCc2dDUjtBcUJqbUNFO0VHMEZJOztJQUdJO0V4QnlnQ1I7QUFDRjtBd0JyZ0NFO0VBQ0U7QXhCdWdDSjtBd0J0Z0NJO0VBQ0U7QXhCd2dDTjtBd0J2Z0NNO0VBQ0U7QXhCeWdDUjtBd0J4Z0NRO0VBQ0U7RUFDQTtNQUFB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QzNnREU7RUFDRSxjbEJkSztFa0JlTDtFQUFBO0VBQUE7RXZCdENGO0VBQ0E7RUFDQTtFQUNBO0V1QnFDRTtNQUFBO1VBQUE7QWpDZ2hESjs7QWtDN2pEQTtFQUNFO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBLGdCM0JDZ0I7QVArakRsQjtBa0MvakRFO0V4QkFBO0VBQ0E7RUFDQTtFQUNBO0V3QkRFO0VBQ0E7RUFDQTtFQUNBO01BQUE7QWxDb2tESjtBcUJuakRFO0VhdEJBO0lBT0k7UUFBQTtFbENza0RKO0FBQ0Y7QXFCeGpERTtFYXRCQTtJQVVJO1FBQUE7RWxDd2tESjtBQUNGO0FrQ3ZrREk7RUFDRSx5Qm5CaEJDO0VtQmlCRDtFQUNBO0VBQ0E7RUFDQSxZM0JuQlk7RTJCb0JaO0VBQ0E7RUFDQTtBbEN5a0ROO0FrQ3RrRE07RUFDRSx5Qm5CVUM7QWY4akRUO0FrQ3RrRE07RUFDRSx5Qm5CZkk7QWZ1bERaO0FrQ3RrRE07RUFDRSx5Qm5CakJJO0FmeWxEWjtBa0N0a0RNO0VBQ0UseUJuQm5CSTtBZjJsRFo7QWtDdGtETTtFQUNFLHlCbkJyQkk7QWY2bERaO0FrQ3RrRE07RUFDRSx5Qm5CekNJO0FmaW5EWjtBa0N0a0RNO0VBQ0UseUJuQnpCSTtBZmltRFo7O0FtQ2huREU7RUFDRSxnQjVCSGM7RTRCSWQ7QW5DbW5ESjtBbUNsbkRJO0VBQ0UsNko5Qk5DO0FMMG5EUDtBbUNsbkRJO0VBQ0UsbUJwQnNCRTtFb0JyQkY7RUFDQSxrQkFiVTtFekJFZDtFQUNBO0VBQ0E7RUFDQTtFeUJVSTtFQUNBLGdCNUJkWTtFNEJlWjtFQUFBO0VBQUE7QW5DdW5ETjtBbUN0bkRNO0VBQ0UsbUJwQlJPO0VvQlNQO0FuQ3duRFI7QW1DcG5ESTs7RUFFRTtBbkNzbkROO0FtQ3BuREk7RUFHRTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Db25ETjtBbUNubkRNO0VBQ0U7QW5DcW5EUjtBbUNsbkRJOzs7Ozs7OztFQVFFO0VBQ0Esa0JBakRVO0VBa0RWO1VBQUE7RXpCaERKO0VB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Q0E7RUFDQTtFQUNBO0VvQ0NBO0VBQ0E7QTlDbTNFRjtBOENqM0VDO0VBQ0M7QTlDbTNFRjs7QThDLzJFQztFQUNDLG9CdkNYa0I7QVA2M0VwQjtBOENqM0VFO0VBQ0M7RXBDZkQ7RUFDQTtFQUNBO0VBQ0E7QVZtNEVGOztBK0M1NEVBO0VBQ0UsaUJ4Q0lnQjtFd0NKaEIsb0J4Q0lnQjtBUDI0RWxCO0ErQzk0RUU7RUFDRSxjaEM0Qks7RUx6QlA7RUFDQTtFQUNBO0VBQ0E7RXFDSkU7RUFDQTtFQUNBO0EvQ201RUo7O0ErQzk0RUk7RUFDRTtBL0NpNUVOOztBZ0RsNkVBO0VBQ0U7SUFDRTtFaERxNkVGO0VnRG42RUE7SUFDSTtJQUNBO0VoRHE2RUo7O0VnRG42RUE7SUFDRTtFaERzNkVGOztFZ0RwNkVBO0lBQ0U7SUFBQTtJQUFBO0VoRHU2RUY7O0VnRHI2RUE7SUFDRTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtFaER3NkVGOztFZ0R0NkVBO0lBQ0U7RWhEeTZFRjs7RWdEdjZFQTtJQUNFO0VoRDA2RUY7O0VnRHg2RUE7O0lBRUU7RWhEMjZFRjs7RWdEejZFQTtJQUNFO0lBQUE7SUFBQTtJQUNBO1FBQUE7WUFBQTtFaEQ0NkVGO0VnRDM2RUU7SUFDRTtFaEQ2NkVKO0VnRDM2RUU7SUFDRTtFaEQ2NkVKO0VnRDM2RUU7SUFDRTtJQUNBO0VoRDY2RUo7RWdEMzZFRTtJQUNFO0VoRDY2RUo7RWdEMzZFRTtJQUNFO1lBQUE7SUFDQTtJQUNBO0VoRDY2RUo7O0VnRDE2RUE7SUFDRTtRQUFBO1lBQUE7SUFDQTtJQUFBO0lBQUE7SUFDQTtRQUFBO0lBQ0E7SUFDQTtFaEQ2NkVGO0VnRDU2RUU7SUFDRTtFaEQ4NkVKO0VnRDc2RUk7SUFDRTtFaEQrNkVOO0VnRDc2RUk7SUFDRTtFaEQrNkVOOztFZ0QzNkVBO0lBQ0U7RWhEODZFRjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8xX2NvcmUvX3Jlc2V0cy5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vMV9jb3JlL19oZWxwZXJzLmNsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8xX2NvcmUvX2hlbHBlcnMuaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8wX3V0aWxpdHkvbWl4aW5zL19mb250cy5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vMF91dGlsaXR5L3ZhcmlhYmxlcy9fZm9udC1mYW1pbHkuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzFfY29yZS9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzBfdXRpbGl0eS92YXJpYWJsZXMvX3NwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzFfY29yZS9fd3JhcHBlci5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vMF91dGlsaXR5L3ZhcmlhYmxlcy9fbWF4LXdpZHRoLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8wX3V0aWxpdHkvbWl4aW5zL19mb250LXNpemUuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzFfY29yZS9odG1sL19mb3Jtcy5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vMV9jb3JlL2h0bWwvX2hlYWRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8xX2NvcmUvaHRtbC9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8xX2NvcmUvaHRtbC9fbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzBfdXRpbGl0eS92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vMV9jb3JlL2h0bWwvX3BhZ2Uuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzBfdXRpbGl0eS92YXJpYWJsZXMvX2ZvbnQtc2l6ZXMuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzFfY29yZS9odG1sL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzFfY29yZS9odG1sL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8yX3BpZWNlcy9fYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8wX3V0aWxpdHkvbWl4aW5zL19icmVha3BvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8yX3BpZWNlcy9fcG93ZXJyYW5nZS5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vMl9waWVjZXMvX3N0cmVhbWluZy1pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9fYmFyLW92ZXJsYXkuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzBfdXRpbGl0eS9taXhpbnMvX3otaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vM19jb21wb25lbnRzL19jYWxjdWxhdG9yLXRvZ2dsZS5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vM19jb21wb25lbnRzL19pbnB1dF9fY3VycmVuY3kuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9faW5wdXRfX2luY3JlbWVudGFsLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8zX2NvbXBvbmVudHMvX3V0aWxpemF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8zX2NvbXBvbmVudHMvX2lucHV0X19udW1iZXIuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9faW5wdXRfX3JhZGlvLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8zX2NvbXBvbmVudHMvX2lucHV0c19fcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9fbGVnZW5kLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi8zX2NvbXBvbmVudHMvX21hcmtldG8tZm9ybS5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vM19jb21wb25lbnRzL19wcmljaW5nLXRvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9fc2F2aW5nc19fY2hhcnQuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9fc2F2aW5nc19fcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9fc2F2aW5nc19fdG90YWwuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzNfY29tcG9uZW50cy9fc3ZnLXdyYXBwZXIuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzRfcmVnaW9ucy9faW5kZXguc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzRfcmVnaW9ucy9faW5wdXRzLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi80X3JlZ2lvbnMvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vZmluYW5jaWFsZm9yY2Utcm9pLWNhbGN1bGF0b3IvLi80X3JlZ2lvbnMvX3Jlc3VsdHMuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzRfcmVnaW9ucy9fY2FsY3VsYXRvci5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vNF9yZWdpb25zL190aXRsZS5zY3NzIiwid2VicGFjazovL2ZpbmFuY2lhbGZvcmNlLXJvaS1jYWxjdWxhdG9yLy4vNF9yZWdpb25zL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9maW5hbmNpYWxmb3JjZS1yb2ktY2FsY3VsYXRvci8uLzVfcGFnZXMvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohIHNhbml0aXplLmNzcyB2NS4wLjAgfCBDQzAgTGljZW5zZSB8IGdpdGh1Yi5jb20vam9uYXRoYW50bmVhbC9zYW5pdGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50IChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNzZW1hbnRpY3MpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgcmVwZWF0aW5nIGJhY2tncm91bmRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIGJveCBzaXppbmcgaW5oZXJpdGVuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4qIDEuIEFkZCB0ZXh0IGRlY29yYXRpb24gaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4qIDIuIEFkZCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW5oZXJpdGVuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4qL1xuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qKlxuKiAxLiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4qIDIuIEFkZCB0aGUgZGVmYXVsdCBjdXJzb3IgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4qIDMuIFByZXZlbnQgZm9udCBzaXplIGFkanVzdG1lbnRzIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG59XG5cbi8qIFNlY3Rpb25zIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNzZWN0aW9ucylcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2dyb3VwaW5nLWNvbnRlbnQpXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4qIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4qIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4qL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4qIFJlbW92ZSB0aGUgbGlzdCBzdHlsZSBvbiBuYXZpZ2F0aW9uIGxpc3RzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuKi9cbm5hdiBvbCxcbm5hdiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4qL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCN0ZXh0LWxldmVsLXNlbWFudGljcylcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4qIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqL1xufVxuXG4vKipcbiogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4qIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4qIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4qL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4qIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4qL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4vKipcbiogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4qIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuKiBhbGwgYnJvd3NlcnMuXG4qL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLypcbiogUmVtb3ZlIHRoZSB0ZXh0IHNoYWRvdyBvbiB0ZXh0IHNlbGVjdGlvbnMgKG9waW5pb25hdGVkKS5cbiogMS4gUmVzdG9yZSB0aGUgY29sb3JpbmcgdW5kb25lIGJ5IGRlZmluaW5nIHRoZSB0ZXh0IHNoYWRvdyAob3BpbmlvbmF0ZWQpLlxuKi9cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkNGZjO1xuICAvKiAxICovXG4gIGNvbG9yOiAjMDAwMDAwO1xuICAvKiAxICovXG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7XG4gIC8qIDEgKi9cbiAgY29sb3I6ICMwMDAwMDA7XG4gIC8qIDEgKi9cbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2VtYmVkZGVkLWNvbnRlbnQuaHRtbCNlbWJlZGRlZC1jb250ZW50KVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiogQ2hhbmdlIHRoZSBhbGlnbm1lbnQgb24gbWVkaWEgZWxlbWVudHMgaW4gYWxsIGJyb3dlcnMgKG9waW5pb25hdGVkKS5cbiovXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqXG4qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4qIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4qIENoYW5nZSB0aGUgZmlsbCBjb2xvciB0byBtYXRjaCB0aGUgdGV4dCBjb2xvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiovXG5zdmcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi8qKlxuKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFRhYnVsYXIgZGF0YSAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvdGFibGVzLmh0bWwjdGFibGVzKVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4qIENvbGxhcHNlIGJvcmRlciBzcGFjaW5nXG4qL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4vKiBGb3JtcyAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNmb3Jtcylcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4qL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiogSW5oZXJpdCBzdHlsaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xufVxuXG4vKipcbiogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4qIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4qIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4qIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbn1cblxuLyoqXG4qIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiogMS4gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiogMi4gQ2hhbmdlIHRoZSByZXNpemUgZGlyZWN0aW9uIG9uIHRleHRhcmVhcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4qIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4qIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4qIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4qIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4qL1xuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4qL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmUgZWxlbWVudHMgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjaW50ZXJhY3RpdmUtZWxlbWVudHMpXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuKi9cbmRldGFpbHMsXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmcgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3NjcmlwdGluZy0zKVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVXNlciBpbnRlcmFjdGlvbiAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNlZGl0aW5nKVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiogUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IG9uIGNsaWNrYWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuKiAxLiBSZW1vdmUgdGhlIHRhcHBpbmcgZGVsYXkgaW4gSUUgMTAuXG4qL1xuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLyogMSAqL1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuLyoqXG4qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFSSUEgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9odG1sLWFyaWEvKVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4qIENoYW5nZSB0aGUgY3Vyc29yIG9uIGJ1c3kgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cbiovXG5bYXJpYS1idXN5PXRydWVdIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLypcbiogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuKi9cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiogQ2hhbmdlIHRoZSBkaXNwbGF5IG9uIHZpc3VhbGx5IGhpZGRlbiBhY2Nlc3NpYmxlIGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXG4qL1xuW2FyaWEtaGlkZGVuPWZhbHNlXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vKlxuKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBkaXNhYmxlZCwgbm90LWVkaXRhYmxlLCBvciBvdGhlcndpc2VcbiogaW5vcGVyYWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuKi9cblthcmlhLWRpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xufVxuXG4vKiBOb3RlOiBBZGQgdGhlIC5oaWRkZW4gY2xhc3MgdG8gR05vcm0sIHRoaXMgY2xhc3MgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBsaW5rc1xuICogdGhhdCBzaG91bGQgbm90IGRpc3BsYXkgdGhlaXIgdGV4dCwgZXguIGEgaWNvbiBidXR0b24uXG4gKi9cbi5oaWRkZW4ge1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogLTEwMDAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwifi4uL2ZvbnRzL2ljb21vb24vaWNvbW9vbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIn4uLi9mb250cy9pY29tb29uL2ljb21vb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJ+Li4vZm9udHMvaWNvbW9vbi9pY29tb29uLmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCJ+Li4vZm9udHMvaWNvbW9vbi9pY29tb29uLnN2ZyNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCJodHRwczovL2NlcnRpbmlhLmNvbS93cC1jb250ZW50L3RoZW1lcy9maW5hbmNpYWxmb3JjZS9hc3NldHMvZGlzdC9mb250cy9TYXRvc2hpLVJlZ3VsYXIuNWM5MDJkMzMud29mZjIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImh0dHBzOi8vY2VydGluaWEuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2ZpbmFuY2lhbGZvcmNlL2Fzc2V0cy9kaXN0L2ZvbnRzL1NhdG9zaGktUmVndWxhci41YzkwMmQzMy53b2ZmMi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG4vKiBOb3RlOiBXaWxsIGJlIHJlcGxhY2VkIG9uY2UgU1ZHIGZlYXR1cmUgYnJhbmNoIGlzIGNvbXBsZXRlZCAqL1xuW2NsYXNzXj1pY29uLV06YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJJY29tb29uXCI7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5pY29uIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4uaWNvbi1idWxiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG5cbi5pY29uLUNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDRcIjtcbn1cblxuLmljb24tQWdlbmN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGFcIjtcbn1cblxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cblxuLmljb24tYnJhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cblxuLmljb24tc29jaWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG5cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmljb24tYnJhbmQyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG5cbi5pY29uLXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG5cbi5pY29uLXNvY2lhbDI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cblxuLmljb24tYnJhbmQzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG5cbi5pY29uLXNvY2lhbDM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cblxuLmljb24tcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuXG4uaWNvbi1wbGF5ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLyogTWFyZ2luIGFuZCBzcGFjaW5nIGJhc2UgdmFyaWFibGVzXG4gKi9cbi53cmFwcGVyIHtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgbWF4LXdpZHRoOiAxMzE5cHg7XG4gIHBhZGRpbmctaW5saW5lOiAzcmVtO1xufVxuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiBOb3RlOiBUaGlzIGVpdGhlciBuZWVkcyB0byBiZSBjb21wbGV0ZWx5IHJlcGxhY2VkIG9yIG5lZWRzIHRvIGdvIGF3YXkgZW50aXJlbHkuXG4gKiBUaGVyZSBhcmUgbXVjaCBiZXR0ZXIgYXBwcm9hY2hlcyB0byBoYW5kbGluZyBSRU0gZm9udCBzaXppbmcgKGFuZCBSRU0gZmFsbGJhY2tzKVxuICogdXNpbmcgb2ZmLXRoZS1zaGVsZiBsaWJyYXJpZXMgKyBQb3N0Q1NTIHByb2Nlc3NvcnNcbiAqL1xuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5zZWxlY3QsXG5pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGlcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xufVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPXJhZGlvXSxcbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBjdXN0b20tc2VsZWN0b3IgOi0taGVhZGluZyBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2O1xuOi0taGVhZGluZyB7XG4gIG1hcmdpbi1ibG9jazogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDI4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDM0cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyLjhyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDMuNHJlbSAhaW1wb3J0YW50O1xufVxuXG5oMixcbmgzIHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjlyZW0gIWltcG9ydGFudDtcbn1cblxuaDQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE3cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuN3JlbSAhaW1wb3J0YW50O1xufVxuXG5tYWluIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBbMV0gKi9cbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICAvKiBbMl0gKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogWzNdICovXG4gIGhlaWdodDogYXV0bztcbiAgLyogWzRdICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIC8qIFs1XSAqL1xufVxuXG5tYWluIH4gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5hIHtcbiAgY29sb3I6ICM1OTU5NTk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMjQyMzIzO1xufVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMTAyZTtcbiAgY29sb3I6ICMwZjEwMmU7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxudHIsXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbnAge1xuICBtYXJnaW4tYmxvY2s6IDA7XG59XG5cbi5idXR0b24sIC5tb2RhbF9faW5uZXIgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uV3JhcC5ta3RvUGFwZXJNYXNodXAgYnV0dG9uLm1rdG9CdXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGlcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICBwYWRkaW5nLWJsb2NrOiAxLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYnV0dG9uLS1wcmltYXJ5LCAubW9kYWxfX2lubmVyIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1BhcGVyTWFzaHVwIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzAyYWRlZjtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IDUwMG1zIGVhc2U7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xufVxuLmJ1dHRvbi0tcHJpbWFyeTpob3ZlciwgLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9QYXBlck1hc2h1cCBidXR0b24ubWt0b0J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDgwQjI7XG59XG4uYnV0dG9uLS1wcmltYXJ5IC5pY29uLWFycm93LCAubW9kYWxfX2lubmVyIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1BhcGVyTWFzaHVwIGJ1dHRvbi5ta3RvQnV0dG9uIC5pY29uLWFycm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODBCMjtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDQxcHg7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogNDFweDtcbn1cbi5idXR0b24tLWxpbmsge1xuICBjb2xvcjogIzAyYWRlZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmJ1dHRvbi0tbGluayAuaWNvbi1hcnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHRyYW5zZm9ybTogMzAwbXMgYWxsIGVhc2UtaW4tb3V0O1xufVxuLmJ1dHRvbi0tbGluayAuaWNvbi1hcnJvdyBzdmcgcGF0aCB7XG4gIGZpbGw6ICMwMmFkZWY7XG59XG4uYnV0dG9uLS1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMwMDgwQjI7XG59XG4uYnV0dG9uLS1saW5rOmhvdmVyIC5pY29uLWFycm93IHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbi5idXR0b24tLWxpbms6aG92ZXIgLmljb24tYXJyb3cgc3ZnIHBhdGgge1xuICBmaWxsOiAjMDA4MEIyO1xufVxuXG4uY2FsY3VsYXRvciAuYnV0dG9uLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAuY2FsY3VsYXRvciAuYnV0dG9uLXdyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5jYWxjdWxhdG9yIC5idXR0b24td3JhcHBlciAuYnV0dG9uLCAuY2FsY3VsYXRvciAuYnV0dG9uLXdyYXBwZXIgLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9QYXBlck1hc2h1cCBidXR0b24ubWt0b0J1dHRvbiwgLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9QYXBlck1hc2h1cCAuY2FsY3VsYXRvciAuYnV0dG9uLXdyYXBwZXIgYnV0dG9uLm1rdG9CdXR0b24ge1xuICBtYXJnaW4tYmxvY2s6IDFyZW0gMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAuY2FsY3VsYXRvciAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiwgLmNhbGN1bGF0b3IgLmJ1dHRvbi13cmFwcGVyIC5tb2RhbF9faW5uZXIgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uV3JhcC5ta3RvUGFwZXJNYXNodXAgYnV0dG9uLm1rdG9CdXR0b24sIC5tb2RhbF9faW5uZXIgLm1rdG9Gb3JtIC5ta3RvQnV0dG9uV3JhcC5ta3RvUGFwZXJNYXNodXAgLmNhbGN1bGF0b3IgLmJ1dHRvbi13cmFwcGVyIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtO1xuICB9XG4gIC5jYWxjdWxhdG9yIC5idXR0b24td3JhcHBlciAuYnV0dG9uOmZpcnN0LWNoaWxkLCAuY2FsY3VsYXRvciAuYnV0dG9uLXdyYXBwZXIgLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9QYXBlck1hc2h1cCBidXR0b24ubWt0b0J1dHRvbjpmaXJzdC1jaGlsZCwgLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9QYXBlck1hc2h1cCAuY2FsY3VsYXRvciAuYnV0dG9uLXdyYXBwZXIgYnV0dG9uLm1rdG9CdXR0b246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblt0eXBlPXJhbmdlXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICB3aWR0aDogMTAwJTtcbn1cblt0eXBlPXJhbmdlXTo6LW1vei1mb2N1cy1vdXRlciB7XG4gIGJvcmRlcjogMDtcbn1cblt0eXBlPXJhbmdlXTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5bdHlwZT1yYW5nZV06Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMywgMTMsIDEzLCAwLjA5KTtcbn1cblt0eXBlPXJhbmdlXTpmb2N1czo6LW1zLWZpbGwtbG93ZXIsIFt0eXBlPXJhbmdlXTpmb2N1czo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6ICMwMmFkZWY7XG59XG5bdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMywgMTMsIDEzLCAwLjA5KTtcbn1cblt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGhlaWdodDogNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA5KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuW3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDJweCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGJhY2tncm91bmQ6ICMwMmFkZWY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMmFkZWY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjVweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cblt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDkpO1xuICBoZWlnaHQ6IDIuNXB4O1xufVxuW3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMnB4IDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYmFja2dyb3VuZDogIzAyYWRlZjtcbiAgYm9yZGVyOiAycHggc29saWQgIzAyYWRlZjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4O1xufVxuW3R5cGU9cmFuZ2VdOjotbXMtdHJhY2sge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGhlaWdodDogNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAxMi41cHggMDtcbn1cblt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDJhZGVmO1xufVxuW3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogIzAyYWRlZjtcbn1cblt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDkpO1xufVxuW3R5cGU9cmFuZ2VdOjotbXMtdGh1bWIge1xuICBib3gtc2hhZG93OiAycHggMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBiYWNrZ3JvdW5kOiAjMDJhZGVmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDJhZGVmO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbi10b3A6IDEuMjVweDtcbn1cblt0eXBlPXJhbmdlXTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIFt0eXBlPXJhbmdlXTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYiwgW3R5cGU9cmFuZ2VdOmRpc2FibGVkOjotbXMtdGh1bWIsIFt0eXBlPXJhbmdlXTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIFt0eXBlPXJhbmdlXTpkaXNhYmxlZDo6LW1zLWZpbGwtbG93ZXIsIFt0eXBlPXJhbmdlXTpkaXNhYmxlZDo6LW1zLWZpbGwtdXBwZXIge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uc3RyZWFtaW5nLWltYWdlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBrZXlmcmFtZXMgbGV2aXRhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMC41ZW0pO1xuICB9XG59XG4uc3RyZWFtaW5nLWltYWdlcy0tbGVmdCB7XG4gIGFuaW1hdGlvbjogbGV2aXRhdGUgM3MgYWx0ZXJuYXRlIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAtMTk0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDI0MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zdHJlYW1pbmctaW1hZ2VzLS1sZWZ0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnN0cmVhbWluZy1pbWFnZXMtLXJpZ2h0IHtcbiAgYW5pbWF0aW9uOiBsZXZpdGF0ZSAzcyBhbHRlcm5hdGUgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0xMjJweDtcbiAgdG9wOiAtMzVweDtcbiAgd2lkdGg6IDI0MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zdHJlYW1pbmctaW1hZ2VzLS1yaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmJhci1vdmVybGF5IHtcbiAgbWluLWhlaWdodDogMTAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYmFyLW92ZXJsYXk6bm90KC5vdmVybGF5LTgwLCAub3ZlcmxheS15ZWxsb3cpIHtcbiAgZmxleDogMTtcbn1cbi5iYXItb3ZlcmxheV9fbGFiZWwge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTJweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4ycmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDAgMC40cmVtIDAuMnJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gIC5iYXItb3ZlcmxheV9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTMxOXB4KSB7XG4gIC5iYXItb3ZlcmxheV9fbGFiZWxfX251bWJlciwgLmJhci1vdmVybGF5X19sYWJlbF9fbGVnZW5kIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG4uYmFyLW92ZXJsYXlfX2xhYmVsX19sZWdlbmQge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5iYXItb3ZlcmxheS5vdmVybGF5LTgwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1Yzc3OTtcbn1cbi5iYXItb3ZlcmxheS5vdmVybGF5LTgwIC5iYXItb3ZlcmxheV9fbGFiZWwge1xuICBjb2xvcjogIzI1Yzc3OTtcbn1cbi5iYXItb3ZlcmxheS5vdmVybGF5LTgwIC5iYXItb3ZlcmxheV9fbGFiZWwgc3BhbiB7XG4gIGNvbG9yOiAjMDk4OTRiO1xufVxuLmJhci1vdmVybGF5Lm92ZXJsYXkteWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4QTIxQjtcbn1cbi5zYXZpbmdzX19jaGFydC1iYXItLXJpZ2h0IC5iYXItb3ZlcmxheV9fbGFiZWwge1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5zYXZpbmdzX19jaGFydC1iYXItLXJpZ2h0IC5iYXItb3ZlcmxheTpmaXJzdC1jaGlsZCAuYmFyLW92ZXJsYXlfX2xhYmVsIHtcbiAgYm90dG9tOiBjYWxjKDEwMCUgLSAxcHgpO1xufVxuXG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5IC5iYXItb3ZlcmxheV9fbGFiZWwsXG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5Lm92ZXJsYXktODAgLmJhci1vdmVybGF5X19sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUsIDE2LCA0NiwgMC45KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNSwgMTYsIDQ2LCAwLjkpO1xuICBib3R0b206IHVuc2V0O1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBtaW4td2lkdGg6IDE1MHB4O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHJpZ2h0OiA1NSU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuYmFyLW92ZXJsYXkgLmJhci1vdmVybGF5X19sYWJlbF9fbnVtYmVyLCAuc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5IC5iYXItb3ZlcmxheV9fbGFiZWxfX2xlZ2VuZCxcbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuYmFyLW92ZXJsYXkub3ZlcmxheS04MCAuYmFyLW92ZXJsYXlfX2xhYmVsX19udW1iZXIsXG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5Lm92ZXJsYXktODAgLmJhci1vdmVybGF5X19sYWJlbF9fbGVnZW5kIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5iYXItb3ZlcmxheSAuYmFyLW92ZXJsYXlfX2xhYmVsX19udW1iZXIsXG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5Lm92ZXJsYXktODAgLmJhci1vdmVybGF5X19sYWJlbF9fbnVtYmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5iYXItb3ZlcmxheSAuYmFyLW92ZXJsYXlfX2xhYmVsX19sZWdlbmQsXG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5Lm92ZXJsYXktODAgLmJhci1vdmVybGF5X19sYWJlbF9fbGVnZW5kIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuYmFyLW92ZXJsYXkgLmJhci1vdmVybGF5X19sYWJlbCAuY29sb3Ita2V5LFxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5iYXItb3ZlcmxheS5vdmVybGF5LTgwIC5iYXItb3ZlcmxheV9fbGFiZWwgLmNvbG9yLWtleSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiN2I5YmE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDg1Yjk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1pbi1oZWlnaHQ6IDlweDtcbiAgbWluLXdpZHRoOiA5cHg7XG59XG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5IC5iYXItb3ZlcmxheV9fbGFiZWw6YWZ0ZXIsXG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5Lm92ZXJsYXktODAgLmJhci1vdmVybGF5X19sYWJlbDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUsIDE2LCA0NiwgMC45KTtcbiAgY29udGVudDogXCJcIjtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgNDglLCA0NiUgMCwgNDclIDEwMCUpO1xuICBoZWlnaHQ6IDEwcHg7XG4gIHJpZ2h0OiAtN3B4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMnB4O1xufVxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5iYXItb3ZlcmxheTpob3ZlciAuYmFyLW92ZXJsYXlfX2xhYmVsLFxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5iYXItb3ZlcmxheS5vdmVybGF5LTgwOmhvdmVyIC5iYXItb3ZlcmxheV9fbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwODBweCkge1xuICAuc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5OmhvdmVyIC5iYXItb3ZlcmxheV9fbGFiZWwsXG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5Lm92ZXJsYXktODA6aG92ZXIgLmJhci1vdmVybGF5X19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodCB7XG4gIG1pbi1oZWlnaHQ6IDQwJSAhaW1wb3J0YW50O1xufVxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5zYXZpbmdzX19jaGFydC1iYXItLXJpZ2h0IC5iYXItb3ZlcmxheSB7XG4gIG1pbi1oZWlnaHQ6IDMwJTtcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodCAuYmFyLW92ZXJsYXkgLmJhci1vdmVybGF5X19sYWJlbCB7XG4gIGxlZnQ6IDU1JTtcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodCAuYmFyLW92ZXJsYXkgLmJhci1vdmVybGF5X19sYWJlbDphZnRlciB7XG4gIGxlZnQ6IC03cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodCAuYmFyLW92ZXJsYXkgLmJhci1vdmVybGF5X19sYWJlbCAuY29sb3Ita2V5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMTAyZTtcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuYmFyLW92ZXJsYXkub3ZlcmxheS04MCA+IC5iYXItb3ZlcmxheV9fbGFiZWwgLmNvbG9yLWtleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNWM3Nzk7XG59XG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLmJhci1vdmVybGF5Lm92ZXJsYXkteWVsbG93ID4gLmJhci1vdmVybGF5X19sYWJlbCAuY29sb3Ita2V5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4QTIxQjtcbn1cblxuLyogTm90ZTogTWFuYWdlIGEgbGlzdCBvZiB2YXJpYWJsZXMgdGhhdCByZWxhdGUgdG8gdGhlIHotaW5kZXggc3RhY2tpbmcgb3JkZXIgb2YgZWxlbWVudHMgb24gdGhlIHBhZ2UsIG9yZGVyZWQgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdC4gVGhpcyBhbGxvd3MgdXMgdG8gZWFzaWx5IGNoYW5nZSB0aGlzIG9yZGVyIGJ5IG1vdmluZyB0aGUgYXNzb2NpYXRlZCB2YXJpYWJsZSBpbiB0aGUgbGlzdCBpbnN0ZWFkIG9mIENTUyBpbiBtdWx0aXBsZSBsb2NhdGlvbnMuIEZpcnN0IGdyb3VwIGlzIGdsb2JhbCwgYWRkaXRpb25hbCBjb21wb25lbnQgbGV2ZWwgZ3JvdXBzIGNhbiBiZSBhZGRlZCB0byBvcmRlciBzdGFja2luZyB3aXRoaW4gdGhlIGNvbXBvbmVudCByZWxhdGl2ZSB0byB0aGF0IGNvbXBvbmVudC5cbiAqIEJhc2VkIG9uIHotaW5kZXggbWFuYWdlbWVudCB0ZWNobmlxdWUgb24gW1NtYXNoaW5nIE1hZ2F6aW5lXShodHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvKS5cbiAqL1xuLyoqIEV4LiBVc2FnZVxuLmV4YW1wbGUge1xuXHRAaW5jbHVkZSB6LWluZGV4KGJhc2Usb25lKTtcbn1cbi5uZXN0ZWQtZXhhbXBsZXtcblx0QGluY2x1ZGUgei1pbmRleChzYW1wbGUsIHNhbXBsZU9uZSk7XG4qKi9cbi5jYWxsb3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjRGRjtcbiAgbWFyZ2luLXRvcDogNnJlbTtcbiAgcGFkZGluZzogM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYWxsb3V0IHtcbiAgICBwYWRkaW5nOiA0cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMzE4cHgpIHtcbiAgLmNhbGxvdXQge1xuICAgIHBhZGRpbmc6IDNyZW07XG4gIH1cbiAgLmNhbGxvdXRfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDNyZW0pO1xuICB9XG59XG4uY2FsbG91dF9faW1hZ2Uge1xuICBib3R0b206IDA7XG4gIGhlaWdodDogY2FsYygxMDAlICsgNnJlbSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmNhbGxvdXRfX3RleHQsXG4uY2FsbG91dCAuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLmNhbGxvdXRfX3RleHQge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cbi5jYWxsb3V0IC5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FsY3VsYXRvci10b2dnbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDZweDtcbn1cbi5jYWxjdWxhdG9yLXRvZ2dsZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5NiwgMTk2LCAxOTYsIDAuNik7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtaW4td2lkdGg6IDE1MHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2FsY3VsYXRvci10b2dnbGUgYnV0dG9uLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGN1bGF0b3ItdG9nZ2xlIGJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjZDYyZTUwO1xufVxuLmNhbGN1bGF0b3ItdG9nZ2xlIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNmOGVmNTY7XG59XG5cbi5pbnB1dF9fY3VycmVuY3kge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlucHV0X19jdXJyZW5jeTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvdHJpYW5nbGUtYXJyb3ctZG93bi5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA5cHg7XG59XG4uaW5wdXRfX2N1cnJlbmN5IHNlbGVjdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYmVlZjA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5pbnB1dF9fY3VycmVuY3kgc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICB9XG59XG5cbi5pbnB1dF9faW5jcmVtZW50YWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogMTA3OXB4KSB7XG4gIC5pbnB1dF9faW5jcmVtZW50YWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDNyZW0gM3JlbTtcbiAgfVxufVxuLmlucHV0X19pbmNyZW1lbnRhbCBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMXJlbSAxcmVtIDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogOTBweDtcbn1cbi5pbnB1dF9faW5jcmVtZW50YWwgaDMge1xuICBjb2xvcjogIzBmMTAyZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5pbnB1dF9faW5jcmVtZW50YWwtY29sdW1uIHtcbiAgZmxleDogMTtcbn1cbi5pbnB1dF9faW5jcmVtZW50YWxfX2lucHV0LWNoYW5nZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDFyZW07XG59XG4uaW5wdXRfX2luY3JlbWVudGFsX19pbnB1dCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgYm94LXNoYWRvdzogMS42cHggMS42cHggNi40cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAycmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogMnJlbTtcbn1cbi5pbnB1dF9faW5jcmVtZW50YWxfX2lucHV0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4OSwgODksIDg5LCAwLjIpO1xufVxuLmlucHV0X19pbmNyZW1lbnRhbF9faW5wdXQgc3BhbiB7XG4gIGhlaWdodDogMC44cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwLjhyZW07XG59XG4uaW5wdXRfX2luY3JlbWVudGFsX19pbnB1dCBzcGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYxMDJlO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDAuMnJlbTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMTAwJTtcbn1cbi5pbnB1dF9faW5jcmVtZW50YWxfX2lucHV0LWNoYW5nZS0taW5jcmVtZW50LmlucHV0X19pbmNyZW1lbnRhbF9faW5wdXQgc3Bhbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYxMDJlO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDAuMnJlbTtcbn1cblxuLnV0aWxpemF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgLnV0aWxpemF0aW9uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLWlubGluZTogMS41cmVtO1xuICB9XG59XG4udXRpbGl6YXRpb25fX2hlYWRlciBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4udXRpbGl6YXRpb25fX2hlYWRlciBwIHtcbiAgY29sb3I6ICM3NTc1NzU7XG4gIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzMTlweCkge1xuICAudXRpbGl6YXRpb25fX2hlYWRlciBwIHtcbiAgICBtYXgtd2lkdGg6IDEzcmVtO1xuICB9XG59XG4udXRpbGl6YXRpb25fX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogM3JlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnV0aWxpemF0aW9uX19yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC51dGlsaXphdGlvbl9fcm93IHtcbiAgICBnYXA6IDZyZW07XG4gIH1cbn1cbi51dGlsaXphdGlvbl9fcm93IGg0IHtcbiAgY29sb3I6ICM3NTc1NzU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi51dGlsaXphdGlvbi1pbmNyZWFzZSB7XG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCByZ2JhKDIxNSwgMjE1LCAyMTQsIDAuNik7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC51dGlsaXphdGlvbi1pbmNyZWFzZSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC51dGlsaXphdGlvbi1pbmNyZWFzZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNSwgMjE1LCAyMTQsIDAuNik7XG4gICAgYm90dG9tOiAtMXJlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFyZW07XG4gICAgd2lkdGg6IDAuMnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLnV0aWxpemF0aW9uLWluY3JlYXNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi51dGlsaXphdGlvbi1pbmNyZWFzZS1wZXJjZW50YWdlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMyNWM3Nzk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMzZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNDNweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDMuNnJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNC4zcmVtICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi51dGlsaXphdGlvbi1pbmNyZWFzZS1wZXJjZW50YWdlOjpiZWZvcmUge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgNnB4IDhweCA2cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgY3VycmVudENvbG9yIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB3aWR0aDogMDtcbn1cblxuLmlucHV0X19udW1iZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTMxOXB4KSB7XG4gIC5pbnB1dF9fbnVtYmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5pbnB1dF9fbnVtYmVyIGgzIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtaW4td2lkdGg6IDIwcmVtO1xuICAgIG1heC13aWR0aDogMjFyZW07XG4gIH1cbn1cbi5pbnB1dF9fbnVtYmVyIGlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxcmVtIDFyZW0gMC41cmVtO1xufVxuXG4uaW5wdXRfX3JhZGlvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzMTlweCkge1xuICAuaW5wdXRfX3JhZGlvIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLmlucHV0X19yYWRpbyBoMyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLmlucHV0X19yYWRpb19fcm93IHtcbiAgYm9yZGVyLXJhZGl1czogNC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5NiwgMTk2LCAxOTYsIDAuNik7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTMxOXB4KSB7XG4gIC5pbnB1dF9fcmFkaW9fX3JvdyB7XG4gICAgbWF4LXdpZHRoOiAyMy4zcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uaW5wdXRfX3JhZGlvX19pdGVtIHtcbiAgZmxleDogMTtcbn1cbi5pbnB1dF9fcmFkaW9fX2l0ZW0gbGFiZWwge1xuICBib3JkZXItcmFkaXVzOiA0LjlyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctYmxvY2s6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5pbnB1dF9fcmFkaW9fX2l0ZW0gaW5wdXRbdHlwZT1yYWRpb10ge1xuICBoZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG59XG4uaW5wdXRfX3JhZGlvX19pdGVtIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMmFkZWY7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uaW5wdXRfX3JhbmdlX190b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTMxOXB4KSB7XG4gIC5pbnB1dF9fcmFuZ2VfX3RvcCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLmlucHV0X19yYW5nZV9fcHJpY2Uge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGNvbG9yOiAjYjdiOWJhO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE5cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuOXJlbSAhaW1wb3J0YW50O1xuICBnYXA6IDAuNXJlbTtcbiAgcGFkZGluZzogMXJlbSAxcmVtIDAuNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzE5cHgpIHtcbiAgLmlucHV0X19yYW5nZV9fcHJpY2Uge1xuICAgIG1heC13aWR0aDogNDglO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uaW5wdXRfX3JhbmdlX19wcmljZSAucmFuZ2UtdmFsdWUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzBmMTAyZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMi40cmVtICFpbXBvcnRhbnQ7XG59XG4uaW5wdXRfX3JhbmdlX19wcmljZSAucmFuZ2UtdmFsdWU6YmVmb3JlIHtcbiAgY29sb3I6ICNiN2I5YmE7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjlyZW0gIWltcG9ydGFudDtcbn1cbi5pbnB1dF9fcmFuZ2VfX3ByaWNlIC5wZXItaG91ciB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS40cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLmlucHV0X19yYW5nZV9fYm90dG9tIHtcbiAgY29sb3I6ICM3NTc1NzU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMi42cmVtICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbi5sZWdlbmRfX2l0ZW0ge1xuICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDExcHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjFyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBwYWRkaW5nOiAwIDFyZW0gMCAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDI1JTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAubGVnZW5kX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAubGVnZW5kX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gIH1cbn1cbi5sZWdlbmRfX2l0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y5NjNCRDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMHB4O1xuICBsZWZ0OiAwLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTBweDtcbn1cbi5sZWdlbmRfX2l0ZW0ub3ZlcmxheS1ncmVlbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1Yzc3OTtcbn1cbi5sZWdlbmRfX2l0ZW0ub3ZlcmxheS04MDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxNDI2O1xufVxuLmxlZ2VuZF9faXRlbS5vdmVybGF5LTYwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDI4NGM7XG59XG4ubGVnZW5kX19pdGVtLm92ZXJsYXktNDA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk1M2I3MTtcbn1cbi5sZWdlbmRfX2l0ZW0ub3ZlcmxheS0zMDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU0NTg0O1xufVxuLmxlZ2VuZF9faXRlbS5vdmVybGF5LTIwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNzRmOTc7XG59XG4ubGVnZW5kX19pdGVtLm92ZXJsYXktMTA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwNTlhYTtcbn1cblxuLm1vZGFsX19pbm5lciAubWt0b0Zvcm0ge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSAqIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaVwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1NpbXBsZSAubWt0b0J1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMwMmFkZWY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE5cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuOXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxLjI1cmVtIDNyZW0gMC42NjY2NjY2NjY3cmVtO1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICB0cmFuc2l0aW9uOiA1MDBtcyBlYXNlO1xufVxuLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9TaW1wbGUgLm1rdG9CdXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjQyMzIzO1xuICBib3JkZXI6IG5vbmU7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSAubWt0b0ZpZWxkV3JhcCxcbi5tb2RhbF9faW5uZXIgLm1rdG9Gb3JtIC5ta3RvRm9ybUNvbCB7XG4gIGZsb2F0OiBub25lO1xufVxuLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9CdXR0b25XcmFwLm1rdG9QYXBlck1hc2h1cCBidXR0b24ubWt0b0J1dHRvbiB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSAubWt0b0J1dHRvbldyYXAubWt0b1BhcGVyTWFzaHVwIGJ1dHRvbi5ta3RvQnV0dG9uOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gaW5wdXRbdHlwZT11cmxdLFxuLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4ubW9kYWxfX2lubmVyIC5ta3RvRm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gc2VsZWN0Lm1rdG9GaWVsZCxcbi5tb2RhbF9faW5uZXIgLm1rdG9Gb3JtIHRleHRhcmVhLm1rdG9GaWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3NTc1NzU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjlyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMXJlbSAxcmVtIDAuNjY2NjY2NjY2N3JlbTtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5tb2RhbF9faW5uZXIgLm1rdG9Gb3JtIC5ta3RvRXJyb3IgLm1rdG9FcnJvck1zZyB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICM0YzRjNGUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiA4MCUgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNmVtICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLm1vZGFsX19pbm5lciAubWt0b0Zvcm0gLm1rdG9FcnJvciAubWt0b0Vycm9yQXJyb3cge1xuICBiYWNrZ3JvdW5kOiAjNGM0YzRlICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xufVxuLm1vZGFsX19pbm5lciAubWt0b0xhYmVsLFxuLm1vZGFsX19pbm5lciAubWt0b0hhc1dpZHRoLFxuLm1vZGFsX19pbm5lciAubWt0b0J1dHRvblJvdyB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvTGFiZWwge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE5cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuOXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvR3V0dGVyLFxuLm1vZGFsX19pbm5lciAubWt0b09mZnNldCxcbi5tb2RhbF9faW5uZXIgLm1rdG9Gb3JtIC5ta3RvUmVxdWlyZWRGaWVsZCAubWt0b0FzdGVyaXgge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ubW9kYWxfX2lubmVyIC5ta3RvQnV0dG9uV3JhcC5ta3RvUGFwZXJNYXNodXAge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ucHJpY2luZ1Rvb2x0aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJpY2luZ1Rvb2x0aXAgLnRvb2x0aXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDM2cHggcmdiYSgwLCAwLCAwLCAwLjM2KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTIuNHJlbTtcbiAgcGFkZGluZzogMXJlbSAycmVtIDAuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQycHg7XG4gIHdpZHRoOiAyNTBweDtcbiAgei1pbmRleDogMTtcbn1cbi5wcmljaW5nVG9vbHRpcCAudG9vbHRpcDo6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDE1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAjZmZmO1xuICBib3R0b206IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogMThweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB3aWR0aDogMDtcbn1cbi5zYXZpbmdzX19jaGFydC1iYXItLXJpZ2h0IC5jaGFydC1sYWJlbCAucHJpY2luZ1Rvb2x0aXAgLnRvb2x0aXAsIC5zYXZpbmdzX19jaGFydC1iYXItLXJpZ2h0IC5jaGFydC10ZXh0X19sYWJlbCAucHJpY2luZ1Rvb2x0aXAgLnRvb2x0aXAge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTIuNHJlbTtcbn1cbi5zYXZpbmdzX19jaGFydC1iYXItLXJpZ2h0IC5jaGFydC1sYWJlbCAucHJpY2luZ1Rvb2x0aXAgLnRvb2x0aXA6YmVmb3JlLCAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodCAuY2hhcnQtdGV4dF9fbGFiZWwgLnByaWNpbmdUb29sdGlwIC50b29sdGlwOmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxOHB4O1xufVxuLm1vZGFsIC5jaGFydC1sYWJlbCAucHJpY2luZ1Rvb2x0aXAgLnRvb2x0aXAsIC5tb2RhbCAuY2hhcnQtdGV4dF9fbGFiZWwgLnByaWNpbmdUb29sdGlwIC50b29sdGlwIHtcbiAgdG9wOiAyOHB4O1xufVxuLnByaWNpbmdUb29sdGlwIHAge1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnByaWNpbmdUb29sdGlwIC50b29sdGlwSWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMC4ycmVtO1xuICB3aWR0aDogMTZweDtcbn1cbi5wcmljaW5nVG9vbHRpcCAudG9vbHRpcEljb246aG92ZXIgKyAudG9vbHRpcCwgLnByaWNpbmdUb29sdGlwIC50b29sdGlwSWNvbjpmb2N1cyArIC50b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY2hhcnQtbGFiZWwgLnByaWNpbmdUb29sdGlwLCAuY2hhcnQtdGV4dF9fbGFiZWwgLnByaWNpbmdUb29sdGlwIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjEyNXJlbTtcbiAgdG9wOiAxcHg7XG59XG5cbi5zYXZpbmdzX19jaGFydCB7XG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCByZ2JhKDIxNSwgMjE1LCAyMTQsIDAuNik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleDogMTtcbiAgcGFkZGluZy1ibG9jazogNnJlbSA4cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gIC5zYXZpbmdzX19jaGFydCB7XG4gICAgcGFkZGluZy1ibG9jazogNHJlbSA1cmVtO1xuICB9XG59XG4uc2F2aW5nc19fY2hhcnQtYmFycyB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZ2FwOiAycmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMjIwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLnNhdmluZ3NfX2NoYXJ0LWJhcnMge1xuICAgIGhlaWdodDogMjByZW07XG4gIH1cbn1cbi5zYXZpbmdzX19jaGFydC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAyMCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMzAwbXMgbGluZWFyO1xuICB3aWR0aDogMTI1cHg7XG59XG4uc2F2aW5nc19fY2hhcnQtYmFyLS1sZWZ0IC5zYXZpbmdzX19icmVha2Rvd24ge1xuICBiYWNrZ3JvdW5kOiAjMDA4NWI5O1xuICBjb2xvcjogIzAwODViOTtcbn1cbi5zYXZpbmdzX19jaGFydC1iYXItLXJpZ2h0IC5zYXZpbmdzX19icmVha2Rvd24ge1xuICBiYWNrZ3JvdW5kOiAjMjYyMzYxO1xuICBjb2xvcjogIzI2MjM2MTtcbn1cbi5zYXZpbmdzX19jaGFydC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTJweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4ycmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtIDAgM3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5zYXZpbmdzX19jaGFydC1sYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gIH1cbn1cbi5zYXZpbmdzX19jaGFydCAuY2hhcnQtdGV4dCB7XG4gIGJvdHRvbTogY2FsYygxMDAlICsgMC41cmVtKTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjlyZW0gIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgLnNhdmluZ3NfX2NoYXJ0IC5jaGFydC10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5zYXZpbmdzX19jaGFydCAuY2hhcnQtdGV4dCBzcGFuIHtcbiAgY29sb3I6ICMwZjEwMmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnNhdmluZ3NfX2NoYXJ0IC5jaGFydC10ZXh0X19sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTdweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS43cmVtICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gIC5zYXZpbmdzX19jaGFydCAuY2hhcnQtdGV4dF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5zYXZpbmdzX19jaGFydCAuY2hhcnQtbGFiZWwge1xuICBjb2xvcjogIzBmMTAyZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjdyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogY2FsYygxMDAlICsgMXJlbSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwODBweCkge1xuICAuc2F2aW5nc19fY2hhcnQgLmNoYXJ0LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4uc2F2aW5nc19fY2hhcnQgLnNhdmluZ3NfX2JyZWFrZG93biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNhdmluZ3NfX2NoYXJ0IC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjVyZW0pO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwODBweCkge1xuICAuc2F2aW5nc19fY2hhcnQgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uc2F2aW5nc19fY2hhcnQgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlLXJldmVudWUge1xuICBjb2xvcjogIzA5ODk0YjtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLnNhdmluZ3NfX2NoYXJ0IC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZS1jdXJyZW50IHtcbiAgY29sb3I6ICMwMDg1Yjk7XG59XG4uc2F2aW5nc19fY2hhcnQgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlLWltcGFjdCB7XG4gIGNvbG9yOiAjMGYxMDJlO1xufVxuLnNhdmluZ3NfX2NoYXJ0IC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZV9fbGFiZWxfX251bWJlciB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTdweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS43cmVtICFpbXBvcnRhbnQ7XG59XG4uc2F2aW5nc19fY2hhcnQgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlX19sYWJlbF9fbGVnZW5kIHtcbiAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW0gIWltcG9ydGFudDtcbn1cbi5zYXZpbmdzX19jaGFydCAuc2F2aW5nc19fYnJlYWtkb3duX19tb2JpbGVfX2xhYmVsIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNHJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwODBweCkge1xuICAuc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICB9XG59XG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLnNhdmluZ3NfX2NoYXJ0LWJhciB7XG4gIG1heC13aWR0aDogMjIwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5zYXZpbmdzX19jaGFydC1pbnN0cnVjdGlvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5NiwgMTk2LCAxOTYsIDAuMik7XG4gIGNvbG9yOiAjNzU3NTc1O1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5zYXZpbmdzX19jaGFydC1pbnN0cnVjdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlLXJldmVudWUsIC5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuc2F2aW5nc19fYnJlYWtkb3duX19tb2JpbGUtZnRlSW5CZmEsIC5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuc2F2aW5nc19fYnJlYWtkb3duX19tb2JpbGUtaW1wYWN0IHtcbiAgbWFyZ2luOiAxcmVtIDA7XG59XG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlX19sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZV9fbGFiZWxfX251bWJlciwgLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZV9fbGFiZWxfX2xlZ2VuZCB7XG4gIGNvbG9yOiAjMGYxMDJlO1xufVxuLnNhdmluZ3NfX2NoYXJ0LS1wc2EtZXJwIC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZV9fbGFiZWwgLmNvbG9yLWtleSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiN2I5YmE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDg1Yjk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWluLWhlaWdodDogOXB4O1xuICBtaW4td2lkdGg6IDlweDtcbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycCAuc2F2aW5nc19fYnJlYWtkb3duX19tb2JpbGUgLm92ZXJsYXktODAgLmNvbG9yLWtleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNWM3Nzk7XG59XG4uc2F2aW5nc19fY2hhcnQtLXBzYS1lcnAgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlIC5vdmVybGF5LXllbGxvdyAuY29sb3Ita2V5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4QTIxQjtcbn1cblxuLnNhdmluZ3NfX3JhbmdlIHtcbiAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDg5LCA4OSwgODksIDAuNSk7XG4gIG1hcmdpbjogMCA0cmVtIDRyZW07XG4gIHBhZGRpbmc6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc2F2aW5nc19fcmFuZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbn1cblxuLnNhdmluZ3NfX3RvdGFsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNhdmluZ3NfX3RvdGFsIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNC44cmVtICFpbXBvcnRhbnQ7XG59XG4uc2F2aW5nc19fdG90YWwgc3BhbiBzcGFuIHtcbiAgY29sb3I6ICM2MTYxNjM7XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uc3ZnLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc3ZnLXdyYXBwZXIgZGl2IHtcbiAgdG9wOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4uc3ZnLXdyYXBwZXIgZGl2ID4gc3BhbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogNTRweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNTRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDUuNHJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNS40cmVtICFpbXBvcnRhbnQ7XG59XG4uc3ZnLXdyYXBwZXIgZGl2IHAge1xuICBjb2xvcjogIzBmMTAyZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cbi5zdmctd3JhcHBlciBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnN2Zy13cmFwcGVyLS1oYWxmLWNpcmNsZSBkaXYge1xuICBib3R0b206IDAlO1xuICB0b3A6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEyJSk7XG59XG5cbi5pbmRleCB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcbn1cbi5pbmRleCBoMSB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLmluZGV4IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmluZGV4IHVsIGxpIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5pbnB1dHMge1xuICBwYWRkaW5nOiAwIDNyZW0gNHJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaW5wdXRzIHtcbiAgICBwYWRkaW5nOiAwIDYwcHggMzZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5pbnB1dHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHBhZGRpbmc6IDFyZW0gMCAzcmVtO1xuICB9XG4gIC5pbnB1dHMgPiBkaXYge1xuICAgIHdpZHRoOiA0NSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaW5wdXRzID4gZGl2IHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG59XG5cbi5tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG59XG4ubW9kYWxfX2JvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiA0cmVtIDZyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWxfX2JvZHkge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDExODBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxufVxuLm1vZGFsIC5yb3cge1xuICBnYXA6IDZyZW07XG59XG4ubW9kYWwgLmNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubW9kYWwgLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGZsZXg6IDE7XG59XG4ubW9kYWwgLmNvbHVtbjpmaXJzdC1jaGlsZCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMjhweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMzRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDIuOHJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMy40cmVtICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm1vZGFsIC5jb2x1bW46Zmlyc3QtY2hpbGQgaDIge1xuICAgIGZvbnQtc2l6ZTogMzRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiA0MXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzLjRyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNC4xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5tb2RhbCAuY29sdW1uOmxhc3QtY2hpbGQge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5tb2RhbCAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMS41O1xuICB9XG59XG4ubW9kYWxfX2lubmVyIHtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWxfX2xpc3QtYm94IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG4ubW9kYWxfX2xpc3QtYm94IHVsIHtcbiAgcGFkZGluZzogMCAzNnB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWxfX2xpc3QtYm94IHVsIHtcbiAgICB3aWR0aDogNDUlO1xuICB9XG59XG4ubW9kYWxfX2xpc3QtYm94IGxpIHtcbiAgcGFkZGluZzogNnB4IDA7XG59XG4ubW9kYWxfX2Nsb3NlIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDJyZW07XG4gIHRvcDogMnJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB3aWR0aDogMS41cmVtO1xuICB6LWluZGV4OiAxO1xufVxuLm1vZGFsX19jbG9zZTo6YmVmb3JlLCAubW9kYWxfX2Nsb3NlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NTc1NzU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLm1vZGFsX19jbG9zZTo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC4ycmVtO1xufVxuLm1vZGFsX19jbG9zZTo6YWZ0ZXIge1xuICB3aWR0aDogMC4ycmVtO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubW9kYWwgLnNhdmluZ3NfX2NoYXJ0IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5tb2RhbF9fdGhhbmsteW91IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzcmVtO1xufVxuLm1vZGFsI3RhYyAubW9kYWxfX2JvZHkge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5tb2RhbCN0YWMgLnJvdyA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5tb2RhbCN0YWMgLnJvdyA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLm1vZGFsI3RhYyAucm93ID4gZGl2Omxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG59XG5cbi5yZXN1bHRzIC5zdGVwX19oZWFkaW5nIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlc3VsdHMgLnN0ZXBfX2hlYWRpbmcge1xuICAgIGZsZXgtZ3JvdzogMjtcbiAgICBwYWRkaW5nOiAwIDNyZW07XG4gIH1cbn1cbi5yZXN1bHRzX19yZXN0YXJ0IGltZywgLnJlc3VsdHNfX3ByaW50IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICB3aWR0aDogMThweDtcbn1cbi5yZXN1bHRzX19wcmludCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlc3VsdHNfX3ByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uY2FsY3VsYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDAuNnJlbSBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMmFkZWYgNTklLCAjZWEzYTExIDU5JSkgNTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycmVtO1xuICBwYWRkaW5nOiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmNhbGN1bGF0b3Ige1xuICAgIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZDYyZTUwIDMyJSwgIzAyYWRlZiAzMiUsICMwMmFkZWYgNTklLCAjZWEzYTExIDU5JSwgI2VhM2ExMSA2NiUsICNmOGVmNTYgNjYlKSA1O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogMnJlbSA0cmVtIDRyZW07XG4gIH1cbn1cbi5jYWxjdWxhdG9yIC5idXR0b24ge1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuLmNhbGN1bGF0b3ItY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5jYWxjdWxhdG9yLWNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGZsZXg6IDE7XG4gIGdhcDogMnJlbTtcbn1cbi5jYWxjdWxhdG9yLWNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgZmxleDogMTtcbn1cbi5jYWxjdWxhdG9yLWNvbHVtbiBoMyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDAuNXJlbTtcbn1cbi5jYWxjdWxhdG9yLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbi5jYWxjdWxhdG9yLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVlZjA7XG4gIGdhcDogMnJlbTtcbiAgcGFkZGluZzogMnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuY2FsY3VsYXRvci1ib3gge1xuICAgIHBhZGRpbmc6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuY2FsY3VsYXRvci1ib3gudXRpbGl6YXRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmNhbGN1bGF0b3IgLmlucHV0X19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY2FsY3VsYXRvciAuaW5wdXRzLWdyb3d0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5jYWxjdWxhdG9yLS1wc2EtZXJwIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgLmNhbGN1bGF0b3ItLXBzYS1lcnAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5jYWxjdWxhdG9yLS1wc2EtZXJwIC5jYWxjdWxhdG9yLWNvbHVtbiB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgLmNhbGN1bGF0b3ItLXBzYS1lcnAgLmNhbGN1bGF0b3ItY29sdW1uIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmN1cnJlbmN5LXVzZCAuaW5wdXRfX3JhbmdlX19ib3R0b20gPiBzcGFuOmJlZm9yZSxcbi5jdXJyZW5jeS11c2QgLmlucHV0X19yYW5nZV9fcHJpY2UgPiAucmFuZ2UtdmFsdWU6YmVmb3JlLFxuLmN1cnJlbmN5LXVzZCAuc2F2aW5nc19fdG90YWwgPiBoMiA+IHNwYW46YmVmb3JlLFxuLmN1cnJlbmN5LXVzZCAuY2hhcnQtdGV4dCA+IHNwYW46YmVmb3JlLFxuLmN1cnJlbmN5LXVzZCAuc2F2aW5nc19fYnJlYWtkb3duX19tb2JpbGVfX2xhYmVsX19udW1iZXI6YmVmb3JlLFxuLmN1cnJlbmN5LXVzZCAuYmFyLW92ZXJsYXlfX2xhYmVsX19udW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCIkXCI7XG59XG5cbi5jdXJyZW5jeS1hdWQgLmlucHV0X19yYW5nZV9fYm90dG9tID4gc3BhbjpiZWZvcmUsXG4uY3VycmVuY3ktYXVkIC5pbnB1dF9fcmFuZ2VfX3ByaWNlID4gLnJhbmdlLXZhbHVlOmJlZm9yZSxcbi5jdXJyZW5jeS1hdWQgLnNhdmluZ3NfX3RvdGFsID4gaDIgPiBzcGFuOmJlZm9yZSxcbi5jdXJyZW5jeS1hdWQgLmNoYXJ0LXRleHQgPiBzcGFuOmJlZm9yZSxcbi5jdXJyZW5jeS1hdWQgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlX19sYWJlbF9fbnVtYmVyOmJlZm9yZSxcbi5jdXJyZW5jeS1hdWQgLmJhci1vdmVybGF5X19sYWJlbF9fbnVtYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiQSRcIjtcbn1cblxuLmN1cnJlbmN5LWV1cm8gLmlucHV0X19yYW5nZV9fYm90dG9tID4gc3BhbjpiZWZvcmUsXG4uY3VycmVuY3ktZXVybyAuaW5wdXRfX3JhbmdlX19wcmljZSA+IC5yYW5nZS12YWx1ZTpiZWZvcmUsXG4uY3VycmVuY3ktZXVybyAuc2F2aW5nc19fdG90YWwgPiBoMiA+IHNwYW46YmVmb3JlLFxuLmN1cnJlbmN5LWV1cm8gLmNoYXJ0LXRleHQgPiBzcGFuOmJlZm9yZSxcbi5jdXJyZW5jeS1ldXJvIC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZV9fbGFiZWxfX251bWJlcjpiZWZvcmUsXG4uY3VycmVuY3ktZXVybyAuYmFyLW92ZXJsYXlfX2xhYmVsX19udW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLigqxcIjtcbn1cblxuLmN1cnJlbmN5LWdicCAuaW5wdXRfX3JhbmdlX19ib3R0b20gPiBzcGFuOmJlZm9yZSxcbi5jdXJyZW5jeS1nYnAgLmlucHV0X19yYW5nZV9fcHJpY2UgPiAucmFuZ2UtdmFsdWU6YmVmb3JlLFxuLmN1cnJlbmN5LWdicCAuc2F2aW5nc19fdG90YWwgPiBoMiA+IHNwYW46YmVmb3JlLFxuLmN1cnJlbmN5LWdicCAuY2hhcnQtdGV4dCA+IHNwYW46YmVmb3JlLFxuLmN1cnJlbmN5LWdicCAuc2F2aW5nc19fYnJlYWtkb3duX19tb2JpbGVfX2xhYmVsX19udW1iZXI6YmVmb3JlLFxuLmN1cnJlbmN5LWdicCAuYmFyLW92ZXJsYXlfX2xhYmVsX19udW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLCo1wiO1xufVxuXG4udGl0bGUge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ibG9jazogMnJlbTtcbn1cbi50aXRsZSBoMSB7XG4gIG1hcmdpbi1ibG9jazogMC41cmVtO1xufVxuLnRpdGxlIHAge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA1NTBweDtcbn1cbi50aXRsZSBzdmcge1xuICB3aWR0aDogMTYzcHg7XG59XG5cbi53cmFwcGVyLS1wc2EtZXJwIC50aXRsZSB7XG4gIHBhZGRpbmctYmxvY2stZW5kOiA2cmVtO1xufVxuLndyYXBwZXItLXBzYS1lcnAgLnRpdGxlIHAge1xuICBtYXgtd2lkdGg6IDg4MHB4O1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyIHtcbiAgcGFkZGluZy1ibG9jazogMnJlbTtcbn1cbi5mb290ZXIgcCB7XG4gIGNvbG9yOiAjYTZhNmE2O1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNjIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndyYXBwZXItLXBzYS1lcnAgLmZvb3RlciBwIHtcbiAgbWF4LXdpZHRoOiAxMDEwcHg7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBwYWdlIHtcbiAgICBzaXplOiBsYW5kc2NhcGU7XG4gIH1cbiAgKiB7XG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gIH1cblxuICBib2R5IHtcbiAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3QgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zdGVwLTEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuc3RlcCA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLnN0ZXBfX2xlZnQge1xuICAgIHdpZHRoOiBjYWxjKDk5JSAtIDQyMnB4KSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnN0ZXBfX3JpZ2h0IHtcbiAgICB3aWR0aDogNDIycHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5idXR0b24sXG4ucmVzdWx0c19fcmVzdGFydCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zYXZpbmdzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuc2F2aW5ncyA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQyMnB4KTtcbiAgfVxuICAuc2F2aW5ncyA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogNDIycHg7XG4gIH1cbiAgLnNhdmluZ3MgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuc2F2aW5nc19fdG90YWwge1xuICAgIHBhZGRpbmc6IDAgMCA2MHB4O1xuICB9XG4gIC5zYXZpbmdzX19yYW5nZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuaW5wdXRzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLmlucHV0c19faW5wdXQge1xuICAgIHdpZHRoOiAyMiU7XG4gIH1cbiAgLmlucHV0c19faW5wdXQtY2hhbmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pbnB1dHNfX2lucHV0IGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHBhZGRpbmc6IDAgMCAwIDUwcHg7XG4gIH1cblxuICAuZ2F0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi8qISBzYW5pdGl6ZS5jc3MgdjUuMC4wIHwgQ0MwIExpY2Vuc2UgfCBnaXRodWIuY29tL2pvbmF0aGFudG5lYWwvc2FuaXRpemUuY3NzICovXG5cbi8qIERvY3VtZW50IChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNzZW1hbnRpY3MpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSByZXBlYXRpbmcgYmFja2dyb3VuZHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBBZGQgYm94IHNpemluZyBpbmhlcml0ZW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG4gKixcbiA6OmJlZm9yZSxcbiA6OmFmdGVyIHtcblx0IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIDEgKi9cblx0IGJveC1zaXppbmc6IGluaGVyaXQ7IC8qIDIgKi9cbiB9XG4gXG4gLyoqXG5cdCogMS4gQWRkIHRleHQgZGVjb3JhdGlvbiBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cblx0KiAyLiBBZGQgdmVydGljYWwgYWxpZ25tZW50IGluaGVyaXRlbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuXHQqL1xuIFxuIDo6YmVmb3JlLFxuIDo6YWZ0ZXIge1xuXHQgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvKiAxICovXG5cdCB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsgLyogMiAqL1xuIH1cbiBcbiAvKipcblx0KiAxLiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG5cdCogMi4gQWRkIHRoZSBkZWZhdWx0IGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cblx0KiAzLiBQcmV2ZW50IGZvbnQgc2l6ZSBhZGp1c3RtZW50cyBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG5cdCovXG4gXG4gaHRtbCB7XG5cdCBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG5cdCBjdXJzb3I6IGRlZmF1bHQ7IC8qIDIgKi9cblx0IC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG5cdCAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiB9XG4gXG4gLyogU2VjdGlvbnMgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3NlY3Rpb25zKVxuXHRcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG5cdCogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG5cdCovXG4gXG4gYXJ0aWNsZSxcbiBhc2lkZSxcbiBmb290ZXIsXG4gaGVhZGVyLFxuIG5hdixcbiBzZWN0aW9uIHtcblx0IGRpc3BsYXk6IGJsb2NrO1xuIH1cbiBcbiAvKipcblx0KiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cblx0Ki9cbiBcbiBib2R5IHtcblx0IG1hcmdpbjogMDtcbiB9XG4gXG4gLyoqXG5cdCogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuXHQqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cdCovXG4gXG4gaDEge1xuXHQgZm9udC1zaXplOiAyZW07XG5cdCBtYXJnaW46IC42N2VtIDA7XG4gfVxuIFxuIC8qIEdyb3VwaW5nIGNvbnRlbnQgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2dyb3VwaW5nLWNvbnRlbnQpXG5cdFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcblx0KiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cblx0KiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cblx0Ki9cbiBcbiBmaWdjYXB0aW9uLFxuIGZpZ3VyZSxcbiBtYWluIHsgLyogMSAqL1xuXHQgZGlzcGxheTogYmxvY2s7XG4gfVxuIFxuIC8qKlxuXHQqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cblx0Ki9cbiBcbiBmaWd1cmUge1xuXHQgbWFyZ2luOiAxZW0gNDBweDtcbiB9XG4gXG4gLyoqXG5cdCogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cblx0KiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblx0Ki9cbiBcbiBociB7XG5cdCBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuXHQgaGVpZ2h0OiAwOyAvKiAxICovXG5cdCBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuIH1cbiBcbiAvKipcblx0KiBSZW1vdmUgdGhlIGxpc3Qgc3R5bGUgb24gbmF2aWdhdGlvbiBsaXN0cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cblx0Ki9cbiBcbiBuYXYgb2wsXG4gbmF2IHVsIHtcblx0IGxpc3Qtc3R5bGU6IG5vbmU7XG4gfVxuIFxuIC8qKlxuXHQqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cdCogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXHQqL1xuIFxuIHByZSB7XG5cdCBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cblx0IGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gfVxuIFxuIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCN0ZXh0LWxldmVsLXNlbWFudGljcylcblx0XHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qKlxuXHQqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblx0KiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG5cdCovXG4gXG4gYSB7XG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuXHQgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuIH1cbiBcbiAvKipcblx0KiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG5cdCogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblx0Ki9cbiBcbiBhYmJyW3RpdGxlXSB7XG5cdCBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG5cdCB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuXHQgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuXHQqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuXHQqL1xuIFxuIGIsXG4gc3Ryb25nIHtcblx0IGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuIH1cbiBcbiAvKipcblx0KiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXHQqL1xuIFxuIGIsXG4gc3Ryb25nIHtcblx0IGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gfVxuIFxuIC8qKlxuXHQqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cdCogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXHQqL1xuIFxuIGNvZGUsXG4ga2JkLFxuIHNhbXAge1xuXHQgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG5cdCBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuIH1cbiBcbiAvKipcblx0KiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG5cdCovXG4gXG4gZGZuIHtcblx0IGZvbnQtc3R5bGU6IGl0YWxpYztcbiB9XG4gXG4gLyoqXG5cdCogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuXHQqL1xuIFxuIG1hcmsge1xuXHQgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmYwMDtcblx0IGNvbG9yOiAjMDAwMDAwO1xuIH1cbiBcbiAvKipcblx0KiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblx0Ki9cbiBcbiBzbWFsbCB7XG5cdCBmb250LXNpemU6IDgwJTtcbiB9XG4gXG4gLyoqXG5cdCogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG5cdCogYWxsIGJyb3dzZXJzLlxuXHQqL1xuIFxuIHN1YixcbiBzdXAge1xuXHQgZm9udC1zaXplOiA3NSU7XG5cdCBsaW5lLWhlaWdodDogMDtcblx0IHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiB9XG4gXG4gc3ViIHtcblx0IGJvdHRvbTogLS4yNWVtO1xuIH1cbiBcbiBzdXAge1xuXHQgdG9wOiAtLjVlbTtcbiB9XG4gXG4gLypcblx0KiBSZW1vdmUgdGhlIHRleHQgc2hhZG93IG9uIHRleHQgc2VsZWN0aW9ucyAob3BpbmlvbmF0ZWQpLlxuXHQqIDEuIFJlc3RvcmUgdGhlIGNvbG9yaW5nIHVuZG9uZSBieSBkZWZpbmluZyB0aGUgdGV4dCBzaGFkb3cgKG9waW5pb25hdGVkKS5cblx0Ki9cbiBcbiA6Oi1tb3otc2VsZWN0aW9uIHtcblx0IGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7IC8qIDEgKi9cblx0IGNvbG9yOiAjMDAwMDAwOyAvKiAxICovXG5cdCB0ZXh0LXNoYWRvdzogbm9uZTtcbiB9XG4gXG4gOjpzZWxlY3Rpb24ge1xuXHQgYmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYzsgLyogMSAqL1xuXHQgY29sb3I6ICMwMDAwMDA7IC8qIDEgKi9cblx0IHRleHQtc2hhZG93OiBub25lO1xuIH1cbiBcbiAvKiBFbWJlZGRlZCBjb250ZW50IChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250ZW50Lmh0bWwjZW1iZWRkZWQtY29udGVudClcblx0XHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qXG5cdCogQ2hhbmdlIHRoZSBhbGlnbm1lbnQgb24gbWVkaWEgZWxlbWVudHMgaW4gYWxsIGJyb3dlcnMgKG9waW5pb25hdGVkKS5cblx0Ki9cbiBcbiBhdWRpbyxcbiBjYW52YXMsXG4gaWZyYW1lLFxuIGltZyxcbiBzdmcsXG4gdmlkZW8ge1xuXHQgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiB9XG4gXG4gLyoqXG5cdCogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG5cdCovXG4gXG4gYXVkaW8sXG4gdmlkZW8ge1xuXHQgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuIH1cbiBcbiAvKipcblx0KiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuXHQqL1xuIFxuIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG5cdCBkaXNwbGF5OiBub25lO1xuXHQgaGVpZ2h0OiAwO1xuIH1cbiBcbiAvKipcblx0KiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cblx0Ki9cbiBcbiBpbWcge1xuXHQgYm9yZGVyLXN0eWxlOiBub25lO1xuIH1cbiBcbiAvKipcblx0KiBDaGFuZ2UgdGhlIGZpbGwgY29sb3IgdG8gbWF0Y2ggdGhlIHRleHQgY29sb3IgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG5cdCovXG4gXG4gc3ZnIHtcblx0IGZpbGw6IGN1cnJlbnRDb2xvcjtcbiB9XG4gXG4gLyoqXG5cdCogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG5cdCovXG4gXG4gc3ZnOm5vdCg6cm9vdCkge1xuXHQgb3ZlcmZsb3c6IGhpZGRlbjtcbiB9XG4gXG4gLyogVGFidWxhciBkYXRhIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90YWJsZXMuaHRtbCN0YWJsZXMpXG5cdFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcblx0KiBDb2xsYXBzZSBib3JkZXIgc3BhY2luZ1xuXHQqL1xuIFxuIHRhYmxlIHtcblx0IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gfVxuIFxuIC8qIEZvcm1zIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2Zvcm1zKVxuXHRcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG5cdCogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXHQqL1xuIFxuIGJ1dHRvbixcbiBpbnB1dCxcbiBvcHRncm91cCxcbiBzZWxlY3QsXG4gdGV4dGFyZWEge1xuXHQgbWFyZ2luOiAwO1xuIH1cbiBcbiAvKipcblx0KiBJbmhlcml0IHN0eWxpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG5cdCovXG4gXG4gYnV0dG9uLFxuIGlucHV0LFxuIHNlbGVjdCxcbiB0ZXh0YXJlYSB7XG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0IGNvbG9yOiBpbmhlcml0O1xuXHQgZm9udC1zaXplOiBpbmhlcml0O1xuXHQgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gfVxuIFxuIC8qKlxuXHQqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuXHQqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cdCovXG4gXG4gYnV0dG9uLFxuIGlucHV0IHsgLyogMSAqL1xuXHQgb3ZlcmZsb3c6IHZpc2libGU7XG4gfVxuIFxuIC8qKlxuXHQqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuXHQqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblx0Ki9cbiBcbiBidXR0b24sXG4gc2VsZWN0IHsgLyogMSAqL1xuXHQgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gfVxuIFxuIC8qKlxuXHQqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuXHQqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cblx0KiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXHQqL1xuIFxuIGJ1dHRvbixcbiBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gW3R5cGU9XCJyZXNldFwiXSxcbiBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdCAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuIH1cbiBcbiAvKipcblx0KiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXHQqL1xuIFxuIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcblx0IGJvcmRlci1zdHlsZTogbm9uZTtcblx0IHBhZGRpbmc6IDA7XG4gfVxuIFxuIC8qKlxuXHQqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblx0Ki9cbiBcbiBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdCBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gfVxuIFxuIC8qKlxuXHQqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG5cdCogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuXHQqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcblx0KiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblx0Ki9cbiBcbiBsZWdlbmQge1xuXHQgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuXHQgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cblx0IGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG5cdCBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cblx0IHBhZGRpbmc6IDA7IC8qIDMgKi9cblx0IHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiB9XG4gXG4gLyoqXG5cdCogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG5cdCogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblx0Ki9cbiBcbiBwcm9ncmVzcyB7XG5cdCBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cblx0IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuIH1cbiBcbiAvKipcblx0KiAxLiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuXHQqIDIuIENoYW5nZSB0aGUgcmVzaXplIGRpcmVjdGlvbiBvbiB0ZXh0YXJlYXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG5cdCovXG4gXG4gdGV4dGFyZWEge1xuXHQgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cblx0IHJlc2l6ZTogdmVydGljYWw7IC8qIDIgKi9cbiB9XG4gXG4gLyoqXG5cdCogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuXHQqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG5cdCovXG4gXG4gW3R5cGU9XCJjaGVja2JveFwiXSxcbiBbdHlwZT1cInJhZGlvXCJdIHtcblx0IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0IHBhZGRpbmc6IDA7IC8qIDIgKi9cbiB9XG4gXG4gLyoqXG5cdCogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXHQqL1xuIFxuIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0IGhlaWdodDogYXV0bztcbiB9XG4gXG4gLyoqXG5cdCogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG5cdCogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cdCovXG4gXG4gW3R5cGU9XCJzZWFyY2hcIl0ge1xuXHQgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cblx0IG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG4gfVxuIFxuIC8qKlxuXHQqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cdCovXG4gXG4gW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHQgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuIH1cbiBcbiAvKipcblx0KiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXHQqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblx0Ki9cbiBcbiA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcblx0IC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG5cdCBmb250OiBpbmhlcml0OyAvKiAyICovXG4gfVxuIFxuIC8qIEludGVyYWN0aXZlIGVsZW1lbnRzIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2ludGVyYWN0aXZlLWVsZW1lbnRzKVxuXHRcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLypcblx0KiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cblx0KiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG5cdCovXG4gXG4gZGV0YWlscywgLyogMSAqL1xuIG1lbnUge1xuXHQgZGlzcGxheTogYmxvY2s7XG4gfVxuIFxuIC8qXG5cdCogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXHQqL1xuIFxuIHN1bW1hcnkge1xuXHQgZGlzcGxheTogbGlzdC1pdGVtO1xuIH1cbiBcbiAvKiBTY3JpcHRpbmcgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3NjcmlwdGluZy0zKVxuXHRcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG5cdCogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG5cdCovXG4gXG4gY2FudmFzIHtcblx0IGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiB9XG4gXG4gLyoqXG5cdCogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG5cdCovXG4gXG4gdGVtcGxhdGUge1xuXHQgZGlzcGxheTogbm9uZTtcbiB9XG4gXG4gLyogVXNlciBpbnRlcmFjdGlvbiAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNlZGl0aW5nKVxuXHRcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLypcblx0KiBSZW1vdmUgdGhlIHRhcHBpbmcgZGVsYXkgb24gY2xpY2thYmxlIGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXG5cdCogMS4gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwLlxuXHQqL1xuIFxuIGEsXG4gYXJlYSxcbiBidXR0b24sXG4gaW5wdXQsXG4gbGFiZWwsXG4gc2VsZWN0LFxuIHN1bW1hcnksXG4gdGV4dGFyZWEsXG4gW3RhYmluZGV4XSB7XG5cdCAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIDEgKi9cblx0IHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuIH1cbiBcbiAvKipcblx0KiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG5cdCovXG4gXG4gW2hpZGRlbl0ge1xuXHQgZGlzcGxheTogbm9uZTtcbiB9XG4gXG4gLyogQVJJQSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2h0bWwtYXJpYS8pXG5cdFx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcblx0KiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBidXN5IGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXG5cdCovXG4gXG4gW2FyaWEtYnVzeT1cInRydWVcIl0ge1xuXHQgY3Vyc29yOiBwcm9ncmVzcztcbiB9XG4gXG4gLypcblx0KiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBjb250cm9sIGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXG5cdCovXG4gXG4gW2FyaWEtY29udHJvbHNdIHtcblx0IGN1cnNvcjogcG9pbnRlcjtcbiB9XG4gXG4gLypcblx0KiBDaGFuZ2UgdGhlIGRpc3BsYXkgb24gdmlzdWFsbHkgaGlkZGVuIGFjY2Vzc2libGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cblx0Ki9cbiBcbiBbYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcblx0IGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG5cdCBkaXNwbGF5OiBpbmhlcml0O1xuXHQgcG9zaXRpb246IGFic29sdXRlO1xuIH1cbiBcbiAvKlxuXHQqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZVxuXHQqIGlub3BlcmFibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cblx0Ki9cbiBcbiBbYXJpYS1kaXNhYmxlZF0ge1xuXHQgY3Vyc29yOiBkZWZhdWx0O1xuIH0gIiwiLy8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuLy8gICAgI1VUSUxJVFkgLSBDTEVBUkZJWCBVVElMSVRZXG4vL1xcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyAgKiBOb3RlOiBjb250YWluIGZsb2F0c1xuLy8gICogRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gICogMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAqICAgIGBjb250ZW50ZWRpdGFibGVgIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAqICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICogICAgdGhhdCByZWNlaXZlIHRoZSBgY2xlYXJmaXhgIGNsYXNzLlxuLy8gICogMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAqICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vICAqL1xuXG4uY2xlYXJmaXh7XG5cdCY6YWZ0ZXJ7XG5cdCAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuXHQgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdCAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcblx0fVxufVxuIiwiLy8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuLy8gICAgI0NPUkUvSEVMUEVSUyAtIEhJRERFTlxuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTm90ZTogQWRkIHRoZSAuaGlkZGVuIGNsYXNzIHRvIEdOb3JtLCB0aGlzIGNsYXNzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgb24gbGlua3NcbiAqIHRoYXQgc2hvdWxkIG5vdCBkaXNwbGF5IHRoZWlyIHRleHQsIGV4LiBhIGljb24gYnV0dG9uLlxuICovXG5cbiAuaGlkZGVue1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogLTEwMDAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczpsaXN0JztcblxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG5cdCRpbmRleDogc3RyaW5nLmluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXHRAaWYgJGluZGV4IHtcblx0XHRAcmV0dXJuIHN0cmluZy5zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyaW5nLnNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0cmluZy5sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG5cdH1cblx0QHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gZm9udC1mYWNlKCRuYW1lLCAkcGF0aCwgJHdlaWdodDogbnVsbCwgJHN0eWxlOiBudWxsLCAkZXh0czogd29mZiB3b2ZmMiB0dGYgZW90KSB7XG5cdCRzcmM6IG51bGw7XG5cdCRleHRtb2RzOiAoXG5cdFx0ZW90OiBcIj9cIixcblx0XHRzdmc6IFwiI1wiICsgc3RyLXJlcGxhY2UoJG5hbWUsIFwiIFwiLCBcIl9cIilcblx0KTtcblx0JGZvcm1hdHM6IChcblx0XHRvdGY6IFwib3BlbnR5cGVcIixcblx0XHR0dGY6IFwidHJ1ZXR5cGVcIlxuXHQpO1xuXHRAZWFjaCAkZXh0IGluICRleHRzIHtcblx0XHQkZXh0bW9kOiBpZihtYXAuaGFzLWtleSgkZXh0bW9kcywgJGV4dCksICRleHQgKyBtYXAuZ2V0KCRleHRtb2RzLCAkZXh0KSwgJGV4dCk7XG5cdFx0JGZvcm1hdDogaWYobWFwLmhhcy1rZXkoJGZvcm1hdHMsICRleHQpLCBtYXAuZ2V0KCRmb3JtYXRzLCAkZXh0KSwgJGV4dCk7XG5cdFx0JHVybDogJyN7JHBhdGh9LiN7JGV4dG1vZH0nO1xuXHRcdCRzcmM6IGxpc3QuYXBwZW5kKCRzcmMsIHVybCgkdXJsKSBmb3JtYXQoJyN7JGZvcm1hdH0nKSwgJHNlcGFyYXRvcjogY29tbWEpO1xuXHR9XG5cdEBmb250LWZhY2Uge1xuXHRcdGZvbnQ6IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ZmFtaWx5OiAnI3skbmFtZX0nO1xuXHRcdFx0c3R5bGU6ICRzdHlsZTtcblx0XHRcdHdlaWdodDogJHdlaWdodDtcblx0XHR9XG5cdFx0c3JjOiAkc3JjO1xuXHR9XG59XG4iLCIvLyBGb250IGZhbWlseVxuQHVzZSAnLi4vbWl4aW5zL2ZvbnRzJztcbkB1c2UgJy4uL3ZhcmlhYmxlcy9maWxlLXBhdGgnO1xuXG5AaW5jbHVkZSBmb250cy5mb250LWZhY2UoJG5hbWU6ICdpY29tb29uJywgJHBhdGg6ICcje2ZpbGUtcGF0aC4kZm9udHN9aWNvbW9vbi9pY29tb29uJywgJHdlaWdodDogNDAwLCAkc3R5bGU6IG5vcm1hbCwgJGV4dHM6IHdvZmYgdHRmIGVvdCBzdmcpO1xuQGluY2x1ZGUgZm9udHMuZm9udC1mYWNlKCRuYW1lOiAnU2F0b3NoaScsICRwYXRoOiAnaHR0cHM6Ly9jZXJ0aW5pYS5jb20vd3AtY29udGVudC90aGVtZXMvZmluYW5jaWFsZm9yY2UvYXNzZXRzL2Rpc3QvZm9udHMvU2F0b3NoaS1SZWd1bGFyLjVjOTAyZDMzLndvZmYyJywgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCwgJGV4dHM6IHdvZmYyIHdvZmYpO1xuXG4kc3lzdGVtRm9udDogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuJGZhbGxiYWNrU2FuczogJHN5c3RlbUZvbnQ7XG4kc2F0b3NoaTogJ1NhdG9zaGknO1xuJHNhbnM6ICRzYXRvc2hpLCAkZmFsbGJhY2tTYW5zO1xuJGljb25mb250OiAnSWNvbW9vbic7XG4iLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyAgICAjQ09SRSAtIElDT05TXG4vL1xcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBOb3RlOiBXaWxsIGJlIHJlcGxhY2VkIG9uY2UgU1ZHIGZlYXR1cmUgYnJhbmNoIGlzIGNvbXBsZXRlZCAqL1xuXG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2ZvbnQtZmFtaWx5JztcblxuJWljb24sXG5bY2xhc3NePSdpY29uLSddLFxuW2NsYXNzKj0nIGljb24tJ10ge1xuICAmOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IGZvbnQtZmFtaWx5LiRpY29uZm9udDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uaWNvbiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmljb24tYnVsYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljb24tQ2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tQWdlbmN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1icmFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNlwiO1xufVxuLmljb24tc29jaWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1icmFuZDI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cbi5pY29uLXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1zb2NpYWwyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuLmljb24tYnJhbmQzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1zb2NpYWwzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1wbGF5ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbiIsIi8vLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbi8vICAgICNVVElMSVRZIC0gU1BBQ0lORyBVTklUXG4vL1xcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXJnaW4gYW5kIHNwYWNpbmcgYmFzZSB2YXJpYWJsZXNcbiAqL1xuQHVzZSAnc2FzczptYXRoJztcblxuJHNwYWNpbmctdW5pdDogMXJlbTtcbiRzcGFjaW5nLXVuaXQtLXM6IG1hdGguZGl2KCRzcGFjaW5nLXVuaXQsIDIpO1xuJHNwYWNpbmctdW5pdC0tbTogJHNwYWNpbmctdW5pdCAqIDI7XG4kc3BhY2luZy11bml0LS1sOiAkc3BhY2luZy11bml0ICogMztcbiRzcGFjaW5nLXVuaXQtLXhsOiAkc3BhY2luZy11bml0ICogNDtcbiRzcGFjaW5nLXVuaXQtLXh4bDogJHNwYWNpbmctdW5pdCAqIDY7XG4kbW9iaWxlLW1hcmdpbjogJHNwYWNpbmctdW5pdC0tbDtcbiRpbnB1dC1wYWRkaW5nOiAkc3BhY2luZy11bml0ICRzcGFjaW5nLXVuaXQgJHNwYWNpbmctdW5pdC0tczsiLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyAgICAjQ09SRSAtIFdSQVBQRVJcbi8vXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvbWF4LXdpZHRoJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG5cbkB1c2UgJy4vaGVscGVycy5jbGVhcmZpeCc7XG5cbi53cmFwcGVyIHtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgbWF4LXdpZHRoOiBtYXgtd2lkdGguJG1heC1wYWdlLXdpZHRoO1xuICBwYWRkaW5nLWlubGluZTogc3BhY2luZy4kbW9iaWxlLW1hcmdpbjtcbn1cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn0iLCJAdXNlICcuL2JyZWFrcG9pbnRzJztcbkB1c2UgJ3Nhc3M6bWFwJztcblxuLy8gTWF4IHdpZHRoIHVzZWQgZm9yIGNvbnRhaW5lciBjbGFzc1xuJG1heC1wYWdlLXdpZHRoOiBtYXAuZ2V0KGJyZWFrcG9pbnRzLiRzaXplcywgbGFyZ2UtZGVza3RvcCk7XG5cbi8vIFVzZWQgdG8gY3JlYXRlIG11bHRpcGxlIG1heCB3aWR0aCBjbGFzc2VzXG4vLyBFeGFtcGxlIC5jb250YWluZXIteHMsIC5jb250YWluZXItc20sIGVjdC5cbi8vIE5vdGU6IGRlZmF1bHQgZG9lcyBub3QgZ2V0IGFkZGVkIHRvIHRoZSBlbmQgYW5kIHdpbGwgYmUgLmNvbnRhaW5lclxuLy8gUmVtb3ZlIGlmIG9ubHkgb25lIG1heCB3aWR0aCBpcyBuZWVkZWRcbi8vICRtdWx0aXBsZTogKFxuLy8gXHR4czogMzdyZW0sXG4vLyBcdHNtOiA1MHJlbSxcbi8vIFx0bWQ6IDc1cmVtLFxuLy8gXHRkZWZhdWx0OiAkbWF4LXBhZ2Utd2lkdGgsXG4vLyBcdHhsOiAxNTByZW0sXG4vLyApO1xuIiwiLy8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuLy8gICAgI1VUSUxJVFkgLSBGT05UIFNJWkVcbi8vXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE5vdGU6IFRoaXMgZWl0aGVyIG5lZWRzIHRvIGJlIGNvbXBsZXRlbHkgcmVwbGFjZWQgb3IgbmVlZHMgdG8gZ28gYXdheSBlbnRpcmVseS5cbiAqIFRoZXJlIGFyZSBtdWNoIGJldHRlciBhcHByb2FjaGVzIHRvIGhhbmRsaW5nIFJFTSBmb250IHNpemluZyAoYW5kIFJFTSBmYWxsYmFja3MpXG4gKiB1c2luZyBvZmYtdGhlLXNoZWxmIGxpYnJhcmllcyArIFBvc3RDU1MgcHJvY2Vzc29yc1xuICovXG5AdXNlICdzYXNzOm1hdGgnO1xuXG4gQG1peGluIHNpemUoJHNpemVWYWx1ZTogMS42LCAkbGluZTogJHNpemVWYWx1ZSAqIDEuNSkge1xuICBmb250LXNpemU6ICRzaXplVmFsdWUgKiAxICsgcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lICogMSArIHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogbWF0aC5kaXYoJHNpemVWYWx1ZSwgMTApICsgcmVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigkbGluZSwgMTApICsgcmVtICFpbXBvcnRhbnQ7XG59XG4iLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyAgICAjQ09SRS9IVE1MIC0gRk9STVNcbi8vXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkB1c2UgJy4uLy4uLzBfdXRpbGl0eS9taXhpbnMvZm9udC1zaXplJztcbkB1c2UgJy4uLy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvZm9udC1mYW1pbHknO1xuXG5mb3JtIHt9XG5cbmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuc2VsZWN0LFxuaW5wdXQge1xuICBmb250LWZhbWlseTogZm9udC1mYW1pbHkuJHNhbnM7XG59XG5cbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxuaW5wdXRbdHlwZT0ncmFkaW8nXSxcbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICB3aWR0aDogYXV0bztcbn1cblxuaW5wdXRbdHlwZT0nc3VibWl0J10ge31cblxuaW5wdXRbdHlwZT0ndGV4dCddIHt9XG5cbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge31cblxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7fVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHt9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnRleHRhcmVhIHt9XG5cbnNlbGVjdCB7fVxuIiwiLy8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuLy8gICAgI0NPUkUvSFRNTCAtIEhFQURJTkcgRUxFTUVOVFNcbi8vXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkB1c2UgJy4uLy4uLzBfdXRpbGl0eS9taXhpbnMvZm9udC1zaXplJztcbkB1c2UgJy4uLy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvZm9udC1mYW1pbHknO1xuXG5AY3VzdG9tLXNlbGVjdG9yIDotLWhlYWRpbmcgaDEsIGgyLCBoMywgaDQsIGg1LCBoNjtcblxuOi0taGVhZGluZyB7XG4gIG1hcmdpbi1ibG9jazogMDtcbn1cbmgxIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMjgsIDM0KTtcbn1cbmgyLFxuaDMge1xuICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNiwgMTkpO1xufVxuaDQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNCwgMTcpO1xufVxuIiwiLy8vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuLy8gICAgI0NPUkUvSFRNTCAtIElNQUdFU1xuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gICogMS4gRmx1aWQgaW1hZ2VzIGZvciByZXNwb25zaXZlIHB1cnBvc2VzLlxuLy8gICogMi4gT2Zmc2V0IGBhbHRgIHRleHQgZnJvbSBzdXJyb3VuZGluZyBjb3B5LlxuLy8gICogMy4gU2V0dGluZyBgdmVydGljYWwtYWxpZ25gIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyIGBpbWdgXG4vL1x0KiAgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4vL1x0KiAgICB1c2luZyBgZGlzcGxheTogYmxvY2s7YC5cbi8vICAqIDQuIE1haW50YWluIGFzcGVjdCByYXRpb1xuLy8gICogNS4gV2h5IGlzIGEgYm9yZGVyIHNob3dpbmcgdXAgaW4gSUU5IGJ5IGRlZmF1bHQ/IFJlZ2FyZGxlc3MsIHRoaXMgYm9yZGVyOiAwXG4vL1x0KiAgICBnZXRzIHJpZCBvZiB0aGF0IGdsb2JhbGx5IG9uIGFsbCB2YW5pbGxhIGltZyB0YWdzLlxuLy8gICovXG5cbm1haW4gaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgLyogWzFdICovXG4gICAgZm9udC1zdHlsZTogaXRhbGljOyAvKiBbMl0gKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiBbM10gKi9cbiAgICBoZWlnaHQ6IGF1dG87IC8qIFs0XSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMDsgLyogWzVdICovXG59XG5cbm1haW4gfiBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbiIsIi8vLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbi8vICAgICNDT1JFL0hUTUwgLSBMSU5LU1xuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQHVzZSBcIi4uLy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzXCI7XG5cbmEge1xuICBjb2xvcjogY29sb3JzLiRwcmltYXJ5O1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6YWN0aXZlIHt9XG4gICY6aG92ZXIge1xuICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiBjb2xvcnMuJHByaW1hcnlfZGFyaztcbiAgfVxufVxuIiwiJGJsdWU6ICM0QTkwRTI7XG4kYmx1ZV9kYXJrOiAjMDI0REExO1xuJGJsdWVfbGlnaHQ6IHJnYmEoJGJsdWUsIDAuMDkpO1xuJG9yYW5nZTogI0ZGNzMxQztcbiRvcmFuZ2VfZGFyazogI0YwNUUwNDtcbiRncmVlbl9kYXJrOiAjMDBiNThhO1xuJGdyZWVuX3N1Y2Nlc3M6ICMwMEUyQUQ7XG4kcGluazogI0Y5NjNCRDtcbiRwaW5rX2Rhcms6ICNjNzRmOTc7XG4kZ29sZDogIzk5NzMzQTtcbiRncmV5X2Rhcms6ICM2MTYxNjM7XG4kZ3JleV90ZXh0OiAjNzQ3Njc4O1xuJGJsYWNrOiAjMDAwMDAwO1xuXG4kYmFja2dyb3VuZC1saWdodDogI0VBRjRGRjtcbiRib3JkZXI6ICNlN2U3ZTc7XG4kYm9yZGVyX2Rhcms6ICM0YzRjNGU7XG4kbm9TYXZpbmdzOiAjNjE2MTYzO1xuJHByaW1hcnk6ICM1OTU5NTk7XG4kcHJpbWFyeV9kYXJrOiAjMjQyMzIzO1xuJHByaW1hcnlfbGlnaHQ6IHJnYmEoJHByaW1hcnksIDAuMDkpO1xuXG4kb3ZlcmxheTgwOiAjMzIxNDI2O1xuJG92ZXJsYXk2MDogIzY0Mjg0YztcbiRvdmVybGF5NDA6ICM5NTNiNzE7XG4kb3ZlcmxheTMwOiAjYWU0NTg0O1xuJG92ZXJsYXkyMDogJHBpbmtfZGFyaztcbiRvdmVybGF5MTA6ICNlMDU5YWE7XG4kb3ZlcmxheTA6ICRwaW5rO1xuXG4vLyBOZXcgQ29sb3JzXG4kd2hpdGU6ICNmZmY7XG4kZ3JheTQwOiAjYjdiOWJhO1xuJGdyZXkzMDogIzc1NzU3NTtcbiRncmV5MjA6ICNmNWY4ZmI7XG4kZ3JleTEwOiAjYTZhNmE2O1xuJGdyZXkwOiAjZWJlZWYwO1xuJGJsdWUzMDogIzBmMTAyZTtcbiRibHVlMjA6ICMwMDZkOTc7XG4kYmx1ZTE1OiAjMDA4MEIyO1xuJGJsdWUxMDogIzAwODViOTtcbiRibHVlMDogIzAyYWRlZjtcbiR2aW9sZXQ6ICMyNjIzNjE7XG4kZ3JlZW4xMDogIzA5ODk0YjtcbiRncmVlbjA6ICMyNWM3Nzk7XG4kcmVkMTA6ICNkNjJlNTA7XG4kcmVkMDogI2VhM2ExMTtcbiR5ZWxsb3c6ICNmOGVmNTY7XG4kZ29sZDogI0U4QTIxQjtcblxuJHRleHQ6ICRibHVlMzA7XG4iLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyAgICAjQ09SRS9IVE1MIC0gUEFHRVxuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQHVzZSAnLi4vLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9mb250LXNpemVzJztcbkB1c2UgJy4uLy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvZm9udC1mYW1pbHknO1xuXG4qIHtcbiAgYm94LXNpemluZzpib3JkZXItYm94OyAvLyBlc3RhYmxpc2hlcyBib3JkZXItYm94IG1vZGVsIGZvciBhbGwgZWxlbWVudHNcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIFJlbW92ZSBkZWZhdWx0IHRhcHBhYmxlIHRvdWNoIGNvbG9yIGluIGlPU1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTsgLy8gU2V0cyB1cCB0aGUgQmFzZSAxMCBzdHVmZlxuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRibHVlMzA7XG4gIGNvbG9yOiBjb2xvcnMuJHRleHQ7XG4gIGZvbnQ6IHtcbiAgICBzaXplOiBmb250LXNpemVzLiRkZWZhdWx0O1xuICAgIGZhbWlseTogZm9udC1mYW1pbHkuJHNhbnM7XG4gIH1cbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cbiIsIi8vIEJhc2ljIGZvbnQgc2l6ZXNcbiRkZWZhdWx0OiAxLjZyZW07XG4iLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyAgICAjQ09SRS9IVE1MIC0gVEFCTEVTXG4vL1xcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnRhYmxlIHtcbiAgLy8gRHJhZ2dhYmxlIG92ZXJmbG93IGZvciBzbWFsbGVyIHNjcmVlbnNcbiAgLy8gb3ZlcmZsb3cteDogYXV0bztcbiAgLy8gd2lkdGg6IDEwMCU7XG59XG5cbmNhcHRpb24ge31cblxuY29sZ3JvdXAge31cblxuY29sIHt9XG5cbnRib2R5IHtcbiAgLy8gSGVscGZ1bCBpZiB6ZWJyYS1zdHJpcGluZ1xuICAvLyAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgLy8gICB9XG59XG5cbnRoZWFkIHt9XG5cbnRmb290IHt9XG5cbnRyLFxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbnRyIHt9XG5cbnRkIHt9XG5cbnRoIHt9XG4iLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyAgICAjQ09SRS9IVE1MIC0gVFlQT0dSQVBIWVxuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQHVzZSAnLi4vLi4vMF91dGlsaXR5L21peGlucy9mb250LXNpemUnO1xuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxucCB7XG4gIG1hcmdpbi1ibG9jazogMDtcbn1cbiIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2ZvbnQtZmFtaWx5JztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG5cbi5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBmb250LWZhbWlseS4kc2FucztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWF4LXdpZHRoOiBtYXgtY29udGVudDtcbiAgcGFkZGluZy1ibG9jazogc3BhY2luZy4kc3BhY2luZy11bml0ICogMS41O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICAmLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJGJsdWUwO1xuICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgIHRyYW5zaXRpb246IDUwMG1zIGVhc2U7XG4gICAgbWluLWhlaWdodDogNTJweDtcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXM7XG4gICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gICAgJjpob3ZlcntcbiAgICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kYmx1ZTE1O1xuICAgIH1cbiAgICAuaWNvbi1hcnJvd3tcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kYmx1ZTE1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogNDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gICAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gICAgICB3aWR0aDogNDFweDtcbiAgICB9XG4gIH1cbiAgJi0tbGlua3tcbiAgICBjb2xvcjogY29sb3JzLiRibHVlMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLmljb24tYXJyb3d7XG4gICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgICAgdHJhbnNmb3JtOiAzMDBtcyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgICBzdmcgcGF0aHtcbiAgICAgICAgZmlsbDogY29sb3JzLiRibHVlMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgIGNvbG9yOiBjb2xvcnMuJGJsdWUxNTtcbiAgICAgIC5pY29uLWFycm93e1xuICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgICAgICBzdmcgcGF0aHtcbiAgICAgICAgICBmaWxsOiBjb2xvcnMuJGJsdWUxNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmNhbGN1bGF0b3J7XG4gIC5idXR0b24td3JhcHBlcntcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGxhcmdlLW1vYmlsZSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgLmJ1dHRvbntcbiAgICAgIG1hcmdpbi1ibG9jazogc3BhY2luZy4kc3BhY2luZy11bml0IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGxhcmdlLW1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vdmFyaWFibGVzL2JyZWFrcG9pbnRzJyBhcyAqO1xuXG4vLyBNZWRpYSBRdWVyaWVzXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzaXplcywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcblx0JG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG5cdEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJHNpemVzKSB7XG5cdCRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG5cdEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRzaXplcykge1xuXHQkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXHRAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIDFweCwgbnVsbCk7XG59XG5cbkBtaXhpbiB1cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2l6ZXMpIHtcblx0JG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG5cdEBpZiAkbWluIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkc2l6ZXMpIHtcblx0JG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cdEBpZiAkbWF4IHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkc2l6ZXMpIHtcblx0QGluY2x1ZGUgdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcblx0XHRAaW5jbHVkZSBkb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG9ubHkoJG5hbWUsICRicmVha3BvaW50czogJHNpemVzKSB7XG5cdEBpbmNsdWRlIGJldHdlZW4oJG5hbWUsICRuYW1lLCAkYnJlYWtwb2ludHMpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuIiwiLy8gU3R5bGluZyBDcm9zcy1Ccm93c2VyIENvbXBhdGlibGUgUmFuZ2UgSW5wdXRzIHdpdGggU2Fzc1xuLy8gR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vZGFybGFucm9kL2lucHV0LXJhbmdlLXNhc3Ncbi8vIEF1dGhvcjogRGFybGFuIFJvZCBodHRwczovL2dpdGh1Yi5jb20vZGFybGFucm9kXG4vLyBWZXJzaW9uIDEuNS4yXG4vLyBNSVQgTGljZW5zZVxuXG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICdzYXNzOm1hdGgnO1xuXG4kdHJhY2stY29sb3I6IHJnYmEoY29sb3JzLiRibGFjaywgMC4wOSkgIWRlZmF1bHQ7XG4kdGh1bWItY29sb3I6IGNvbG9ycy4kYmx1ZTAgIWRlZmF1bHQ7XG5cbiR0aHVtYi1yYWRpdXM6IDEwMCUgIWRlZmF1bHQ7XG4kdGh1bWItaGVpZ2h0OiAyNXB4ICFkZWZhdWx0O1xuJHRodW1iLXdpZHRoOiAyNXB4ICFkZWZhdWx0O1xuJHRodW1iLXNoYWRvdy1zaXplOiAycHggMnB4ICFkZWZhdWx0O1xuJHRodW1iLXNoYWRvdy1ibHVyOiA4cHggIWRlZmF1bHQ7XG4kdGh1bWItc2hhZG93LWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wOCkgIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGJsdWUwICFkZWZhdWx0O1xuXG4kdHJhY2std2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kdHJhY2staGVpZ2h0OiA1cHggIWRlZmF1bHQ7XG4kdHJhY2stc2hhZG93LXNpemU6IDAgIWRlZmF1bHQ7XG4kdHJhY2stc2hhZG93LWJsdXI6IDAgIWRlZmF1bHQ7XG4kdHJhY2stc2hhZG93LWNvbG9yOiAkdGh1bWItY29sb3IgIWRlZmF1bHQ7XG4kdHJhY2stYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJHRyYWNrLWJvcmRlci1jb2xvcjogY29sb3JzLiRwcmltYXJ5ICFkZWZhdWx0O1xuXG4kdHJhY2stcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kY29udHJhc3Q6IDUlICFkZWZhdWx0O1xuXG4kaWUtYm90dG9tLXRyYWNrLWNvbG9yOiBkYXJrZW4oJHRyYWNrLWNvbG9yLCAkY29udHJhc3QpICFkZWZhdWx0O1xuXG5AbWl4aW4gc2hhZG93KCRzaGFkb3ctc2l6ZSwgJHNoYWRvdy1ibHVyLCAkc2hhZG93LWNvbG9yKSB7XG4gIGJveC1zaGFkb3c6ICR0aHVtYi1zaGFkb3ctc2l6ZSAkdGh1bWItc2hhZG93LWJsdXIgJHNoYWRvdy1jb2xvcjtcbn1cblxuQG1peGluIHRyYWNrIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBoZWlnaHQ6ICR0cmFjay1oZWlnaHQ7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbiAgd2lkdGg6ICR0cmFjay13aWR0aDtcbn1cblxuQG1peGluIHRodW1iIHtcbiAgQGluY2x1ZGUgc2hhZG93KCR0aHVtYi1zaGFkb3ctc2l6ZSwgJHRodW1iLXNoYWRvdy1ibHVyLCAkdGh1bWItc2hhZG93LWNvbG9yKTtcbiAgYmFja2dyb3VuZDogJHRodW1iLWNvbG9yO1xuICBib3JkZXI6ICR0aHVtYi1ib3JkZXItd2lkdGggc29saWQgJHRodW1iLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1iLXJhZGl1cztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBoZWlnaHQ6ICR0aHVtYi1oZWlnaHQ7XG4gIHdpZHRoOiAkdGh1bWItd2lkdGg7XG59XG5cblt0eXBlPSdyYW5nZSddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJHRyYWNrLXJhZGl1cztcbiAgaGVpZ2h0OiAkdHJhY2staGVpZ2h0O1xuICBtYXJnaW46IG1hdGguZGl2KCR0aHVtYi1oZWlnaHQsIDIuNSkgMDtcbiAgd2lkdGg6ICR0cmFjay13aWR0aDtcblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkdHJhY2stY29sb3IsICRjb250cmFzdCk7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIsXG4gICAgJjo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGh1bWItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkdHJhY2stY29sb3IsICRjb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIEBpbmNsdWRlIHRyYWNrO1xuICAgIGJhY2tncm91bmQ6ICR0cmFjay1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkdHJhY2stcmFkaXVzO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIEBpbmNsdWRlIHRodW1iO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiBtYXRoLmRpdigoLSR0cmFjay1ib3JkZXItd2lkdGggKiAyICsgJHRyYWNrLWhlaWdodCksIDIpIC0gbWF0aC5kaXYoJHRodW1iLWhlaWdodCwgMik7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAvLyBAaW5jbHVkZSBzaGFkb3coJHRyYWNrLXNoYWRvdy1zaXplLCAkdHJhY2stc2hhZG93LWJsdXIsICR0cmFjay1zaGFkb3ctY29sb3IpO1xuICAgIEBpbmNsdWRlIHRyYWNrO1xuICAgIGJhY2tncm91bmQ6ICR0cmFjay1jb2xvcjtcbiAgICBoZWlnaHQ6IG1hdGguZGl2KCR0cmFjay1oZWlnaHQsIDIpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgQGluY2x1ZGUgdGh1bWI7XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIEBpbmNsdWRlIHRyYWNrO1xuICAgIC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8vIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiBtYXRoLmRpdigkdGh1bWItaGVpZ2h0LCAyKSAwO1xuICAgIC8vIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGh1bWItY29sb3I7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXByb2dyZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGh1bWItY29sb3I7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgYmFja2dyb3VuZDogJHRyYWNrLWNvbG9yO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICBAaW5jbHVkZSB0aHVtYjtcbiAgICBtYXJnaW4tdG9wOiBtYXRoLmRpdigkdHJhY2staGVpZ2h0LCA0KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iLFxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIsXG4gICAgJjo6LW1zLXRodW1iLFxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuICAgICY6Oi1tcy1maWxsLWxvd2VyLFxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59IiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcblxuLnN0cmVhbWluZy1pbWFnZXN7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGtleWZyYW1lcyBsZXZpdGF0ZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwLjVlbSk7IH1cbiAgfVxuICAmLS1sZWZ0e1xuICAgIGFuaW1hdGlvbjogbGV2aXRhdGUgM3MgYWx0ZXJuYXRlIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTE5NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChkZXNrdG9wKXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmLS1yaWdodHtcbiAgICBhbmltYXRpb246IGxldml0YXRlIDNzIGFsdGVybmF0ZSBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTEyMnB4O1xuICAgIHRvcDogLTM1cHg7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZGVza3RvcCl7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2ZvbnQtc2l6ZSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuQHVzZSAnc2FzczptYXRoJztcblxuJGxhYmVsLXNwYWNpbmc6IG1hdGguZGl2KHNwYWNpbmcuJHNwYWNpbmctdW5pdCwgMi41KTtcblxuLmJhci1vdmVybGF5IHtcbiAgbWluLWhlaWdodDogMTAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6bm90KC5vdmVybGF5LTgwLCAub3ZlcmxheS15ZWxsb3cpIHtcbiAgICBmbGV4OiAxO1xuICB9XG4gICZfX2xhYmVsIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDEyLDEyKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDAgJGxhYmVsLXNwYWNpbmcgbWF0aC5kaXYoJGxhYmVsLXNwYWNpbmcsIDIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGNhbGxvdXQtZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICZfX251bWJlcixcbiAgICAmX19sZWdlbmQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChsYXJnZS1kZXNrdG9wKSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2xlZ2VuZCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxMCwxMik7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxuICAmLm92ZXJsYXktODAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kZ3JlZW4wO1xuICAgIC5iYXItb3ZlcmxheV9fbGFiZWwge1xuICAgICAgY29sb3I6IGNvbG9ycy4kZ3JlZW4wO1xuICAgICAgc3BhbntcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kZ3JlZW4xMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5vdmVybGF5LXllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRnb2xkO1xuICB9XG4gIC8vIHJpZ2h0IHNpZGUgY2hhcnRcbiAgLnNhdmluZ3NfX2NoYXJ0LWJhci0tcmlnaHQgJiB7XG4gICAgJl9fbGFiZWwge1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgLy8gdG9wIGJhciBvZiByaWdodCBzaWRlIGNoYXJ0XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAuYmFyLW92ZXJsYXlfX2xhYmVsIHtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAxcHgpOyAvLyBvZmZzZXQgZm9yIDFweCBib3JkZXJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zYXZpbmdzX19jaGFydC0tcHNhLWVycHtcbiAgLmJhci1vdmVybGF5LFxuICAuYmFyLW92ZXJsYXkub3ZlcmxheS04MHtcbiAgICAuYmFyLW92ZXJsYXlfX2xhYmVse1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3JzLiRibHVlMzAsIDAuOSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKGNvbG9ycy4kYmx1ZTMwLCAwLjkpO1xuICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgcGFkZGluZzogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgICAgcmlnaHQ6IDU1JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAmX19udW1iZXIsXG4gICAgICAmX19sZWdlbmR7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX251bWJlcntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgICAgfVxuICAgICAgJl9fbGVnZW5ke1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgfVxuICAgICAgLmNvbG9yLWtleXtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3JzLiRncmF5NDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kYmx1ZTEwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgICAgICBtaW4taGVpZ2h0OiA5cHg7XG4gICAgICAgIG1pbi13aWR0aDogOXB4O1xuICAgICAgfVxuICAgICAgJjphZnRlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcnMuJGJsdWUzMCwgMC45KTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDQ4JSwgNDYlIDAsIDQ3JSAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICByaWdodDogLTdweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgIC5iYXItb3ZlcmxheV9fbGFiZWx7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoY2FsbG91dC1kZXNrdG9wKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gIFxuICAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodHtcbiAgICBtaW4taGVpZ2h0OiA0MCUhaW1wb3J0YW50O1xuICAgIC5iYXItb3ZlcmxheXtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwJTtcbiAgICAgIC5iYXItb3ZlcmxheV9fbGFiZWx7XG4gICAgICAgIGxlZnQ6IDU1JTtcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICBsZWZ0OiAtN3B4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuY29sb3Ita2V5e1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kYmx1ZTMwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5iYXItb3ZlcmxheS5vdmVybGF5LTgwID4gLmJhci1vdmVybGF5X19sYWJlbHtcbiAgICAuY29sb3Ita2V5e1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRncmVlbjA7XG4gICAgfVxuICB9XG4gIC5iYXItb3ZlcmxheS5vdmVybGF5LXllbGxvdyA+IC5iYXItb3ZlcmxheV9fbGFiZWx7XG4gICAgLmNvbG9yLWtleXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kZ29sZDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXMvei1pbmRleFwiO1xuXG4vLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4vLyAgICAjVVRJTElUWSAtIFotSU5ERVggTUFOQUdFTUVOVFxuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTm90ZTogTWFuYWdlIGEgbGlzdCBvZiB2YXJpYWJsZXMgdGhhdCByZWxhdGUgdG8gdGhlIHotaW5kZXggc3RhY2tpbmcgb3JkZXIgb2YgZWxlbWVudHMgb24gdGhlIHBhZ2UsIG9yZGVyZWQgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdC4gVGhpcyBhbGxvd3MgdXMgdG8gZWFzaWx5IGNoYW5nZSB0aGlzIG9yZGVyIGJ5IG1vdmluZyB0aGUgYXNzb2NpYXRlZCB2YXJpYWJsZSBpbiB0aGUgbGlzdCBpbnN0ZWFkIG9mIENTUyBpbiBtdWx0aXBsZSBsb2NhdGlvbnMuIEZpcnN0IGdyb3VwIGlzIGdsb2JhbCwgYWRkaXRpb25hbCBjb21wb25lbnQgbGV2ZWwgZ3JvdXBzIGNhbiBiZSBhZGRlZCB0byBvcmRlciBzdGFja2luZyB3aXRoaW4gdGhlIGNvbXBvbmVudCByZWxhdGl2ZSB0byB0aGF0IGNvbXBvbmVudC5cbiAqIEJhc2VkIG9uIHotaW5kZXggbWFuYWdlbWVudCB0ZWNobmlxdWUgb24gW1NtYXNoaW5nIE1hZ2F6aW5lXShodHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTQvMDYvMTIvc2Fzc3ktei1pbmRleC1tYW5hZ2VtZW50LWZvci1jb21wbGV4LWxheW91dHMvKS5cbiAqL1xuXG5AZnVuY3Rpb24gc2luZ2xlKCR4KSB7XG5cdEByZXR1cm4gbGVuZ3RoKCR4KSA9PSAxO1xufVxuQGZ1bmN0aW9uIGZpcnN0KCR4KSB7XG5cdEByZXR1cm4gbnRoKCR4LCAxKTtcbn1cbkBmdW5jdGlvbiBsYXN0KCR4KSB7XG5cdEByZXR1cm4gbnRoKCR4LCBsZW5ndGgoJHgpKTtcbn1cbkBtaXhpbiB6LWluZGV4KCRjb21wb25lbnQuLi4pIHtcblx0JGxheWVyOiBpZihzaW5nbGUoJGNvbXBvbmVudCksIGJhc2UsIGZpcnN0KCRjb21wb25lbnQpKTtcblx0ei1pbmRleDogaW5kZXgobWFwLWdldCh6LWluZGV4LiR6LWluZGV4LCAkbGF5ZXIpLCBsYXN0KCRjb21wb25lbnQpKTtcbn1cblxuLyoqIEV4LiBVc2FnZVxuLmV4YW1wbGUge1xuXHRAaW5jbHVkZSB6LWluZGV4KGJhc2Usb25lKTtcbn1cbi5uZXN0ZWQtZXhhbXBsZXtcblx0QGluY2x1ZGUgei1pbmRleChzYW1wbGUsIHNhbXBsZU9uZSk7XG4qKi9cbiIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL3otaW5kZXgnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9zcGFjaW5nJztcblxuJGNhbGxvdXRUb3BNYXJnaW46IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0teHhsO1xuXG4uY2FsbG91dHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRiYWNrZ3JvdW5kLWxpZ2h0O1xuICBtYXJnaW4tdG9wOiAkY2FsbG91dFRvcE1hcmdpbjtcbiAgcGFkZGluZzogc3BhY2luZy4kc3BhY2luZy11bml0LS1sO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAodGFibGV0KXtcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXhsO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQuYmV0d2Vlbih0YWJsZXQsIGNhbGxvdXQtZGVza3RvcCl7IC8vZnJvbSB0YWJsZXQgdG8gdGhlIGRlc3RvcCBzaXplIGltYWdlIHN0YXJ0cyBvdmVybGFwaW5nIHRleHRcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gICAgJl9faW1hZ2V7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7c3BhY2luZy4kc3BhY2luZy11bml0LS1sfSk7XG4gICAgfVxuICB9XG4gICZfX2ltYWdle1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7JGNhbGxvdXRUb3BNYXJnaW59KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgJl9fdGV4dCxcbiAgLmJ1dHRvbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gei1pbmRleDogaW5kZXgoJGdsb2JhbEluZGV4LCBvbmUpO1xuICAgIEBpbmNsdWRlIHotaW5kZXguei1pbmRleChiYXNlLG9uZSlcbiAgfVxuICAmX190ZXh0e1xuICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAuYnV0dG9ue1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufSIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuLmNhbGN1bGF0b3ItdG9nZ2xle1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDZweDtcbiAgYnV0dG9ue1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk2LCAxOTYsIDE5NiwgMC42KTtcbiAgICBjb2xvcjogcmdiYShjb2xvcnMuJGJsYWNrLCAuMik7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIHBhZGRpbmc6IHNwYWNpbmcuJHNwYWNpbmctdW5pdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJi5hY3RpdmV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgY29sb3I6IGNvbG9ycy4kYmxhY2s7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgY29sb3JzLiRyZWQxMDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxke1xuICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIGNvbG9ycy4keWVsbG93O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG4uaW5wdXRfX2N1cnJlbmN5e1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogc3BhY2luZy4kc3BhY2luZy11bml0IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gICY6YmVmb3Jle1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL3RyaWFuZ2xlLWFycm93LWRvd24uc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDlweDtcbiAgfVxuICBzZWxlY3R7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3JzLiRncmV5MDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKHRhYmxldCl7XG4gICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9mb250LXNpemUnO1xuQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvZm9udC1mYW1pbHknO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9zcGFjaW5nJztcblxuLmlucHV0X19pbmNyZW1lbnRhbCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQuYmV0d2Vlbihtb2JpbGUsIGRlc2t0b3Ape1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbCBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gICAgfVxuICB9XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDIwLCAyNCk7XG4gICAgICBwYWRkaW5nOiBzcGFjaW5nLiRpbnB1dC1wYWRkaW5nO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDkwcHg7XG4gIH1cbiAgaDMge1xuICAgIGNvbG9yOiBjb2xvcnMuJHRleHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy4kc3BhY2luZy11bml0O1xuICB9XG4gICYtY29sdW1uIHtcbiAgICBmbGV4OiAxO1xuICB9XG4gICZfX2lucHV0LWNoYW5nZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gIH1cbiAgJl9faW5wdXQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAuNHJlbTtcbiAgICBib3gtc2hhZG93OiAxLjZweCAxLjZweCA2LjRweCByZ2JhKGNvbG9ycy4kYmxhY2ssIDAuMDcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2U7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9ycy4kcHJpbWFyeSwgLjIpO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kYmx1ZTMwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBAYXQtcm9vdCAuaW5wdXRfX2luY3JlbWVudGFsX19pbnB1dC1jaGFuZ2UtLWluY3JlbWVudCN7Jn0ge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRibHVlMzA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB3aWR0aDogLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2ZvbnQtc2l6ZSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2JyZWFrcG9pbnQnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9mb250LWZhbWlseSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuXG4udXRpbGl6YXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGNhbGxvdXQtZGVza3RvcCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHNwYWNpbmcuJHNwYWNpbmctdW5pdCAqIDEuNSk7XG4gIH1cbiAgJl9faGVhZGVyIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6IGNvbG9ycy4kZ3JleTMwO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMTAsIDE0KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtZGVza3RvcCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEzcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGxhcmdlLW1vYmlsZSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC5iZXR3ZWVuKGxhcmdlLW1vYmlsZSx0YWJsZXQpe1xuICAgICAgZ2FwOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXh4bDtcbiAgICB9XG4gICAgaDQge1xuICAgICAgY29sb3I6IGNvbG9ycy4kZ3JleTMwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy4kc3BhY2luZy11bml0LS1tO1xuICAgIH1cbiAgfVxuICAmLWluY3JlYXNlIHtcbiAgICAgIGJvcmRlci10b3A6IC4ycmVtIHNvbGlkIHJnYmEoMjE1LCAyMTUsIDIxNCwgMC42KTtcbiAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGxhcmdlLW1vYmlsZSkge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgbGVmdDogc3BhY2luZy4kc3BhY2luZy11bml0LS1tO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTUsIDIxNSwgMjE0LCAwLjYpO1xuICAgICAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMXJlbTtcbiAgICAgICAgICB3aWR0aDogMC4ycmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQuYmV0d2VlbihsYXJnZS1tb2JpbGUsdGFibGV0KXtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXh4bDtcbiAgICAgIH1cbiAgICAmLXBlcmNlbnRhZ2Uge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiBjb2xvcnMuJGdyZWVuMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgzNiwgNDMpO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDZweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBjdXJyZW50Q29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH0gXG59IiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9mb250LXNpemUnO1xuQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvYm9yZGVyLXJhZGl1cyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuXG4uaW5wdXRfX251bWJlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogc3BhY2luZy4kc3BhY2luZy11bml0O1xuICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtZGVza3RvcCkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaDMge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtaW4td2lkdGg6IDIwcmVtO1xuICAgICAgbWF4LXdpZHRoOiAyMXJlbTtcbiAgICB9XG4gIH1cbiAgaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDIwLCAyNCk7XG4gICAgcGFkZGluZzogc3BhY2luZy4kaW5wdXQtcGFkZGluZztcbiAgfVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG5cbi5pbnB1dF9fcmFkaW8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHNwYWNpbmcuJHNwYWNpbmctdW5pdDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChsYXJnZS1kZXNrdG9wKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgaDMge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gICZfX3JvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogNC45cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk2LCAxOTYsIDE5NiwgMC42KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtZGVza3RvcCkge1xuICAgICAgbWF4LXdpZHRoOiAyMy4zcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICZfX2l0ZW0ge1xuICAgIGZsZXg6IDE7XG4gICAgbGFiZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogNC45cmVtO1xuICAgICAgY29sb3I6IHJnYmEoY29sb3JzLiRibGFjaywgLjIpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy1ibG9jazogc3BhY2luZy4kc3BhY2luZy11bml0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRibHVlMDtcbiAgICAgICAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9mb250LXNpemUnO1xuQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG5cbi5pbnB1dF9fcmFuZ2Uge1xuICAmX190b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHNwYWNpbmcuJHNwYWNpbmctdW5pdDtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChsYXJnZS1kZXNrdG9wKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cbiAgJl9fcHJpY2Uge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICBjb2xvcjogY29sb3JzLiRncmF5NDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNiwgMTkpO1xuICAgIGdhcDogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgIHBhZGRpbmc6IHNwYWNpbmcuJGlucHV0LXBhZGRpbmc7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChsYXJnZS1kZXNrdG9wKSB7XG4gICAgICBtYXgtd2lkdGg6IDQ4JTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAucmFuZ2UtdmFsdWUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiBjb2xvcnMuJHRleHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMjAsIDI0KTtcbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBjb2xvcjogY29sb3JzLiRncmF5NDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcztcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMTYsIDE5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBlci1ob3VyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDEyLCAxNCk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgJl9fYm90dG9tIHtcbiAgICBjb2xvcjogY29sb3JzLiRncmV5MzA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNCwgMjYpO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcbkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvZm9udC1zaXplJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG5cbi5sZWdlbmR7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogc3BhY2luZy4kc3BhY2luZy11bml0LS1sO1xuICAmX19pdGVte1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDExLDExKTtcbiAgICBtYXJnaW46IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcyAwO1xuICAgIHBhZGRpbmc6IDAgc3BhY2luZy4kc3BhY2luZy11bml0IDAgc3BhY2luZy4kc3BhY2luZy11bml0LS1sO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC5kb3duKHRhYmxldCl7XG4gICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQuZG93bihtb2JpbGUpe1xuICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgIH1cbiAgICAmOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kb3ZlcmxheTA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBsZWZ0OiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXM7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICB9XG4gICAgJi5vdmVybGF5e1xuICAgICAgJi1ncmVlbjo6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJGdyZWVuMDtcbiAgICAgIH1cbiAgICAgICYtODA6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJG92ZXJsYXk4MDtcbiAgICAgIH1cbiAgICAgICYtNjA6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJG92ZXJsYXk2MDtcbiAgICAgIH1cbiAgICAgICYtNDA6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJG92ZXJsYXk0MDtcbiAgICAgIH1cbiAgICAgICYtMzA6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJG92ZXJsYXkzMDtcbiAgICAgIH1cbiAgICAgICYtMjA6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJG92ZXJsYXkyMDtcbiAgICAgIH1cbiAgICAgICYtMTA6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJG92ZXJsYXkxMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2JyZWFrcG9pbnQnO1xuQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9mb250LXNpemUnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9mb250LWZhbWlseSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJy4uLzJfcGllY2VzL2J1dHRvbic7XG5cbiRib3JkZXItcmFkaXVzOiA0cHg7XG5cblxuLm1vZGFsX19pbm5lcntcbiAgLm1rdG9Gb3JtIHtcbiAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgKntcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250LWZhbWlseS4kc2FucztcbiAgICB9XG4gICAgLm1rdG9CdXR0b25XcmFwLm1rdG9TaW1wbGUgLm1rdG9CdXR0b257XG4gICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJGJsdWUwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNiwxOSk7XG4gICAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQgKiAxLjI1IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbCBtYXRoLmRpdihzcGFjaW5nLiRzcGFjaW5nLXVuaXQsIDEuNSk7XG4gICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gICAgICB0cmFuc2l0aW9uOiA1MDBtcyBlYXNlO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3JzLiRwcmltYXJ5X2Rhcms7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWt0b0ZpZWxkV3JhcCxcbiAgICAubWt0b0Zvcm1Db2x7XG4gICAgICBmbG9hdDpub25lO1xuICAgIH1cbiAgICAubWt0b0J1dHRvbldyYXAubWt0b1BhcGVyTWFzaHVwIGJ1dHRvbi5ta3RvQnV0dG9ue1xuICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1wcmltYXJ5O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUhaW1wb3J0YW50O1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT10ZXh0XSwgXG4gICAgaW5wdXRbdHlwZT11cmxdLCBcbiAgICBpbnB1dFt0eXBlPWVtYWlsXSwgXG4gICAgaW5wdXRbdHlwZT10ZWxdLCBcbiAgICBpbnB1dFt0eXBlPW51bWJlcl0sIFxuICAgIGlucHV0W3R5cGU9ZGF0ZV0sIFxuICAgIHNlbGVjdC5ta3RvRmllbGQsIFxuICAgIHRleHRhcmVhLm1rdG9GaWVsZHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9ycy4kZ3JleTMwO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMTYsMTkpO1xuICAgICAgcGFkZGluZzogc3BhY2luZy4kc3BhY2luZy11bml0IHNwYWNpbmcuJHNwYWNpbmctdW5pdCBtYXRoLmRpdihzcGFjaW5nLiRzcGFjaW5nLXVuaXQsIDEuNSk7XG4gICAgICB3aWR0aDoxMDAlIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1rdG9FcnJvciB7XG4gICAgICAubWt0b0Vycm9yTXNnIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3JzLiRib3JkZXJfZGFyayAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDgwJSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMC42ZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubWt0b0Vycm9yQXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJGJvcmRlcl9kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWt0b0xhYmVsLFxuICAubWt0b0hhc1dpZHRoLFxuICAubWt0b0J1dHRvblJvd3tcbiAgICBmbG9hdDpub25lIWltcG9ydGFudDtcbiAgICB3aWR0aDoxMDAlIWltcG9ydGFudDtcbiAgfVxuXG4gIC5ta3RvTGFiZWx7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMTYsMTkpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1rdG9HdXR0ZXIsXG4gIC5ta3RvT2Zmc2V0LFxuICAubWt0b0Zvcm0gLm1rdG9SZXF1aXJlZEZpZWxkIC5ta3RvQXN0ZXJpeHtcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgfVxuICAubWt0b0J1dHRvbldyYXAubWt0b1BhcGVyTWFzaHVwe1xuICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcbiAgfVxufSIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvZm9udC1zaXplJztcbkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuQHVzZSAnc2FzczptYXRoJztcblxuJGljb24tcGFkZGluZzogbWF0aC5kaXYoc3BhY2luZy4kc3BhY2luZy11bml0LCA4KTtcblxuLnByaWNpbmdUb29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAudG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogY29sb3JzLiR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDM2cHggcmdiYShjb2xvcnMuJGJsYWNrLCAuMzYpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTIuNHJlbTtcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQgc3BhY2luZy4kc3BhY2luZy11bml0LS1tIHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MnB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICB6LWluZGV4OiAxO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItbGVmdDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgY29sb3JzLiR3aGl0ZTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogMThweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG5cbiAgICAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodCAuY2hhcnQtbGFiZWwgJixcbiAgICAuc2F2aW5nc19fY2hhcnQtYmFyLS1yaWdodCAuY2hhcnQtdGV4dF9fbGFiZWwgJntcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogLTIuNHJlbTtcbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMThweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gaW4gdGhlIG1vZGFsIG5lZWQgdG8gcHVsbCB1cCBhIGJpdCBzbyBpdCBkb2Vzbid0IGdldCBjdXQgb2ZmIG9uIGJvdHRvbVxuICAgIC5tb2RhbCAuY2hhcnQtbGFiZWwgJixcbiAgICAubW9kYWwgLmNoYXJ0LXRleHRfX2xhYmVsICZ7XG4gICAgICB0b3A6IDI4cHg7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDEyLCAxNCk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC50b29sdGlwSWNvbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBtYXRoLmRpdihzcGFjaW5nLiRzcGFjaW5nLXVuaXQsIDUpICogLTE7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgJjpob3ZlciArIC50b29sdGlwLFxuICAgICY6Zm9jdXMgKyAudG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgLmNoYXJ0LWxhYmVsICYsXG4gIC5jaGFydC10ZXh0X19sYWJlbCAme1xuICAgIHBhZGRpbmctbGVmdDogJGljb24tcGFkZGluZztcbiAgICB0b3A6IDFweDtcbiAgfVxufSIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2ZvbnQtc2l6ZSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuXG4uc2F2aW5nc19fY2hhcnQge1xuICBib3JkZXItdG9wOiAuMnJlbSBzb2xpZCByZ2JhKDIxNSwgMjE1LCAyMTQsIDAuNik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleDogMTtcbiAgcGFkZGluZy1ibG9jazogc3BhY2luZy4kc3BhY2luZy11bml0LS14eGwgc3BhY2luZy4kc3BhY2luZy11bml0ICogODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGNhbGxvdXQtZGVza3RvcCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0teGwgc3BhY2luZy4kc3BhY2luZy11bml0ICogNTtcbiAgfVxuICAmLWJhcnMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgZ2FwOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLW07XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMjIwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC5kb3duKHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiAyMHJlbTtcbiAgICB9XG4gIH1cbiAgJi1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogMjAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAzMDBtcyBsaW5lYXI7XG4gICAgd2lkdGg6IDEyNXB4O1xuICAgICYtLWxlZnQge1xuICAgICAgLnNhdmluZ3NfX2JyZWFrZG93biB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kYmx1ZTEwO1xuICAgICAgICBjb2xvcjogY29sb3JzLiRibHVlMTA7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgIC5zYXZpbmdzX19icmVha2Rvd24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJHZpb2xldDtcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kdmlvbGV0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxMiwxMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQgMCBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgICB9XG4gIH1cbiAgLmNoYXJ0LXRleHQge1xuICAgIGJvdHRvbTogY2FsYygxMDAlICsgc3BhY2luZy4kc3BhY2luZy11bml0LS1zKTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNiwxOSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChjYWxsb3V0LWRlc2t0b3ApIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogY29sb3JzLiR0ZXh0O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgICZfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNCwxNyk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGNhbGxvdXQtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY2hhcnQtbGFiZWwge1xuICAgIGNvbG9yOiBjb2xvcnMuJHRleHQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNCwxNyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAje3NwYWNpbmcuJHNwYWNpbmctdW5pdH0pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoY2FsbG91dC1kZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIC5zYXZpbmdzX19icmVha2Rvd24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICZfX21vYmlsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcyk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGNhbGxvdXQtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJi1yZXZlbnVlIHtcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kZ3JlZW4xMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy4kc3BhY2luZy11bml0LS1zO1xuICAgICAgfVxuICAgICAgJi1jdXJyZW50IHtcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kYmx1ZTEwO1xuICAgICAgfVxuICAgICAgJi1pbXBhY3Qge1xuICAgICAgICBjb2xvcjogY29sb3JzLiRibHVlMzA7XG4gICAgICB9XG4gICAgICAmX19sYWJlbCB7XG4gICAgICAgICZfX251bWJlciB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMTQsMTcpO1xuICAgICAgICB9XG4gICAgICAgICZfX2xlZ2VuZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoMTIsMTIpO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXBzYS1lcnB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTRyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoY2FsbG91dC1kZXNrdG9wKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQgKiA4O1xuICAgIH1cbiAgICAuc2F2aW5nc19fY2hhcnQtYmFye1xuICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuc2F2aW5nc19fY2hhcnQtaW5zdHJ1Y3Rpb25ze1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTYsIDE5NiwgMTk2LCAwLjIpO1xuICAgICAgY29sb3I6IGNvbG9ycy4kZ3JleTMwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmc6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcyAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGNhbGxvdXQtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxle1xuICAgICAgJi1yZXZlbnVlLFxuICAgICAgJi1mdGVJbkJmYSxcbiAgICAgICYtaW1wYWN0e1xuICAgICAgICBtYXJnaW46IHNwYWNpbmcuJHNwYWNpbmctdW5pdCAwO1xuICAgICAgfVxuICAgICAgJl9fbGFiZWx7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAmX19udW1iZXIsXG4gICAgICAgICZfX2xlZ2VuZHtcbiAgICAgICAgICBjb2xvcjogY29sb3JzLiR0ZXh0O1xuICAgICAgICB9XG4gICAgICAgIC5jb2xvci1rZXl7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3JzLiRncmF5NDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRibHVlMTA7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcztcbiAgICAgICAgICBtaW4taGVpZ2h0OiA5cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiA5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vdmVybGF5LTgwe1xuICAgICAgICAuY29sb3Ita2V5e1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kZ3JlZW4wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3ZlcmxheS15ZWxsb3d7XG4gICAgICAgIC5jb2xvci1rZXl7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRnb2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2JyZWFrcG9pbnQnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9zcGFjaW5nJztcblxuLnNhdmluZ3NfX3Jhbmdle1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoY29sb3JzLiRwcmltYXJ5LCAuNSk7XG4gIG1hcmdpbjogIDAgc3BhY2luZy4kc3BhY2luZy11bml0LS14bCBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXhsO1xuICBwYWRkaW5nOiA1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KXtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gIH1cbn1cbiIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2ZvbnQtc2l6ZSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL2NvbG9ycyc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuXG4uc2F2aW5nc19fdG90YWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDQwLCA0OCk7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogY29sb3JzLiRub1NhdmluZ3M7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgyMCwgMjQpO1xuICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy4kc3BhY2luZy11bml0O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9mb250LXNpemUnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuXG4uc3ZnLXdyYXBwZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGl2e1xuICAgIHRvcDo1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgJiA+IHNwYW57XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplLnNpemUoNTQsNTQpO1xuICAgIH1cbiAgICBwe1xuICAgICAgY29sb3I6IGNvbG9ycy4kdGV4dDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgxNCwyMCk7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgfVxuICB9XG4gIHN2Z3tcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgJi0taGFsZi1jaXJjbGV7XG4gICAgZGl2e1xuICAgICAgYm90dG9tOjAlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTIlKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG4uaW5kZXh7XG4gIHBhZGRpbmc6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbCAwO1xuICBoMXtcbiAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gIH1cbiAgdWx7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkgYXtcbiAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2JyZWFrcG9pbnQnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9zcGFjaW5nJztcblxuLmlucHV0c3tcbiAgcGFkZGluZzogMCBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWwgc3BhY2luZy4kc3BhY2luZy11bml0LS14bDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC51cCh0YWJsZXQpe1xuICAgIHBhZGRpbmc6IDAgNjBweCAzNnB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQgMCBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLWw7XG4gICAgJiAgPiBkaXZ7XG4gICAgICB3aWR0aDogNDUlO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGRlc2t0b3Ape1xuICAgICYgID4gZGl2e1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2ZvbnQtc2l6ZSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL3otaW5kZXgnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9mb250LWZhbWlseSc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuXG4ubW9kYWx7XG4gIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwgLjQpO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOjA7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSB6LWluZGV4LnotaW5kZXgoYmFzZSwgbW9kYWwpO1xuICAmX19ib2R5e1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogc3BhY2luZy4kc3BhY2luZy11bml0LS14bCBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXh4bDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGRlc2t0b3Ape1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMTgwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cbiAgLnJvdyB7XG4gICAgZ2FwOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXh4bDtcbiAgfVxuICAuY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBoMntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy4kc3BhY2luZy11bml0O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgyOCwzNCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KXtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUuc2l6ZSgzNCw0MSk7XG4gICAgICAgIH0gICAgXG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KXtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMS41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19pbm5lcntcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAmX19saXN0LWJveHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGRlc2t0b3Ape1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuICAgIHVse1xuICAgICAgcGFkZGluZzogMCAzNnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGRlc2t0b3Ape1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgfVxuICAgIH1cbiAgICBsaXtcbiAgICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIH1cbiAgfVxuICAmX19jbG9zZXtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogc3BhY2luZy4kc3BhY2luZy11bml0LS1tO1xuICAgIHRvcDogc3BhY2luZy4kc3BhY2luZy11bml0LS1tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHotaW5kZXg6IDE7XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kZ3JleTMwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogMC4ycmVtO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuICAuc2F2aW5nc19fY2hhcnR7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIFxuICAmX190aGFuay15b3V7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgfVxuICAmI3RhY3tcbiAgICAubW9kYWxfX2JvZHl7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIH1cbiAgICAucm93e1xuICAgICAgPiBkaXZ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KXtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGxhcmdlLXRhYmxldCl7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy4kc3BhY2luZy11bml0LS14bDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvYnJlYWtwb2ludCc7XG5AdXNlICcuLi8wX3V0aWxpdHkvdmFyaWFibGVzL3NwYWNpbmcnO1xuXG4ucmVzdWx0c3tcbiAgLnN0ZXBfX2hlYWRpbmd7XG4gICAgcGFkZGluZzogMCBzcGFjaW5nLiRzcGFjaW5nLXVuaXQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAoZGVza3RvcCl7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICBwYWRkaW5nOiAwIHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgICB9XG4gIH1cbiAgJl9fcmVzdGFydCxcbiAgJl9fcHJpbnR7XG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLXM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICB9XG4gIH1cbiAgJl9fcHJpbnR7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGRlc2t0b3Ape1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICcuLi8wX3V0aWxpdHkvbWl4aW5zL2JyZWFrcG9pbnQnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9zcGFjaW5nJztcblxuLmNhbGN1bGF0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICBib3JkZXI6IHtcbiAgICB0b3A6IC42cmVtIHNvbGlkO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBjb2xvcnMuJGJsdWUwIDU5JSxjb2xvcnMuJHJlZDAgNTklKSA1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbTtcbiAgcGFkZGluZzogc3BhY2luZy4kc3BhY2luZy11bml0LS1tO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KSB7XG4gICAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGNvbG9ycy4kcmVkMTAgMzIlLCBjb2xvcnMuJGJsdWUwIDMyJSwgY29sb3JzLiRibHVlMCA1OSUsY29sb3JzLiRyZWQwIDU5JSwgY29sb3JzLiRyZWQwIDY2JSwgY29sb3JzLiR5ZWxsb3cgNjYlKSA1O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogc3BhY2luZy4kc3BhY2luZy11bml0LS1tIHNwYWNpbmcuJHNwYWNpbmctdW5pdC0teGwgc3BhY2luZy4kc3BhY2luZy11bml0LS14bDtcbiAgfVxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gICYtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZ2FwOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLW07XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBnYXA6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcztcbiAgICB9XG4gIH1cbiAgJi1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogc3BhY2luZy4kc3BhY2luZy11bml0LS1tO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICYtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJGdyZXkwO1xuICAgIGdhcDogMnJlbTtcbiAgICBwYWRkaW5nOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChsYXJnZS10YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbDtcbiAgICB9XG4gICAgJi51dGlsaXphdGlvbntcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQudXAobGFyZ2UtdGFibGV0KXtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGxhcmdlLXRhYmxldCl7XG4gICAgLmlucHV0X19jb250YWluZXJ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5pbnB1dHMtZ3Jvd3Roe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICYtLXBzYS1lcnB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LnVwKGNhbGxvdXQtZGVza3RvcCl7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICAuY2FsY3VsYXRvci1jb2x1bW57XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC51cChjYWxsb3V0LWRlc2t0b3Ape1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gQ3VycmVuY3kgQ2xhc3NlcyBmb3IgdG9nZ2xpbmcgZG9sbGFyIHNpZ25zXG4uY3VycmVuY3ktdXNke1xuICAuaW5wdXRfX3JhbmdlX19ib3R0b20gPiBzcGFuLFxuICAuaW5wdXRfX3JhbmdlX19wcmljZSA+IC5yYW5nZS12YWx1ZSxcbiAgLnNhdmluZ3NfX3RvdGFsID4gaDIgPiBzcGFuLFxuICAuY2hhcnQtdGV4dCA+IHNwYW4sXG4gIC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZV9fbGFiZWxfX251bWJlcixcbiAgLmJhci1vdmVybGF5X19sYWJlbF9fbnVtYmVyIHtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6ICckJztcbiAgICB9XG4gIH1cbn1cbi5jdXJyZW5jeS1hdWR7XG4gIC5pbnB1dF9fcmFuZ2VfX2JvdHRvbSA+IHNwYW4sXG4gIC5pbnB1dF9fcmFuZ2VfX3ByaWNlID4gLnJhbmdlLXZhbHVlLFxuICAuc2F2aW5nc19fdG90YWwgPiBoMiA+IHNwYW4sXG4gIC5jaGFydC10ZXh0ID4gc3BhbixcbiAgLnNhdmluZ3NfX2JyZWFrZG93bl9fbW9iaWxlX19sYWJlbF9fbnVtYmVyLFxuICAuYmFyLW92ZXJsYXlfX2xhYmVsX19udW1iZXIge1xuICAgICY6YmVmb3Jle1xuICAgICAgY29udGVudDogJ0EkJztcbiAgICB9XG4gIH1cbn1cbi5jdXJyZW5jeS1ldXJve1xuICAuaW5wdXRfX3JhbmdlX19ib3R0b20gPiBzcGFuLFxuICAuaW5wdXRfX3JhbmdlX19wcmljZSA+IC5yYW5nZS12YWx1ZSxcbiAgLnNhdmluZ3NfX3RvdGFsID4gaDIgPiBzcGFuLFxuICAuY2hhcnQtdGV4dCA+IHNwYW4sXG4gIC5zYXZpbmdzX19icmVha2Rvd25fX21vYmlsZV9fbGFiZWxfX251bWJlcixcbiAgLmJhci1vdmVybGF5X19sYWJlbF9fbnVtYmVyIHtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6ICfigqwnO1xuICAgIH1cbiAgfVxufVxuLmN1cnJlbmN5LWdicHtcbiAgLmlucHV0X19yYW5nZV9fYm90dG9tID4gc3BhbixcbiAgLmlucHV0X19yYW5nZV9fcHJpY2UgPiAucmFuZ2UtdmFsdWUsXG4gIC5zYXZpbmdzX190b3RhbCA+IGgyID4gc3BhbixcbiAgLmNoYXJ0LXRleHQgPiBzcGFuLFxuICAuc2F2aW5nc19fYnJlYWtkb3duX19tb2JpbGVfX2xhYmVsX19udW1iZXIsXG4gIC5iYXItb3ZlcmxheV9fbGFiZWxfX251bWJlciB7XG4gICAgJjpiZWZvcmV7XG4gICAgICBjb250ZW50OiAnwqMnO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9icmVha3BvaW50JztcbkB1c2UgJy4uLzBfdXRpbGl0eS9taXhpbnMvZm9udC1zaXplJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvY29sb3JzJztcbkB1c2UgJy4uLzBfdXRpbGl0eS92YXJpYWJsZXMvc3BhY2luZyc7XG5cbi50aXRsZSB7XG5cdGNvbG9yOiB3aGl0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nLWJsb2NrOiBzcGFjaW5nLiRzcGFjaW5nLXVuaXQtLW07XG5cdGgxIHtcblx0XHRtYXJnaW4tYmxvY2s6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tcztcblx0fVxuXHRwe1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDE2LDI0KTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRtYXgtd2lkdGg6IDU1MHB4O1xuXHR9XG5cdHN2Z3tcblx0XHR3aWR0aDogMTYzcHg7XG5cdH1cbn1cbi53cmFwcGVyLS1wc2EtZXJwe1xuXHQudGl0bGV7XG5cdFx0cGFkZGluZy1ibG9jay1lbmQ6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0teHhsO1xuXHRcdHB7XG5cdFx0XHRtYXgtd2lkdGg6IDg4MHB4O1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplLnNpemUoMTQsMjQpO1xuXHRcdH1cblx0fVxufVxuIiwiQHVzZSAnLi4vMF91dGlsaXR5L21peGlucy9mb250LXNpemUnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9jb2xvcnMnO1xuQHVzZSAnLi4vMF91dGlsaXR5L3ZhcmlhYmxlcy9zcGFjaW5nJztcblxuLmZvb3RlciB7XG4gIHBhZGRpbmctYmxvY2s6IHNwYWNpbmcuJHNwYWNpbmctdW5pdC0tbTtcbiAgcCB7XG4gICAgY29sb3I6IGNvbG9ycy4kZ3JleTEwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS5zaXplKDEwLCAxMik7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi53cmFwcGVyLS1wc2EtZXJwe1xuICAuZm9vdGVye1xuICAgIHB7XG4gICAgICBtYXgtd2lkdGg6IDEwMTBweDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtZWRpYSBwcmludHtcbiAgQHBhZ2V7XG4gICAgc2l6ZTogbGFuZHNjYXBlO1xuICB9XG4gICoge1xuICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgIH1cbiAgYm9keXtcbiAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3QgIWltcG9ydGFudDtcbiAgfVxuICAuc3RlcC0xe1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnN0ZXAgPiBkaXZ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5zdGVwX19sZWZ0e1xuICAgIHdpZHRoOiBjYWxjKDk5JSAtIDQyMnB4KSFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN0ZXBfX3JpZ2h0e1xuICAgIHdpZHRoOiA0MjJweCFpbXBvcnRhbnQ7XG4gIH1cbiAgLmJ1dHRvbixcbiAgLnJlc3VsdHNfX3Jlc3RhcnR7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2F2aW5nc3tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAmID4gZGl2OmZpcnN0LWNoaWxke1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQyMnB4KTtcbiAgICB9XG4gICAgJiA+IGRpdjpsYXN0LWNoaWxke1xuICAgICAgd2lkdGg6IDQyMnB4O1xuICAgIH1cbiAgICAuYnV0dG9ue1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAmX190b3RhbHtcbiAgICAgIHBhZGRpbmc6IDAgMCA2MHB4O1xuICAgIH1cbiAgICAmX19yYW5nZXtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLmlucHV0c3tcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgJl9faW5wdXR7XG4gICAgICB3aWR0aDogMjIlO1xuICAgICAgJi1jaGFuZ2V7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPXRleHRde1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ2F0ZXtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/