@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

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

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 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 {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 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
   ========================================================================== */
/**
 * 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 Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

/**
 * Show the overflow in IE.
 * 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; }

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

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  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 */ }

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

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

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

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

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

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

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

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

/*------------------------------------------------------------------
[opacity]
*/
/*------------------------------------------------------------------
[border-radius]
*/
/*------------------------------------------------------------------
[transition]
*/
/*------------------------------------------------------------------
[transform]
*/
/*------------------------------------------------------------------
[rotate]
*/
/*------------------------------------------------------------------
[scale]
*/
/*------------------------------------------------------------------
[translate]
*/
/*------------------------------------------------------------------
[skew]
*/
/*------------------------------------------------------------------
[transform origin]
*/
/*------------------------------------------------------------------
[box-sizing]
*/
/*------------------------------------------------------------------
[box-shadow]
*/
@font-face {
  font-family: "Relative-Regular";
  src: url("../fonts/Relative-10Pitch.ttf") format("truetype"); }

@font-face {
  font-family: "Apercu-Regular";
  src: url("../fonts/apercu_regular_pro.otf") format("truetype"); }

@font-face {
  font-family: "Noe-Black";
  src: url("../fonts/NoeDisplay-Black.otf") format("truetype"); }

@font-face {
  font-family: "Myriad-Regular";
  src: url("../fonts/MyriadPro-Regular.otf") format("truetype"); }

a {
  color: #2E33BA;
  text-decoration: none; }
  a.active {
    position: relative; }
    a.active:after {
      position: absolute;
      content: '';
      width: 100%;
      height: 1px;
      left: 0;
      bottom: 5px;
      background-color: #FFF; }

h2 {
  font-family: "Noe-Black", sans-serif;
  font-size: 2.5rem;
  letter-spacing: -0.5px; }
  @media (min-width: 1280px) {
    h2 {
      font-size: 5rem;
      letter-spacing: normal; } }

body[data-aos-duration='50'] [data-aos], [data-aos][data-aos][data-aos-duration='50'] {
  transition-duration: 50ms; }

body[data-aos-delay='50'] [data-aos], [data-aos][data-aos][data-aos-delay='50'] {
  transition-delay: 0; }
  body[data-aos-delay='50'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='50'].aos-animate {
    transition-delay: 50ms; }

body[data-aos-duration='100'] [data-aos], [data-aos][data-aos][data-aos-duration='100'] {
  transition-duration: 100ms; }

body[data-aos-delay='100'] [data-aos], [data-aos][data-aos][data-aos-delay='100'] {
  transition-delay: 0; }
  body[data-aos-delay='100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='100'].aos-animate {
    transition-delay: 100ms; }

body[data-aos-duration='150'] [data-aos], [data-aos][data-aos][data-aos-duration='150'] {
  transition-duration: 150ms; }

body[data-aos-delay='150'] [data-aos], [data-aos][data-aos][data-aos-delay='150'] {
  transition-delay: 0; }
  body[data-aos-delay='150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='150'].aos-animate {
    transition-delay: 150ms; }

body[data-aos-duration='200'] [data-aos], [data-aos][data-aos][data-aos-duration='200'] {
  transition-duration: 200ms; }

body[data-aos-delay='200'] [data-aos], [data-aos][data-aos][data-aos-delay='200'] {
  transition-delay: 0; }
  body[data-aos-delay='200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='200'].aos-animate {
    transition-delay: 200ms; }

body[data-aos-duration='250'] [data-aos], [data-aos][data-aos][data-aos-duration='250'] {
  transition-duration: 250ms; }

body[data-aos-delay='250'] [data-aos], [data-aos][data-aos][data-aos-delay='250'] {
  transition-delay: 0; }
  body[data-aos-delay='250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='250'].aos-animate {
    transition-delay: 250ms; }

body[data-aos-duration='300'] [data-aos], [data-aos][data-aos][data-aos-duration='300'] {
  transition-duration: 300ms; }

body[data-aos-delay='300'] [data-aos], [data-aos][data-aos][data-aos-delay='300'] {
  transition-delay: 0; }
  body[data-aos-delay='300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='300'].aos-animate {
    transition-delay: 300ms; }

body[data-aos-duration='350'] [data-aos], [data-aos][data-aos][data-aos-duration='350'] {
  transition-duration: 350ms; }

body[data-aos-delay='350'] [data-aos], [data-aos][data-aos][data-aos-delay='350'] {
  transition-delay: 0; }
  body[data-aos-delay='350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='350'].aos-animate {
    transition-delay: 350ms; }

body[data-aos-duration='400'] [data-aos], [data-aos][data-aos][data-aos-duration='400'] {
  transition-duration: 400ms; }

body[data-aos-delay='400'] [data-aos], [data-aos][data-aos][data-aos-delay='400'] {
  transition-delay: 0; }
  body[data-aos-delay='400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='400'].aos-animate {
    transition-delay: 400ms; }

body[data-aos-duration='450'] [data-aos], [data-aos][data-aos][data-aos-duration='450'] {
  transition-duration: 450ms; }

body[data-aos-delay='450'] [data-aos], [data-aos][data-aos][data-aos-delay='450'] {
  transition-delay: 0; }
  body[data-aos-delay='450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='450'].aos-animate {
    transition-delay: 450ms; }

body[data-aos-duration='500'] [data-aos], [data-aos][data-aos][data-aos-duration='500'] {
  transition-duration: 500ms; }

body[data-aos-delay='500'] [data-aos], [data-aos][data-aos][data-aos-delay='500'] {
  transition-delay: 0; }
  body[data-aos-delay='500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='500'].aos-animate {
    transition-delay: 500ms; }

body[data-aos-duration='550'] [data-aos], [data-aos][data-aos][data-aos-duration='550'] {
  transition-duration: 550ms; }

body[data-aos-delay='550'] [data-aos], [data-aos][data-aos][data-aos-delay='550'] {
  transition-delay: 0; }
  body[data-aos-delay='550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='550'].aos-animate {
    transition-delay: 550ms; }

body[data-aos-duration='600'] [data-aos], [data-aos][data-aos][data-aos-duration='600'] {
  transition-duration: 600ms; }

body[data-aos-delay='600'] [data-aos], [data-aos][data-aos][data-aos-delay='600'] {
  transition-delay: 0; }
  body[data-aos-delay='600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='600'].aos-animate {
    transition-delay: 600ms; }

body[data-aos-duration='650'] [data-aos], [data-aos][data-aos][data-aos-duration='650'] {
  transition-duration: 650ms; }

body[data-aos-delay='650'] [data-aos], [data-aos][data-aos][data-aos-delay='650'] {
  transition-delay: 0; }
  body[data-aos-delay='650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='650'].aos-animate {
    transition-delay: 650ms; }

body[data-aos-duration='700'] [data-aos], [data-aos][data-aos][data-aos-duration='700'] {
  transition-duration: 700ms; }

body[data-aos-delay='700'] [data-aos], [data-aos][data-aos][data-aos-delay='700'] {
  transition-delay: 0; }
  body[data-aos-delay='700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='700'].aos-animate {
    transition-delay: 700ms; }

body[data-aos-duration='750'] [data-aos], [data-aos][data-aos][data-aos-duration='750'] {
  transition-duration: 750ms; }

body[data-aos-delay='750'] [data-aos], [data-aos][data-aos][data-aos-delay='750'] {
  transition-delay: 0; }
  body[data-aos-delay='750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='750'].aos-animate {
    transition-delay: 750ms; }

body[data-aos-duration='800'] [data-aos], [data-aos][data-aos][data-aos-duration='800'] {
  transition-duration: 800ms; }

body[data-aos-delay='800'] [data-aos], [data-aos][data-aos][data-aos-delay='800'] {
  transition-delay: 0; }
  body[data-aos-delay='800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='800'].aos-animate {
    transition-delay: 800ms; }

body[data-aos-duration='850'] [data-aos], [data-aos][data-aos][data-aos-duration='850'] {
  transition-duration: 850ms; }

body[data-aos-delay='850'] [data-aos], [data-aos][data-aos][data-aos-delay='850'] {
  transition-delay: 0; }
  body[data-aos-delay='850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='850'].aos-animate {
    transition-delay: 850ms; }

body[data-aos-duration='900'] [data-aos], [data-aos][data-aos][data-aos-duration='900'] {
  transition-duration: 900ms; }

body[data-aos-delay='900'] [data-aos], [data-aos][data-aos][data-aos-delay='900'] {
  transition-delay: 0; }
  body[data-aos-delay='900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='900'].aos-animate {
    transition-delay: 900ms; }

body[data-aos-duration='950'] [data-aos], [data-aos][data-aos][data-aos-duration='950'] {
  transition-duration: 950ms; }

body[data-aos-delay='950'] [data-aos], [data-aos][data-aos][data-aos-delay='950'] {
  transition-delay: 0; }
  body[data-aos-delay='950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='950'].aos-animate {
    transition-delay: 950ms; }

body[data-aos-duration='1000'] [data-aos], [data-aos][data-aos][data-aos-duration='1000'] {
  transition-duration: 1000ms; }

body[data-aos-delay='1000'] [data-aos], [data-aos][data-aos][data-aos-delay='1000'] {
  transition-delay: 0; }
  body[data-aos-delay='1000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1000'].aos-animate {
    transition-delay: 1000ms; }

body[data-aos-duration='1050'] [data-aos], [data-aos][data-aos][data-aos-duration='1050'] {
  transition-duration: 1050ms; }

body[data-aos-delay='1050'] [data-aos], [data-aos][data-aos][data-aos-delay='1050'] {
  transition-delay: 0; }
  body[data-aos-delay='1050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1050'].aos-animate {
    transition-delay: 1050ms; }

body[data-aos-duration='1100'] [data-aos], [data-aos][data-aos][data-aos-duration='1100'] {
  transition-duration: 1100ms; }

body[data-aos-delay='1100'] [data-aos], [data-aos][data-aos][data-aos-delay='1100'] {
  transition-delay: 0; }
  body[data-aos-delay='1100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1100'].aos-animate {
    transition-delay: 1100ms; }

body[data-aos-duration='1150'] [data-aos], [data-aos][data-aos][data-aos-duration='1150'] {
  transition-duration: 1150ms; }

body[data-aos-delay='1150'] [data-aos], [data-aos][data-aos][data-aos-delay='1150'] {
  transition-delay: 0; }
  body[data-aos-delay='1150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1150'].aos-animate {
    transition-delay: 1150ms; }

body[data-aos-duration='1200'] [data-aos], [data-aos][data-aos][data-aos-duration='1200'] {
  transition-duration: 1200ms; }

body[data-aos-delay='1200'] [data-aos], [data-aos][data-aos][data-aos-delay='1200'] {
  transition-delay: 0; }
  body[data-aos-delay='1200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1200'].aos-animate {
    transition-delay: 1200ms; }

body[data-aos-duration='1250'] [data-aos], [data-aos][data-aos][data-aos-duration='1250'] {
  transition-duration: 1250ms; }

body[data-aos-delay='1250'] [data-aos], [data-aos][data-aos][data-aos-delay='1250'] {
  transition-delay: 0; }
  body[data-aos-delay='1250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1250'].aos-animate {
    transition-delay: 1250ms; }

body[data-aos-duration='1300'] [data-aos], [data-aos][data-aos][data-aos-duration='1300'] {
  transition-duration: 1300ms; }

body[data-aos-delay='1300'] [data-aos], [data-aos][data-aos][data-aos-delay='1300'] {
  transition-delay: 0; }
  body[data-aos-delay='1300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1300'].aos-animate {
    transition-delay: 1300ms; }

body[data-aos-duration='1350'] [data-aos], [data-aos][data-aos][data-aos-duration='1350'] {
  transition-duration: 1350ms; }

body[data-aos-delay='1350'] [data-aos], [data-aos][data-aos][data-aos-delay='1350'] {
  transition-delay: 0; }
  body[data-aos-delay='1350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1350'].aos-animate {
    transition-delay: 1350ms; }

body[data-aos-duration='1400'] [data-aos], [data-aos][data-aos][data-aos-duration='1400'] {
  transition-duration: 1400ms; }

body[data-aos-delay='1400'] [data-aos], [data-aos][data-aos][data-aos-delay='1400'] {
  transition-delay: 0; }
  body[data-aos-delay='1400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1400'].aos-animate {
    transition-delay: 1400ms; }

body[data-aos-duration='1450'] [data-aos], [data-aos][data-aos][data-aos-duration='1450'] {
  transition-duration: 1450ms; }

body[data-aos-delay='1450'] [data-aos], [data-aos][data-aos][data-aos-delay='1450'] {
  transition-delay: 0; }
  body[data-aos-delay='1450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1450'].aos-animate {
    transition-delay: 1450ms; }

body[data-aos-duration='1500'] [data-aos], [data-aos][data-aos][data-aos-duration='1500'] {
  transition-duration: 1500ms; }

body[data-aos-delay='1500'] [data-aos], [data-aos][data-aos][data-aos-delay='1500'] {
  transition-delay: 0; }
  body[data-aos-delay='1500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1500'].aos-animate {
    transition-delay: 1500ms; }

body[data-aos-duration='1550'] [data-aos], [data-aos][data-aos][data-aos-duration='1550'] {
  transition-duration: 1550ms; }

body[data-aos-delay='1550'] [data-aos], [data-aos][data-aos][data-aos-delay='1550'] {
  transition-delay: 0; }
  body[data-aos-delay='1550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1550'].aos-animate {
    transition-delay: 1550ms; }

body[data-aos-duration='1600'] [data-aos], [data-aos][data-aos][data-aos-duration='1600'] {
  transition-duration: 1600ms; }

body[data-aos-delay='1600'] [data-aos], [data-aos][data-aos][data-aos-delay='1600'] {
  transition-delay: 0; }
  body[data-aos-delay='1600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1600'].aos-animate {
    transition-delay: 1600ms; }

body[data-aos-duration='1650'] [data-aos], [data-aos][data-aos][data-aos-duration='1650'] {
  transition-duration: 1650ms; }

body[data-aos-delay='1650'] [data-aos], [data-aos][data-aos][data-aos-delay='1650'] {
  transition-delay: 0; }
  body[data-aos-delay='1650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1650'].aos-animate {
    transition-delay: 1650ms; }

body[data-aos-duration='1700'] [data-aos], [data-aos][data-aos][data-aos-duration='1700'] {
  transition-duration: 1700ms; }

body[data-aos-delay='1700'] [data-aos], [data-aos][data-aos][data-aos-delay='1700'] {
  transition-delay: 0; }
  body[data-aos-delay='1700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1700'].aos-animate {
    transition-delay: 1700ms; }

body[data-aos-duration='1750'] [data-aos], [data-aos][data-aos][data-aos-duration='1750'] {
  transition-duration: 1750ms; }

body[data-aos-delay='1750'] [data-aos], [data-aos][data-aos][data-aos-delay='1750'] {
  transition-delay: 0; }
  body[data-aos-delay='1750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1750'].aos-animate {
    transition-delay: 1750ms; }

body[data-aos-duration='1800'] [data-aos], [data-aos][data-aos][data-aos-duration='1800'] {
  transition-duration: 1800ms; }

body[data-aos-delay='1800'] [data-aos], [data-aos][data-aos][data-aos-delay='1800'] {
  transition-delay: 0; }
  body[data-aos-delay='1800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1800'].aos-animate {
    transition-delay: 1800ms; }

body[data-aos-duration='1850'] [data-aos], [data-aos][data-aos][data-aos-duration='1850'] {
  transition-duration: 1850ms; }

body[data-aos-delay='1850'] [data-aos], [data-aos][data-aos][data-aos-delay='1850'] {
  transition-delay: 0; }
  body[data-aos-delay='1850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1850'].aos-animate {
    transition-delay: 1850ms; }

body[data-aos-duration='1900'] [data-aos], [data-aos][data-aos][data-aos-duration='1900'] {
  transition-duration: 1900ms; }

body[data-aos-delay='1900'] [data-aos], [data-aos][data-aos][data-aos-delay='1900'] {
  transition-delay: 0; }
  body[data-aos-delay='1900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1900'].aos-animate {
    transition-delay: 1900ms; }

body[data-aos-duration='1950'] [data-aos], [data-aos][data-aos][data-aos-duration='1950'] {
  transition-duration: 1950ms; }

body[data-aos-delay='1950'] [data-aos], [data-aos][data-aos][data-aos-delay='1950'] {
  transition-delay: 0; }
  body[data-aos-delay='1950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1950'].aos-animate {
    transition-delay: 1950ms; }

body[data-aos-duration='2000'] [data-aos], [data-aos][data-aos][data-aos-duration='2000'] {
  transition-duration: 2000ms; }

body[data-aos-delay='2000'] [data-aos], [data-aos][data-aos][data-aos-delay='2000'] {
  transition-delay: 0; }
  body[data-aos-delay='2000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2000'].aos-animate {
    transition-delay: 2000ms; }

body[data-aos-duration='2050'] [data-aos], [data-aos][data-aos][data-aos-duration='2050'] {
  transition-duration: 2050ms; }

body[data-aos-delay='2050'] [data-aos], [data-aos][data-aos][data-aos-delay='2050'] {
  transition-delay: 0; }
  body[data-aos-delay='2050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2050'].aos-animate {
    transition-delay: 2050ms; }

body[data-aos-duration='2100'] [data-aos], [data-aos][data-aos][data-aos-duration='2100'] {
  transition-duration: 2100ms; }

body[data-aos-delay='2100'] [data-aos], [data-aos][data-aos][data-aos-delay='2100'] {
  transition-delay: 0; }
  body[data-aos-delay='2100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2100'].aos-animate {
    transition-delay: 2100ms; }

body[data-aos-duration='2150'] [data-aos], [data-aos][data-aos][data-aos-duration='2150'] {
  transition-duration: 2150ms; }

body[data-aos-delay='2150'] [data-aos], [data-aos][data-aos][data-aos-delay='2150'] {
  transition-delay: 0; }
  body[data-aos-delay='2150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2150'].aos-animate {
    transition-delay: 2150ms; }

body[data-aos-duration='2200'] [data-aos], [data-aos][data-aos][data-aos-duration='2200'] {
  transition-duration: 2200ms; }

body[data-aos-delay='2200'] [data-aos], [data-aos][data-aos][data-aos-delay='2200'] {
  transition-delay: 0; }
  body[data-aos-delay='2200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2200'].aos-animate {
    transition-delay: 2200ms; }

body[data-aos-duration='2250'] [data-aos], [data-aos][data-aos][data-aos-duration='2250'] {
  transition-duration: 2250ms; }

body[data-aos-delay='2250'] [data-aos], [data-aos][data-aos][data-aos-delay='2250'] {
  transition-delay: 0; }
  body[data-aos-delay='2250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2250'].aos-animate {
    transition-delay: 2250ms; }

body[data-aos-duration='2300'] [data-aos], [data-aos][data-aos][data-aos-duration='2300'] {
  transition-duration: 2300ms; }

body[data-aos-delay='2300'] [data-aos], [data-aos][data-aos][data-aos-delay='2300'] {
  transition-delay: 0; }
  body[data-aos-delay='2300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2300'].aos-animate {
    transition-delay: 2300ms; }

body[data-aos-duration='2350'] [data-aos], [data-aos][data-aos][data-aos-duration='2350'] {
  transition-duration: 2350ms; }

body[data-aos-delay='2350'] [data-aos], [data-aos][data-aos][data-aos-delay='2350'] {
  transition-delay: 0; }
  body[data-aos-delay='2350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2350'].aos-animate {
    transition-delay: 2350ms; }

body[data-aos-duration='2400'] [data-aos], [data-aos][data-aos][data-aos-duration='2400'] {
  transition-duration: 2400ms; }

body[data-aos-delay='2400'] [data-aos], [data-aos][data-aos][data-aos-delay='2400'] {
  transition-delay: 0; }
  body[data-aos-delay='2400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2400'].aos-animate {
    transition-delay: 2400ms; }

body[data-aos-duration='2450'] [data-aos], [data-aos][data-aos][data-aos-duration='2450'] {
  transition-duration: 2450ms; }

body[data-aos-delay='2450'] [data-aos], [data-aos][data-aos][data-aos-delay='2450'] {
  transition-delay: 0; }
  body[data-aos-delay='2450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2450'].aos-animate {
    transition-delay: 2450ms; }

body[data-aos-duration='2500'] [data-aos], [data-aos][data-aos][data-aos-duration='2500'] {
  transition-duration: 2500ms; }

body[data-aos-delay='2500'] [data-aos], [data-aos][data-aos][data-aos-delay='2500'] {
  transition-delay: 0; }
  body[data-aos-delay='2500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2500'].aos-animate {
    transition-delay: 2500ms; }

body[data-aos-duration='2550'] [data-aos], [data-aos][data-aos][data-aos-duration='2550'] {
  transition-duration: 2550ms; }

body[data-aos-delay='2550'] [data-aos], [data-aos][data-aos][data-aos-delay='2550'] {
  transition-delay: 0; }
  body[data-aos-delay='2550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2550'].aos-animate {
    transition-delay: 2550ms; }

body[data-aos-duration='2600'] [data-aos], [data-aos][data-aos][data-aos-duration='2600'] {
  transition-duration: 2600ms; }

body[data-aos-delay='2600'] [data-aos], [data-aos][data-aos][data-aos-delay='2600'] {
  transition-delay: 0; }
  body[data-aos-delay='2600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2600'].aos-animate {
    transition-delay: 2600ms; }

body[data-aos-duration='2650'] [data-aos], [data-aos][data-aos][data-aos-duration='2650'] {
  transition-duration: 2650ms; }

body[data-aos-delay='2650'] [data-aos], [data-aos][data-aos][data-aos-delay='2650'] {
  transition-delay: 0; }
  body[data-aos-delay='2650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2650'].aos-animate {
    transition-delay: 2650ms; }

body[data-aos-duration='2700'] [data-aos], [data-aos][data-aos][data-aos-duration='2700'] {
  transition-duration: 2700ms; }

body[data-aos-delay='2700'] [data-aos], [data-aos][data-aos][data-aos-delay='2700'] {
  transition-delay: 0; }
  body[data-aos-delay='2700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2700'].aos-animate {
    transition-delay: 2700ms; }

body[data-aos-duration='2750'] [data-aos], [data-aos][data-aos][data-aos-duration='2750'] {
  transition-duration: 2750ms; }

body[data-aos-delay='2750'] [data-aos], [data-aos][data-aos][data-aos-delay='2750'] {
  transition-delay: 0; }
  body[data-aos-delay='2750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2750'].aos-animate {
    transition-delay: 2750ms; }

body[data-aos-duration='2800'] [data-aos], [data-aos][data-aos][data-aos-duration='2800'] {
  transition-duration: 2800ms; }

body[data-aos-delay='2800'] [data-aos], [data-aos][data-aos][data-aos-delay='2800'] {
  transition-delay: 0; }
  body[data-aos-delay='2800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2800'].aos-animate {
    transition-delay: 2800ms; }

body[data-aos-duration='2850'] [data-aos], [data-aos][data-aos][data-aos-duration='2850'] {
  transition-duration: 2850ms; }

body[data-aos-delay='2850'] [data-aos], [data-aos][data-aos][data-aos-delay='2850'] {
  transition-delay: 0; }
  body[data-aos-delay='2850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2850'].aos-animate {
    transition-delay: 2850ms; }

body[data-aos-duration='2900'] [data-aos], [data-aos][data-aos][data-aos-duration='2900'] {
  transition-duration: 2900ms; }

body[data-aos-delay='2900'] [data-aos], [data-aos][data-aos][data-aos-delay='2900'] {
  transition-delay: 0; }
  body[data-aos-delay='2900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2900'].aos-animate {
    transition-delay: 2900ms; }

body[data-aos-duration='2950'] [data-aos], [data-aos][data-aos][data-aos-duration='2950'] {
  transition-duration: 2950ms; }

body[data-aos-delay='2950'] [data-aos], [data-aos][data-aos][data-aos-delay='2950'] {
  transition-delay: 0; }
  body[data-aos-delay='2950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2950'].aos-animate {
    transition-delay: 2950ms; }

body[data-aos-duration='3000'] [data-aos], [data-aos][data-aos][data-aos-duration='3000'] {
  transition-duration: 3000ms; }

body[data-aos-delay='3000'] [data-aos], [data-aos][data-aos][data-aos-delay='3000'] {
  transition-delay: 0; }
  body[data-aos-delay='3000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='3000'].aos-animate {
    transition-delay: 3000ms; }

body[data-aos-easing="linear"] [data-aos], [data-aos][data-aos][data-aos-easing="linear"] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75); }

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); }

body[data-aos-easing="ease-in"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1); }

body[data-aos-easing="ease-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1); }

body[data-aos-easing="ease-in-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }

body[data-aos-easing="ease-in-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

body[data-aos-easing="ease-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

body[data-aos-easing="ease-in-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

body[data-aos-easing="ease-in-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-sine"] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

body[data-aos-easing="ease-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-sine"] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

body[data-aos-easing="ease-in-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

body[data-aos-easing="ease-in-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quad"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quad"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quart"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

/**
 * Fade animations:
 * fade
 * fade-up, fade-down, fade-left, fade-right
 * fade-up-right, fade-up-left, fade-down-right, fade-down-left
 */
[data-aos^='fade'][data-aos^='fade'] {
  opacity: 0;
  transition-property: opacity, transform; }
  [data-aos^='fade'][data-aos^='fade'].aos-animate {
    opacity: 1;
    transform: translate(0, 0); }

[data-aos='fade-up'] {
  transform: translate(0, 25px); }

[data-aos='fade-down'] {
  transform: translate(0, -25px); }

[data-aos='fade-right'] {
  transform: translate(-25px, 0); }

[data-aos='fade-left'] {
  transform: translate(25px, 0); }

[data-aos='fade-up-right'] {
  transform: translate(-25px, 25px); }

[data-aos='fade-up-left'] {
  transform: translate(25px, 25px); }

[data-aos='fade-down-right'] {
  transform: translate(-25px, -25px); }

[data-aos='fade-down-left'] {
  transform: translate(25px, -25px); }

/**
 * Zoom animations:
 * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
 * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
 */
[data-aos^='zoom'][data-aos^='zoom'] {
  opacity: 0;
  transition-property: opacity, transform; }
  [data-aos^='zoom'][data-aos^='zoom'].aos-animate {
    opacity: 1;
    transform: translate(0, 0) scale(1); }

[data-aos='zoom-in'] {
  transform: scale(0.6); }

[data-aos='zoom-in-up'] {
  transform: translate(0, 25px) scale(0.6); }

[data-aos='zoom-in-down'] {
  transform: translate(0, -25px) scale(0.6); }

[data-aos='zoom-in-right'] {
  transform: translate(-25px, 0) scale(0.6); }

[data-aos='zoom-in-left'] {
  transform: translate(25px, 0) scale(0.6); }

[data-aos='zoom-out'] {
  transform: scale(1.2); }

[data-aos='zoom-out-up'] {
  transform: translate(0, 25px) scale(1.2); }

[data-aos='zoom-out-down'] {
  transform: translate(0, -25px) scale(1.2); }

[data-aos='zoom-out-right'] {
  transform: translate(-25px, 0) scale(1.2); }

[data-aos='zoom-out-left'] {
  transform: translate(25px, 0) scale(1.2); }

/**
 * Slide animations
 */
[data-aos^='slide'][data-aos^='slide'] {
  transition-property: transform; }
  [data-aos^='slide'][data-aos^='slide'].aos-animate {
    transform: translate(0, 0); }

[data-aos='slide-up'] {
  transform: translateY(100%); }

[data-aos='slide-down'] {
  transform: translateY(-100%); }

[data-aos='slide-right'] {
  transform: translateX(-100%); }

[data-aos='slide-left'] {
  transform: translateX(100%); }

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^='flip'][data-aos^='flip'] {
  backface-visibility: hidden;
  transition-property: transform; }

[data-aos='flip-left'] {
  transform: perspective(2500px) rotateY(-100deg); }
  [data-aos='flip-left'].aos-animate {
    transform: perspective(2500px) rotateY(0); }

[data-aos='flip-right'] {
  transform: perspective(2500px) rotateY(100deg); }
  [data-aos='flip-right'].aos-animate {
    transform: perspective(2500px) rotateY(0); }

[data-aos='flip-up'] {
  transform: perspective(2500px) rotateX(-100deg); }
  [data-aos='flip-up'].aos-animate {
    transform: perspective(2500px) rotateX(0); }

[data-aos='flip-down'] {
  transform: perspective(2500px) rotateX(100deg); }
  [data-aos='flip-down'].aos-animate {
    transform: perspective(2500px) rotateX(0); }

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

html {
  font-family: "Apercu-Regular", sans-serif;
  font-size: 70%;
  -webkit-font-smoothing: antialiased; }

body {
  color: #2E33BA;
  padding: 0;
  font-weight: 400;
  border-left: #2E33BA solid 35px;
  border-right: #FFF solid 0;
  line-height: 1.3333;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  @media (min-width: 1280px) {
    body {
      border-left: #2E33BA solid 35px;
      border-right: #FFF solid 35px; } }
  @media (min-width: 1700px) {
    body {
      border-left: #2E33BA solid 35px;
      border-right: #FFF solid 35px; } }
  @media (min-width: 2400px) {
    body {
      border-left: #2E33BA solid 35px;
      border-right: #FFF solid 35px; } }

.container {
  padding-left: 10px;
  padding-right: 10px;
  background-color: none; }
  @media (min-width: 1280px) {
    .container {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (min-width: 1700px) {
    .container {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (min-width: 2400px) {
    .container {
      padding-left: 50px;
      padding-right: 50px; } }

.full-size {
  padding-left: 0;
  padding-right: 0; }
  @media (min-width: 1280px) {
    .full-size {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (min-width: 1700px) {
    .full-size {
      padding-left: 50px;
      padding-right: 50px; } }
  @media (min-width: 2400px) {
    .full-size {
      padding-left: 50px;
      padding-right: 50px; } }

.bg-silver {
  background-color: #FFF; }

.border--top {
  position: relative; }
  .border--top:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 50%;
    height: 6px;
    background-color: #FFF; }
    @media (min-width: 1280px) {
      .border--top:before {
        height: 17px; } }
    @media (min-width: 1700px) {
      .border--top:before {
        height: 23px; } }
    @media (min-width: 2400px) {
      .border--top:before {
        height: 31px; } }
  .border--top:after {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    width: 50%;
    height: 6px;
    background-color: #FFF; }
    @media (min-width: 1280px) {
      .border--top:after {
        height: 17px; } }
    @media (min-width: 1700px) {
      .border--top:after {
        height: 23px; } }
    @media (min-width: 2400px) {
      .border--top:after {
        height: 31px; } }

.overlay {
  display: none; }
  .ie9 .overlay,
  .ie10 .overlay,
  .safari .overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    color: #2E33BA;
    font-family: "Apercu-Regular", sans-serif;
    font-size: 3rem; }
    .ie9 .overlay span,
    .ie10 .overlay span,
    .safari .overlay span {
      position: absolute;
      top: 50%;
      left: 50%;
      -moz-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

#bg {
  background-image: url("https://s3.amazonaws.com/reacdn/175pearl/background+pattern.png");
  background-repeat: no-repeat;
  background-position: left;
  background-size: cover; }
  @media (min-width: 1700px) {
    #bg {
      background-size: 80%; } }
  @media (min-width: 2400px) {
    #bg {
      background-size: 70%; } }

#bg-2 {
  background-image: url("https://s3.amazonaws.com/reacdn/175pearl/background+pattern+2.png");
  background-repeat: no-repeat;
  background-position: left;
  background-size: cover; }
  @media (min-width: 1700px) {
    #bg-2 {
      background-size: 80%; } }
  @media (min-width: 2400px) {
    #bg-2 {
      background-size: 70%; } }

.sideHeader {
  position: fixed;
  transform: rotate(270deg);
  transform-origin: left top 0;
  letter-spacing: 2px;
  left: 10px;
  top: 60%;
  color: #FFF; }
  @media (min-width: 1280px) {
    .sideHeader {
      left: 10px;
      top: 50%; } }

/** VARIABLES
===================================*/
/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.bx-wrapper img {
  max-width: 100%;
  display: block; }

.bxslider {
  margin: 0;
  padding: 0; }

ul.bxslider {
  list-style: none; }

.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
  overflow: visible !important; }

/** THEME
===================================*/
.bx-wrapper {
  position: relative;
  background: transparent; }

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -30px;
  width: 100%; }

/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url("../img/bx_loader.gif") center center no-repeat #ffffff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000; }

/* PAGER */
.bx-wrapper .bx-pager {
  position: absolute;
  bottom: -20px;
  text-align: center;
  font-size: .55em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px; }
  @media (min-width: 1280px) {
    .bx-wrapper .bx-pager {
      bottom: -35px; } }
  @media (min-width: 2400px) {
    .bx-wrapper .bx-pager {
      bottom: -35px; } }

.bx-wrapper .bx-pager.bx-default-pager a {
  background: transparent;
  text-indent: -9999px;
  display: block;
  width: 7px;
  height: 7px;
  margin: 0 3px;
  outline: 0;
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
  border: #2E33BA solid 1px;
  z-index: 9999 !important; }
  @media (min-width: 1280px) {
    .bx-wrapper .bx-pager.bx-default-pager a {
      width: 10px;
      height: 10px;
      margin: 0 5px;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius: 10px; } }
  @media (min-width: 2400px) {
    .bx-wrapper .bx-pager.bx-default-pager a {
      width: 18px;
      height: 18px;
      margin: 0 8px;
      -moz-border-radius: 18px;
      -webkit-border-radius: 18px;
      border-radius: 18px; } }

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #2E33BA; }

.bx-wrapper .bx-pager.bx-default-pager a.active:after {
  display: none; }

.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline; }

.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
  z-index: 9999; }

/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
  left: 0px;
  background: url("../img/left-carat.svg") no-repeat 0 0;
  background-position: 0 0; }

.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-prev:focus {
  background-position: 0 0; }

.bx-wrapper .bx-next {
  right: 0px;
  background: url("../img/right-carat.svg") no-repeat 12px 0; }

.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {
  background-position: 12px 0; }

.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -16px;
  outline: 0;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  z-index: 9999; }

.bx-wrapper .bx-controls-direction a.disabled {
  display: none; }

/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
  text-align: center; }

.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  margin: 0 3px; }

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus {
  background-position: -86px 0; }

.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  margin: 0 3px; }

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus {
  background-position: -86px -33px; }

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%; }

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px; }

/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666;
  background: rgba(80, 80, 80, 0.75);
  width: 100%; }

.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px; }

.slider {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  background-color: #FFF;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  @media (min-width: 1280px) {
    .slider__img {
      display: none !important; } }
  @media (min-width: 1280px) {
    .slider {
      height: calc(100vh - 208px); } }
  @media (min-width: 1700px) {
    .slider {
      height: calc(100vh - 275px); } }
  @media (min-width: 2400px) {
    .slider {
      height: calc(100vh - 400px); } }
  .slider__item {
    width: 100%;
    margin: 0;
    padding: 0; }
    .ie9 .slider__item,
    .ie10 .slider__item,
    .ie11 .slider__item {
      display: none; }
      .ie9 .slider__item:first-of-type,
      .ie10 .slider__item:first-of-type,
      .ie11 .slider__item:first-of-type {
        display: block; }
    @media (min-width: 1280px) {
      .slider__item {
        height: calc(100vh - 208px); } }
    @media (min-width: 1700px) {
      .slider__item {
        height: calc(100vh - 275px); } }
    @media (min-width: 2400px) {
      .slider__item {
        height: calc(100vh - 400px); } }
    @media (min-width: 1280px) {
      .slider__item--1 {
        background: url("https://s3.amazonaws.com/reacdn/175pearl/interior.jpg") no-repeat center center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover; } }
    @media (min-width: 1280px) {
      .slider__item--2 {
        background: url("https://s3.amazonaws.com/reacdn/175pearl/lobby.jpg") no-repeat center center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover; } }
    @media (min-width: 1280px) {
      .slider__item--3 {
        background: url("https://s3.amazonaws.com/reacdn/175pearl/roof-terrace.jpg") no-repeat center center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover; } }
    @media (min-width: 1280px) {
      .slider__item--4 {
        background: url("https://s3.amazonaws.com/reacdn/175pearl/building-exterior.jpg") no-repeat center center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover; } }
    .slider__item--caption {
      position: absolute;
      left: 0;
      bottom: -25px;
      color: #2E33BA;
      font-size: 1.2rem; }
      @media (min-width: 1280px) {
        .slider__item--caption {
          bottom: -40px;
          font-size: 1.8rem; } }
      @media (min-width: 1700px) {
        .slider__item--caption {
          font-size: 2.2rem; } }
      @media (min-width: 2400px) {
        .slider__item--caption {
          bottom: -60px;
          font-size: 2.8rem; } }

.section-small-slider {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }
  .section-small-slider--fix {
    visibility: hidden; }

.small-slider__description {
  justify-content: space-between;
  width: 30%;
  color: #2E33BA;
  font-size: 1.8rem;
  line-height: 1.214;
  text-align: center;
  margin-top: 58px;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  order: 2; }
  .small-slider__description ul {
    list-style-type: none; }
  .small-slider__description a {
    font-size: 1.6rem;
    position: relative;
    color: #2E33BA;
    display: inline-block;
    align-items: center;
    margin-top: 20px; }
  @media (min-width: 1280px) {
    .small-slider__description {
      width: 35%;
      font-size: 2rem;
      padding-left: 60px;
      margin-top: 0;
      text-align: left;
      order: 2; }
      .small-slider__description span {
        position: absolute;
        bottom: 0; }
      .small-slider__description a {
        font-size: 2rem;
        align-self: flex-start; }
        .small-slider__description a:hover:after {
          width: 100%; }
        .small-slider__description a:after {
          width: 0;
          position: absolute;
          content: '';
          height: 1px;
          left: 0;
          bottom: -5px;
          background-color: #2E33BA;
          -moz-transition: width 0.3s ease-in-out;
          -o-transition: width 0.3s ease-in-out;
          -webkit-transition: width 0.3s ease-in-out;
          transition: width 0.3s ease-in-out; } }
  @media (min-width: 1700px) {
    .small-slider__description {
      font-size: 2.4rem;
      line-height: 1.3333;
      padding-left: 60px; }
      .small-slider__description span {
        position: absolute;
        bottom: 0; }
      .small-slider__description a {
        font-size: 2.4rem; } }
  @media (min-width: 2400px) {
    .small-slider__description {
      width: 35%;
      font-size: 2.8rem;
      padding-left: 130px; }
      .small-slider__description span {
        position: absolute;
        bottom: 0; }
      .small-slider__description a {
        font-size: 2.8rem; } }

.small-slider {
  width: 100% !important;
  margin: 0;
  padding: 0;
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  order: 1; }
  @media (min-width: 1280px) {
    .small-slider {
      width: 65% !important;
      order: 1; } }
  .small-slider__item {
    position: relative;
    width: 60%;
    margin: 0 0 20px 0;
    padding: 0;
    background-color: white; }
    .ie9 .small-slider__item,
    .ie10 .small-slider__item,
    .ie11 .small-slider__item {
      display: none; }
      .ie9 .small-slider__item:first-of-type,
      .ie10 .small-slider__item:first-of-type,
      .ie11 .small-slider__item:first-of-type {
        display: block; }
    .small-slider__item img {
      width: 100%;
      -webkit-transform: translateZ(0);
      -webkit-backface-visibility: hidden; }
    @media (min-width: 1280px) {
      .small-slider__item {
        margin: 0 0 40px 0;
        order: 1; } }
    @media (min-width: 2400px) {
      .small-slider__item {
        margin: 0 0 60px 0;
        order: 2; } }
    .small-slider__item--caption {
      position: absolute;
      left: 0;
      bottom: -20px;
      color: #2E33BA;
      font-size: 1.2rem; }
      @media (min-width: 1280px) {
        .small-slider__item--caption {
          bottom: -40px;
          font-size: 1.8rem; } }
      @media (min-width: 1700px) {
        .small-slider__item--caption {
          font-size: 2.2rem; } }
      @media (min-width: 2400px) {
        .small-slider__item--caption {
          bottom: -60px;
          font-size: 2.8rem; } }

.big-slider {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .big-slider__item {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    margin: 0 0 20px 0px; }
    .ie9 .big-slider__item,
    .ie10 .big-slider__item,
    .ie11 .big-slider__item {
      display: none; }
      .ie9 .big-slider__item:first-of-type,
      .ie10 .big-slider__item:first-of-type,
      .ie11 .big-slider__item:first-of-type {
        display: block; }
    .big-slider__item img {
      width: 100%; }
    @media (min-width: 1280px) {
      .big-slider__item {
        margin: 0 0 40px 0px; } }
    @media (min-width: 2400px) {
      .big-slider__item {
        margin: 0 0 60px 0px; } }
    .big-slider__item--caption {
      position: absolute;
      left: 0;
      bottom: -20px;
      color: #2E33BA;
      font-size: 1.2rem; }
      @media (min-width: 1280px) {
        .big-slider__item--caption {
          bottom: -40px;
          font-size: 1.8rem; } }
      @media (min-width: 1700px) {
        .big-slider__item--caption {
          font-size: 2.2rem; } }
      @media (min-width: 2400px) {
        .big-slider__item--caption {
          bottom: -60px;
          font-size: 2.8rem; } }

.half-slider {
  width: 100% !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .half-slider__item {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    margin: 0 0 20px 0px;
    display: flex !important;
    flex-direction: column;
    background-color: #FFF; }
    .ie9 .half-slider__item,
    .ie10 .half-slider__item,
    .ie11 .half-slider__item {
      display: none; }
      .ie9 .half-slider__item:first-of-type,
      .ie10 .half-slider__item:first-of-type,
      .ie11 .half-slider__item:first-of-type {
        display: block; }
    @media (min-width: 1280px) {
      .half-slider__item {
        margin: 0 0 100px 0;
        flex-direction: row; } }
    @media (min-width: 2400px) {
      .half-slider__item {
        margin: 0 0 60px 0px; } }
    .half-slider__item--img {
      width: 100%;
      color: #2E33BA;
      font-size: 1.2rem; }
      @media (min-width: 1280px) {
        .half-slider__item--img {
          font-size: 1.8rem;
          width: 70%; } }
      @media (min-width: 1700px) {
        .half-slider__item--img {
          font-size: 2.2rem; } }
      @media (min-width: 2400px) {
        .half-slider__item--img {
          font-size: 2.8rem; } }
      .half-slider__item--img img {
        width: 100% !important; }
    .half-slider__item--caption {
      width: 100%;
      background-color: #FFF;
      color: #2E33BA;
      font-size: 1.6rem;
      padding: 5px 0; }
      @media (min-width: 1280px) {
        .half-slider__item--caption {
          font-size: 1.8rem;
          width: 30%;
          padding: 0 50px; } }
      @media (min-width: 1700px) {
        .half-slider__item--caption {
          font-size: 2.2rem; } }
      @media (min-width: 2400px) {
        .half-slider__item--caption {
          font-size: 2.8rem; } }

.header {
  position: relative;
  height: 60px;
  width: auto; }
  @media (min-width: 1280px) {
    .header {
      height: 150px; } }
  @media (min-width: 1700px) {
    .header {
      height: 150px; } }
  @media (min-width: 2400px) {
    .header {
      height: 150px; } }
  .header__logo {
    position: absolute;
    display: inline-block;
    left: 50%;
    color: #2E33BA;
    transform: translateX(-50%);
    top: 20px;
    width: 300px;
    text-align: center; }
    .header__logo h1 {
      font-weight: normal;
      font-size: 1.8rem;
      color: #2E33BA;
      margin: auto;
      padding: 0; }
    @media (min-width: 1280px) {
      .header__logo {
        top: 60px; }
        .header__logo h1 {
          font-size: 2.7rem; } }
    @media (min-width: 1700px) {
      .header__logo {
        top: 60px; } }
    @media (min-width: 2400px) {
      .header__logo {
        top: 60px; } }

.footer-element {
  width: 150px;
  display: block;
  margin: auto;
  margin-bottom: 50px; }
  .footer-element:hover {
    cursor: pointer; }
  @media (min-width: 1280px) {
    .footer-element {
      width: 200px;
      margin-bottom: 0; } }
  @media (min-width: 1700px) {
    .footer-element {
      width: 275px;
      margin-bottom: 0; } }
  @media (min-width: 2400px) {
    .footer-element {
      width: 325px;
      margin-bottom: 0; } }

.footer {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  @media (min-width: 1280px) {
    .footer {
      flex-direction: row; } }
  .footer__contact {
    margin-left: 10%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    @media (min-width: 1280px) {
      .footer__contact {
        width: 75%;
        margin-left: 25%; } }
  .footer__contacts {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    margin: 35px 0 30px 0; }
    @media (min-width: 1280px) {
      .footer__contacts {
        margin: 0 0 10px 0;
        flex-direction: row; } }
    @media (min-width: 1700px) {
      .footer__contacts {
        margin: 0 0 50px 0; } }
    .footer__contacts__item {
      display: flex;
      flex-direction: column;
      width: 100%;
      color: #2E33BA;
      font-size: 1.6rem;
      line-height: 1.5;
      margin-bottom: 20px; }
      @media (min-width: 1280px) {
        .footer__contacts__item {
          font-size: 1.5rem;
          width: 33%;
          margin-bottom: 50px; } }
      @media (min-width: 1700px) {
        .footer__contacts__item {
          font-size: 1.8rem; } }
      @media (min-width: 2400px) {
        .footer__contacts__item {
          font-size: 2.2rem;
          margin: auto;
          margin-bottom: 75px; } }
      .footer__contacts__item h4 {
        display: block;
        font-weight: normal;
        letter-spacing: .25rem;
        margin-bottom: 1rem; }
      .footer__contacts__item a {
        position: relative;
        color: #2E33BA;
        display: inline-block; }
  .footer__team {
    width: 44%;
    align-self: center; }
    .footer__team p {
      color: #2E33BA;
      font-size: 4.5rem;
      text-align: center;
      margin: 0 0 148px 0;
      display: block; }
      @media (min-width: 1280px) {
        .footer__team p {
          display: block;
          font-size: 3rem;
          margin: 0 0 66px 0; } }
      @media (min-width: 1700px) {
        .footer__team p {
          font-size: 3.8rem;
          margin: 0 0 92px 0; } }
      @media (min-width: 2400px) {
        .footer__team p {
          font-size: 4.5rem;
          margin: 0 0 148px 0; } }
  .footer__brands {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center; }
    .footer__brands__item {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      width: 50%;
      align-items: center;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }
      .footer__brands__item__img--1 {
        background: url("../img/icon-jll.svg") no-repeat left center;
        background-size: contain;
        width: 68px;
        height: 30px;
        margin: 0 0 37px 0; }
        @media (min-width: 1280px) {
          .footer__brands__item__img--1 {
            width: 118px;
            height: 52px;
            margin: 0 0 75px 0; } }
        @media (min-width: 1700px) {
          .footer__brands__item__img--1 {
            width: 157px;
            height: 70px;
            margin: 0 0 100px 0; } }
        @media (min-width: 2400px) {
          .footer__brands__item__img--1 {
            width: 190px;
            height: 84px;
            margin: 0 0 100px 0; } }
      .footer__brands__item__img--2 {
        background: url("../img/icon-savanna.svg") no-repeat left center;
        background-size: contain;
        width: 41px;
        height: 42px;
        margin: 0 0 37px 0; }
        @media (min-width: 1280px) {
          .footer__brands__item__img--2 {
            width: 75px;
            height: 76px;
            margin: 0 0 75px 0; } }
        @media (min-width: 1700px) {
          .footer__brands__item__img--2 {
            width: 100px;
            height: 101px;
            margin: 0 0 100px 0; } }
        @media (min-width: 2400px) {
          .footer__brands__item__img--2 {
            width: 116px;
            height: 118px;
            margin: 0 0 100px 0; } }
  .footer__credit {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .footer__credits p {
    color: #2E33BA;
    font-size: 1rem;
    text-align: center;
    line-height: 1.25rem;
    margin: 0 0 37px 0;
    display: block; }
    @media (min-width: 1280px) {
      .footer__credits p {
        display: block;
        font-size: 1.5rem;
        line-height: 1.8rem;
        margin: 0 0 75px 0; } }
    @media (min-width: 1700px) {
      .footer__credits p {
        font-size: 1.8rem;
        line-height: 2.1rem;
        margin: 0 0 130px 0; } }
    @media (min-width: 2400px) {
      .footer__credits p {
        font-size: 2.2rem;
        line-height: 2.7rem;
        margin: 0 0 130px 0; } }
  .footer__credits a {
    position: relative;
    color: #2E33BA;
    display: inline-block;
    align-self: center; }
    .footer__credits a:last-of-type:hover:after {
      width: 100%; }
    @media (min-width: 1280px) {
      .footer__credits a:last-of-type:after {
        position: absolute;
        content: "";
        height: 1px;
        left: 0;
        bottom: -5px;
        background-color: #2E33BA;
        width: 0;
        -moz-transition: width 0.3s ease-in-out;
        -o-transition: width 0.3s ease-in-out;
        -webkit-transition: width 0.3s ease-in-out;
        transition: width 0.3s ease-in-out; } }
    @media (min-width: 2400px) {
      .footer__credits a:last-of-type:after {
        height: 2px; } }
  .footer .footer-bottom {
    width: 100%;
    position: relative; }
  .footer .footer-bottom__element {
    height: 20px;
    display: block;
    margin: 30px auto 10px auto; }
    @media (min-width: 1280px) {
      .footer .footer-bottom__element {
        height: 30px;
        margin: 60px auto 30px auto; } }
    @media (min-width: 1700px) {
      .footer .footer-bottom__element {
        height: 30px;
        margin: 60px auto 30px auto; } }
    @media (min-width: 2400px) {
      .footer .footer-bottom__element {
        height: 30px;
        margin: 60px auto 30px auto; } }
    .footer .footer-bottom__element.rea {
      width: 1000px;
      text-align: center;
      margin-top: 60px;
      font-size: 1.2rem; }
      .footer .footer-bottom__element.rea a {
        color: #2E33BA; }
      @media (min-width: 1280px) {
        .footer .footer-bottom__element.rea {
          font-size: 1.5rem; } }
      @media (min-width: 1700px) {
        .footer .footer-bottom__element.rea {
          font-size: 1.8rem; } }
      @media (min-width: 2400px) {
        .footer .footer-bottom__element.rea {
          font-size: 2.2rem; } }

.description {
  color: #2E33BA;
  font-size: 1.8rem;
  line-height: 1.2;
  padding: 33px 40px; }
  .description--center {
    text-align: center;
    padding: 50px 10px 20px 10px; }
  .description--center-2 {
    text-align: center;
    padding: 0px; }
  @media (min-width: 1280px) {
    .description {
      font-size: 3.2rem;
      padding: 160px 0 80px 0; }
      .description span {
        display: block; } }
  @media (min-width: 1700px) {
    .description {
      font-size: 3.8rem; } }
  @media (min-width: 2400px) {
    .description {
      font-size: 4.5rem; } }
  @media (min-width: 1280px) {
    .description.floorplan {
      padding: 160px 0 80px 0; } }

.small-description {
  padding: 46px 0 46px 0;
  font-size: 1.8rem;
  line-height: 1.2;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center; }
  @media (min-width: 1280px) {
    .small-description {
      font-size: 3.2rem;
      padding: 68px 0 68px 0; } }
  @media (min-width: 1700px) {
    .small-description {
      font-size: 3.8rem;
      padding: 128px 0 128px 0; } }
  @media (min-width: 2400px) {
    .small-description {
      font-size: 4.5rem;
      padding: 180px 0 180px 0; } }
  .small-description__item {
    width: 50%; }
    .small-description__item:nth-of-type(1) {
      color: #2E33BA;
      text-align: right;
      padding: 0 7px 0 0;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }
      @media (min-width: 1280px) {
        .small-description__item:nth-of-type(1) {
          padding: 0; } }
      @media (min-width: 2400px) {
        .small-description__item:nth-of-type(1) {
          padding: 0; } }
    .small-description__item:nth-of-type(2) {
      color: #2E33BA;
      text-align: left;
      padding: 0 0 0 7px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }
      @media (min-width: 1280px) {
        .small-description__item:nth-of-type(2) {
          padding: 0 0 0 32px; } }
      @media (min-width: 1700px) {
        .small-description__item:nth-of-type(2) {
          padding: 0 0 0 42px; } }
      @media (min-width: 2400px) {
        .small-description__item:nth-of-type(2) {
          padding: 0 0 0 60px; } }

.mobile-image {
  display: block;
  padding-top: 0;
  width: 100%; }
  @media (min-width: 1280px) {
    .mobile-image {
      display: none; } }
  @media (min-width: 1700px) {
    .mobile-image {
      display: none; } }
  @media (min-width: 2400px) {
    .mobile-image {
      display: none; } }

.description-points {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  color: #2E33BA;
  background-color: #E2E9ED;
  margin: 40px 0;
  padding: 40px 0; }
  @media (min-width: 1280px) {
    .description-points {
      margin: 40px 0;
      padding: 40px 0; } }
  @media (min-width: 1700px) {
    .description-points {
      margin: 40px 0;
      padding: 40px 0; } }
  @media (min-width: 2400px) {
    .description-points {
      margin: 40px 0;
      padding: 40px 0; } }
  .description-points__item {
    position: relative;
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.2;
    text-align: center;
    padding: 25px 75px; }
    .description-points__item:after {
      position: absolute;
      content: "";
      width: 20px;
      height: 1px;
      bottom: 0;
      left: 50%;
      background-color: #2E33BA;
      -moz-transform: translate(-50%, 0);
      -o-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      transform: translate(-50%, 0); }
    @media (min-width: 1280px) {
      .description-points__item {
        width: 27%;
        font-size: 2rem;
        padding: 2%; }
        .description-points__item:after {
          display: none; }
        .description-points__item:nth-of-type(2) {
          border-left: 1px solid #2E33BA;
          border-right: 1px solid #2E33BA; } }
    @media (min-width: 1700px) {
      .description-points__item {
        font-size: 2.2rem; } }
    @media (min-width: 2400px) {
      .description-points__item {
        font-size: 2.4rem; } }
  @media (min-width: 1280px) {
    .description-points.second {
      margin: 100px 0 10px 0; } }

.description-image {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }
  @media (min-width: 1280px) {
    .description-image {
      margin: 0 0 100px 0; } }
  @media (min-width: 1700px) {
    .description-image {
      margin: 0 0 150px 0; } }
  @media (min-width: 2400px) {
    .description-image {
      margin: 0 0 175px 0; } }
  .description-image__image {
    width: 100%;
    height: 100%;
    display: none;
    order: 1; }
    @media (min-width: 1280px) {
      .description-image__image {
        display: flex;
        width: 60%;
        height: 50%; } }
  .description-image__content {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    color: #2E33BA;
    font-size: 1.6rem;
    order: 1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .description-image__content span {
      display: block;
      background-color: #FFF;
      padding: 28px 75px 42px 75px; }
      @media (min-width: 1280px) {
        .description-image__content span {
          padding: 28px 0 42px 0; } }
    @media (min-width: 1280px) {
      .description-image__content {
        width: 40%;
        font-size: 2.2rem;
        padding: 0 32px 0 32px; }
        .description-image__content span {
          background-color: inherit;
          padding: 0; } }
    @media (min-width: 1700px) {
      .description-image__content {
        font-size: 2.2rem;
        padding: 0 42px 0 42px; } }
    @media (min-width: 2400px) {
      .description-image__content {
        font-size: 2.2rem;
        padding: 0 60px 0 60px; } }
    .description-image__content ul {
      list-style: none; }
      @media (min-width: 1280px) {
        .description-image__content ul {
          padding: 0 0 0 40px; } }
      .description-image__content ul li {
        position: relative;
        line-height: 1.2;
        text-align: center;
        padding: 25px 0; }
        .description-image__content ul li:after {
          position: absolute;
          content: "";
          width: 20px;
          height: 1px;
          bottom: 0;
          left: 50%;
          background-color: #FFF;
          -moz-transform: translate(-50%, 0);
          -o-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
          -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0); }
        @media (min-width: 1280px) {
          .description-image__content ul li {
            text-align: left;
            padding: 0; }
            .description-image__content ul li:after {
              display: none; } }
        .description-image__content ul li:before {
          position: absolute;
          content: ""; }
          @media (min-width: 1280px) {
            .description-image__content ul li:before {
              content: "—";
              left: -40px; } }
  .description-image__points {
    display: flex;
    flex-direction: column;
    padding: 10px; }
    @media (min-width: 1280px) {
      .description-image__points {
        font-size: 2rem;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0; } }
    @media (min-width: 1700px) {
      .description-image__points {
        font-size: 2.2rem; } }
    @media (min-width: 2400px) {
      .description-image__points {
        font-size: 2.4rem; } }
    .description-image__points__item {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      padding: 20px 0;
      font-size: 1.4rem;
      line-height: 1.2727;
      align-self: center;
      width: 80%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }
      @media (min-width: 1280px) {
        .description-image__points__item {
          width: 33%;
          padding: 0 8% 0 0;
          align-self: flex-end; } }
      @media (min-width: 1700px) {
        .description-image__points__item {
          padding: 0 10% 0 0; } }
      @media (min-width: 2400px) {
        .description-image__points__item {
          padding: 0 130px 0 0; } }
      .description-image__points__item strong {
        display: block;
        font-weight: 700; }
      .description-image__points__item__caption {
        width: 50%; }
        @media (min-width: 1280px) {
          .description-image__points__item__caption {
            width: 100%; } }
      .description-image__points__item__img--1 {
        background: url("../img/icon-human.svg") no-repeat;
        background-size: contain;
        background-position: right 30px center;
        width: 50%;
        height: 100px; }
        @media (min-width: 1280px) {
          .description-image__points__item__img--1 {
            width: 100%;
            background-position: left center;
            margin: 0 0 12px 0; } }
        @media (min-width: 1700px) {
          .description-image__points__item__img--1 {
            height: 180px;
            margin: 0 0 25px 0; } }
        @media (min-width: 2400px) {
          .description-image__points__item__img--1 {
            height: 240px; } }
      .description-image__points__item__img--2 {
        background: url("../img/icon-bike.svg") no-repeat;
        background-size: contain;
        background-position: right 30px center;
        width: 50%;
        height: 90px; }
        @media (min-width: 1280px) {
          .description-image__points__item__img--2 {
            width: 100%;
            background-position: left center;
            margin: 0 0 12px 0; } }
        @media (min-width: 1700px) {
          .description-image__points__item__img--2 {
            height: 156px;
            margin: 0 0 25px 0; } }
        @media (min-width: 2400px) {
          .description-image__points__item__img--2 {
            height: 216px; } }
      .description-image__points__item__img--3 {
        background: url("../img/icon-transport.svg") no-repeat;
        background-size: contain;
        background-position: right 30px center;
        width: 50%;
        height: 80px; }
        @media (min-width: 1280px) {
          .description-image__points__item__img--3 {
            width: 100%;
            background-position: left center;
            margin: 0 0 12px 0; } }
        @media (min-width: 1700px) {
          .description-image__points__item__img--3 {
            height: 130px;
            margin: 0 0 25px 0; } }
        @media (min-width: 2400px) {
          .description-image__points__item__img--3 {
            height: 186px; } }

.download {
  background-color: #E2E9ED;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 52px 0 42px 0;
  padding: 27px 0 32px 0; }
  @media (min-width: 1280px) {
    .download {
      margin: 100px 0;
      padding: 46px 0 54px 0; } }
  @media (min-width: 1700px) {
    .download {
      margin: 150px 0 150px 0;
      padding: 60px 0 68px 0; } }
  @media (min-width: 2400px) {
    .download {
      margin: 175px 0;
      padding: 90px 0 105px 0; } }
  .download h2 {
    width: 100%;
    color: #2E33BA;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    margin: 0 0 52px 0; }
    @media (min-width: 1280px) {
      .download h2 {
        font-size: 3rem;
        margin: 0 0 70px 0; } }
    @media (min-width: 1700px) {
      .download h2 {
        font-size: 3.8rem;
        margin: 0 0 94px 0; } }
    @media (min-width: 2400px) {
      .download h2 {
        font-size: 4.5rem;
        margin: 0 0 130px 0; } }
  .download__item {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%; }
    .download__item a {
      position: relative;
      color: #2E33BA;
      display: inline-block;
      align-self: center;
      color: #2E33BA;
      font-size: 1.2rem;
      line-height: 1.2;
      text-align: center; }
      @media (min-width: 1280px) {
        .download__item a {
          font-size: 1.8rem; } }
      @media (min-width: 1700px) {
        .download__item a {
          font-size: 2.4rem; } }
      @media (min-width: 2400px) {
        .download__item a {
          font-size: 2.8rem; } }
      .download__item a:last-of-type:hover:after {
        width: 100%; }
      @media (min-width: 1280px) {
        .download__item a:last-of-type:after {
          position: absolute;
          content: "";
          height: 1px;
          left: 0;
          bottom: -5px;
          background-color: #FFF;
          width: 0;
          -moz-transition: width 0.3s ease-in-out;
          -o-transition: width 0.3s ease-in-out;
          -webkit-transition: width 0.3s ease-in-out;
          transition: width 0.3s ease-in-out; } }
      @media (min-width: 2400px) {
        .download__item a:last-of-type:after {
          height: 2px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvX2JvdXJib24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9oZWxwZXJzL19idXR0b25zLWxpc3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9oZWxwZXJzL19zY2FsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9oZWxwZXJzL190ZXh0LWlucHV0cy1saXN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vc2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdmFsaWRhdG9ycy9fY29udGFpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi92YWxpZGF0b3JzL19jb250YWlucy1mYWxzeS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL3ZhbGlkYXRvcnMvX2lzLWNvbG9yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdmFsaWRhdG9ycy9faXMtbGVuZ3RoLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdmFsaWRhdG9ycy9faXMtbnVtYmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdmFsaWRhdG9ycy9faXMtc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL3V0aWxpdGllcy9fYXNzaWduLWlucHV0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL3V0aWxpdGllcy9fY29tcGFjdC1zaG9ydGhhbmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi91dGlsaXRpZXMvX2RpcmVjdGlvbmFsLXByb3BlcnR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdXRpbGl0aWVzL19mZXRjaC1ib3VyYm9uLXNldHRpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi91dGlsaXRpZXMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdXRpbGl0aWVzL19nYW1tYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL3V0aWxpdGllcy9fbGlnaHRuZXNzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdXRpbGl0aWVzL19jb250cmFzdC1yYXRpby5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL3V0aWxpdGllcy9fdW5wYWNrLXNob3J0aGFuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX2JvcmRlci1jb2xvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19ib3JkZXItc3R5bGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19ib3JkZXItd2lkdGguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19jb250cmFzdC1zd2l0Y2guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19lbGxpcHNpcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX2ZvbnQtZmFjZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX2ZvbnQtc3RhY2tzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9faGlkZS10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9faGlkZS12aXN1YWxseS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX21hcmdpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX21vZHVsYXItc2NhbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19vdmVyZmxvdy13cmFwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9fcGFkZGluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9fcHJlZml4ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19zaGFkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19zdHJpcC11bml0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9fdGV4dC1pbnB1dHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9fdGludC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX3RyaWFuZ2xlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9fdmFsdWUtcHJlZml4ZXIuc2NzcyIsImJhc2UvX2h0bWw1cmVzZXQtMS42LjEuc2NzcyIsImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL19taXhpbnMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2Fvcy5zY3NzIiwiYmFzZS9fY29yZS5zY3NzIiwiYmFzZS9fZWFzaW5nLnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNjc3MiLCJsYXlvdXQvX3RoZW1lLnNjc3MiLCJjb21wb25lbnRzL2pxdWVyeS5ieHNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fZGVzY3JpcHRpb24uc2NzcyIsImNvbXBvbmVudHMvX2Rvd25sb2FkLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvblwiO1xuQGltcG9ydCBcImJhc2UvaHRtbDVyZXNldC0xLjYuMVwiO1xuQGltcG9ydCBcImJhc2Uvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYmFzZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJiYXNlL21peGluc1wiO1xuQGltcG9ydCBcImJhc2UvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImJhc2UvYW9zXCI7XG5cbkBpbXBvcnQgXCJsYXlvdXQvdGhlbWVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2pxdWVyeS5ieHNsaWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2xpZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvb3RlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGVzY3JpcHRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Rvd25sb2FkXCI7XG4iLCIvLyBCb3VyYm9uIDUuMC4wXG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxOCB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwiYm91cmJvbi9oZWxwZXJzL2J1dHRvbnMtbGlzdFwiO1xuQGltcG9ydCBcImJvdXJib24vaGVscGVycy9zY2FsZXNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2hlbHBlcnMvdGV4dC1pbnB1dHMtbGlzdFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi92YWxpZGF0b3JzL2NvbnRhaW5zXCI7XG5AaW1wb3J0IFwiYm91cmJvbi92YWxpZGF0b3JzL2NvbnRhaW5zLWZhbHN5XCI7XG5AaW1wb3J0IFwiYm91cmJvbi92YWxpZGF0b3JzL2lzLWNvbG9yXCI7XG5AaW1wb3J0IFwiYm91cmJvbi92YWxpZGF0b3JzL2lzLWxlbmd0aFwiO1xuQGltcG9ydCBcImJvdXJib24vdmFsaWRhdG9ycy9pcy1udW1iZXJcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3ZhbGlkYXRvcnMvaXMtc2l6ZVwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvYXNzaWduLWlucHV0c1wiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL2NvbXBhY3Qtc2hvcnRoYW5kXCI7XG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvZGlyZWN0aW9uYWwtcHJvcGVydHlcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9mZXRjaC1ib3VyYm9uLXNldHRpbmdcIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImJvdXJib24vdXRpbGl0aWVzL2dhbW1hXCI7XG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvbGlnaHRuZXNzXCI7XG5AaW1wb3J0IFwiYm91cmJvbi91dGlsaXRpZXMvY29udHJhc3QtcmF0aW9cIjtcbkBpbXBvcnQgXCJib3VyYm9uL3V0aWxpdGllcy91bnBhY2stc2hvcnRoYW5kXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvYm9yZGVyLWNvbG9yXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvYm9yZGVyLXN0eWxlXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2JvcmRlci13aWR0aFwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9idXR0b25zXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2NvbnRyYXN0LXN3aXRjaFwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvZm9udC1zdGFja3NcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L2hpZGUtdmlzdWFsbHlcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L21vZHVsYXItc2NhbGVcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvb3ZlcmZsb3ctd3JhcFwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS9wYWRkaW5nXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3NoYWRlXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3NpemVcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvc3RyaXAtdW5pdFwiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS90ZXh0LWlucHV0c1wiO1xuQGltcG9ydCBcImJvdXJib24vbGlicmFyeS90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYm91cmJvbi9saWJyYXJ5L3RpbnRcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvdHJpYW5nbGVcIjtcbkBpbXBvcnQgXCJib3VyYm9uL2xpYnJhcnkvdmFsdWUtcHJlZml4ZXJcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbGlzdCBvZiBhbGwgSFRNTCBidXR0b24gZWxlbWVudHMuXG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9idXR0b25zLWxpc3Q6IChcbiAgXCJidXR0b25cIixcbiAgXCJbdHlwZT0nYnV0dG9uJ11cIixcbiAgXCJbdHlwZT0ncmVzZXQnXVwiLFxuICBcIlt0eXBlPSdzdWJtaXQnXVwiLFxuKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIFByZS1kZWZpbmVkIHNjYWxlcyBmb3IgdXNlIHdpdGggdGhlIGBtb2R1bGFyLXNjYWxlYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEB0eXBlIG51bWJlciAodW5pdGxlc3MpXG4vLy9cbi8vLyBAc2VlIHtmdW5jdGlvbn0gbW9kdWxhci1zY2FsZVxuLy8vL1xuXG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIF90ZXh0LWJhc2VkXyBIVE1MIGlucHV0cy5cbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX3RleHQtaW5wdXRzLWxpc3Q6IChcbiAgXCJbdHlwZT0nY29sb3InXVwiLFxuICBcIlt0eXBlPSdkYXRlJ11cIixcbiAgXCJbdHlwZT0nZGF0ZXRpbWUnXVwiLFxuICBcIlt0eXBlPSdkYXRldGltZS1sb2NhbCddXCIsXG4gIFwiW3R5cGU9J2VtYWlsJ11cIixcbiAgXCJbdHlwZT0nbW9udGgnXVwiLFxuICBcIlt0eXBlPSdudW1iZXInXVwiLFxuICBcIlt0eXBlPSdwYXNzd29yZCddXCIsXG4gIFwiW3R5cGU9J3NlYXJjaCddXCIsXG4gIFwiW3R5cGU9J3RlbCddXCIsXG4gIFwiW3R5cGU9J3RleHQnXVwiLFxuICBcIlt0eXBlPSd0aW1lJ11cIixcbiAgXCJbdHlwZT0ndXJsJ11cIixcbiAgXCJbdHlwZT0nd2VlayddXCIsXG4gIFwiaW5wdXQ6bm90KFt0eXBlXSlcIixcbiAgXCJ0ZXh0YXJlYVwiLFxuKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERlZmF1bHQgZ2xvYmFsIEJvdXJib24gc2V0dGluZ3MuIFZhbHVlcyBpbiB0aGlzIG1hcCBhcmUgb3ZlcndyaXR0ZW4gYnkgYW55XG4vLy8gdmFsdWVzIHNldCBpbiB0aGUgYCRib3VyYm9uYCBtYXAuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Y29sb3J9IGNvbnRyYXN0LXN3aXRjaC1kYXJrLWNvbG9yIFsjMDAwXVxuLy8vICAgR2xvYmFsIGRhcmsgY29sb3IgZm9yIHRoZSBgY29udHJhc3Qtc3dpdGNoYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7Y29sb3J9IGNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvciBbI2ZmZl1cbi8vLyAgIEdsb2JhbCBsaWdodCBjb2xvciBmb3IgdGhlIGBjb250cmFzdC1zd2l0Y2hgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtsaXN0fSBnbG9iYWwtZm9udC1maWxlLWZvcm1hdHMgWyhcInR0ZlwiLCBcIndvZmYyXCIsIFwid29mZlwiKV1cbi8vLyAgIEdsb2JhbCBmb250IGZpbGUgZm9ybWF0cyBmb3IgdGhlIGBmb250LWZhY2VgIG1peGluLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtudW1iZXIgKHdpdGggdW5pdCl9IG1vZHVsYXItc2NhbGUtYmFzZSBbMWVtXVxuLy8vICAgR2xvYmFsIGJhc2UgdmFsdWUgZm9yIHRoZSBgbW9kdWxhci1zY2FsZWAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge251bWJlciAodW5pdGxlc3MpfSBtb2R1bGFyLXNjYWxlLXJhdGlvIFskbWFqb3ItdGhpcmQgKDEuMjUpXVxuLy8vICAgR2xvYmFsIGJhc2UgcmF0aW8gZm9yIHRoZSBgbW9kdWxhci1zY2FsZWAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge2Jvb2xlYW59IHJhaWxzLWFzc2V0LXBpcGVsaW5lIFtmYWxzZV1cbi8vLyAgIFNldCB0aGlzIHRvIGB0cnVlYCB3aGVuIHVzaW5nIHRoZSBSYWlscyBBc3NldCBQaXBlbGluZSBhbmQgQm91cmJvbiB3aWxsXG4vLy8gICB3cml0ZSBhc3NldCBwYXRocyB1c2luZ1xuLy8vICAgW3Nhc3MtcmFpbHPigJkgYXNzZXQgaGVscGVyc10oaHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3Nhc3MtcmFpbHMjYXNzZXQtaGVscGVycykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9ib3VyYm9uLWRlZmF1bHRzOiAoXG4gIFwiY29udHJhc3Qtc3dpdGNoLWRhcmstY29sb3JcIjogIzAwMCxcbiAgXCJjb250cmFzdC1zd2l0Y2gtbGlnaHQtY29sb3JcIjogI2ZmZixcbiAgXCJnbG9iYWwtZm9udC1maWxlLWZvcm1hdHNcIjogKFwidHRmXCIsIFwid29mZjJcIiwgXCJ3b2ZmXCIpLFxuICBcIm1vZHVsYXItc2NhbGUtYmFzZVwiOiAxZW0sXG4gIFwibW9kdWxhci1zY2FsZS1yYXRpb1wiOiAkbWFqb3ItdGhpcmQsXG4gIFwicmFpbHMtYXNzZXQtcGlwZWxpbmVcIjogZmFsc2UsXG4pO1xuXG4vLy8gR2xvYmFsIEJvdXJib24gc2V0dGluZ3MuXG4vLy9cbi8vLyBAbmFtZSBTZXR0aW5nc1xuLy8vXG4vLy8gQHR5cGUgbWFwXG4vLy9cbi8vLyBAcHJvcGVydHkge2NvbG9yfSBjb250cmFzdC1zd2l0Y2gtZGFyay1jb2xvciBbIzAwMF1cbi8vLyAgIEdsb2JhbCBkYXJrIGNvbG9yIGZvciB0aGUgYGNvbnRyYXN0LXN3aXRjaGAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAcHJvcGVydHkge2NvbG9yfSBjb250cmFzdC1zd2l0Y2gtbGlnaHQtY29sb3IgWyNmZmZdXG4vLy8gICBHbG9iYWwgbGlnaHQgY29sb3IgZm9yIHRoZSBgY29udHJhc3Qtc3dpdGNoYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7bGlzdH0gZ2xvYmFsLWZvbnQtZmlsZS1mb3JtYXRzIFsoXCJ0dGZcIiwgXCJ3b2ZmMlwiLCBcIndvZmZcIildXG4vLy8gICBHbG9iYWwgZm9udCBmaWxlIGZvcm1hdHMgZm9yIHRoZSBgZm9udC1mYWNlYCBtaXhpbi5cbi8vL1xuLy8vIEBwcm9wZXJ0eSB7bnVtYmVyICh3aXRoIHVuaXQpfSBtb2R1bGFyLXNjYWxlLWJhc2UgWzFlbV1cbi8vLyAgIEdsb2JhbCBiYXNlIHZhbHVlIGZvciB0aGUgYG1vZHVsYXItc2NhbGVgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtudW1iZXIgKHVuaXRsZXNzKX0gbW9kdWxhci1zY2FsZS1yYXRpbyBbJG1ham9yLXRoaXJkICgxLjI1KV1cbi8vLyAgIEdsb2JhbCBiYXNlIHJhdGlvIGZvciB0aGUgYG1vZHVsYXItc2NhbGVgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQHByb3BlcnR5IHtib29sZWFufSByYWlscy1hc3NldC1waXBlbGluZSBbZmFsc2VdXG4vLy8gICBTZXQgdGhpcyB0byBgdHJ1ZWAgd2hlbiB1c2luZyB0aGUgUmFpbHMgQXNzZXQgUGlwZWxpbmUgYW5kIEJvdXJib24gd2lsbFxuLy8vICAgd3JpdGUgYXNzZXQgcGF0aHMgdXNpbmdcbi8vLyAgIFtzYXNzLXJhaWxz4oCZIGFzc2V0IGhlbHBlcnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9yYWlscy9zYXNzLXJhaWxzI2Fzc2V0LWhlbHBlcnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgJGJvdXJib246IChcbi8vLyAgICAgXCJjb250cmFzdC1zd2l0Y2gtZGFyay1jb2xvclwiOiAjMDAwLFxuLy8vICAgICBcImNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvclwiOiAjZmZmLFxuLy8vICAgICBcImdsb2JhbC1mb250LWZpbGUtZm9ybWF0c1wiOiAoXCJ0dGZcIiwgXCJ3b2ZmMlwiLCBcIndvZmZcIiksXG4vLy8gICAgIFwibW9kdWxhci1zY2FsZS1iYXNlXCI6IDFlbSxcbi8vLyAgICAgXCJtb2R1bGFyLXNjYWxlLXJhdGlvXCI6ICRtYWpvci10aGlyZCxcbi8vLyAgICAgXCJyYWlscy1hc3NldC1waXBlbGluZVwiOiBmYWxzZSxcbi8vLyAgICk7XG5cbiRib3VyYm9uOiAoKSAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW59XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9jb250YWlucyhcbiAgJGxpc3QsXG4gICR2YWx1ZXMuLi5cbikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW4gYW55IHZhbHVlcy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtib29sZWFufVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGNvbG9yLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRjb2xvclxuLy8vXG4vLy8gQHJldHVybiB7Ym9vbGVhbn1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2lzLWNvbG9yKCRjb2xvcikge1xuICBAcmV0dXJuICh0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IpIG9yICgkY29sb3IgPT0gXCJjdXJyZW50Q29sb3JcIik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW59XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9pcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXG4gICAgICAgb3IgaW5kZXgoYXV0byBpbmhlcml0IGluaXRpYWwgMCwgJHZhbHVlKVxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXJ9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29udGFpbnNcbi8vL1xuLy8vIEByZXR1cm4ge2Jvb2xlYW59XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9pcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gX2NvbnRhaW5zKFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiIDAgMSAyIDMgNCA1IDYgNyA4IDksICR2YWx1ZSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHZhbHVlXG4vLy9cbi8vLyBAcmV0dXJuIHtib29sZWFufVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29udGFpbnNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2lzLWxlbmd0aFxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBfaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBfY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBcHBlbmQgcHNldWRvLWNsYXNzZXMgdG8gYSBzZWxlY3RvcihzKS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdCB8IHN0cmluZ30gJGlucHV0c1xuLy8vICAgQSBzZWxlY3Rvciwgb3IgbGlzdCBvZiBzZWxlY3RvcnMsIHRvIGFwcGx5IHRoZSBwc2V1ZG8tY2xhc3MgdG8uXG4vLy9cbi8vLyBAYXJndW1lbnQge3BzZXVkby1jbGFzc30gJHBzZXVkbyBbbnVsbF1cbi8vLyAgIFRoZSBwc2V1ZG8tY2xhc3MgdG8gYmUgYXBwZW5kZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfYXNzaWduLWlucHV0cyhcbiAgJGlucHV0cyxcbiAgJHBzZXVkbzogbnVsbFxuKSB7XG4gICRsaXN0OiAoKTtcblxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XG4gICAgJGlucHV0OiBpZigkcHNldWRvLCAkaW5wdXQgKyBcIjpcIiArICRwc2V1ZG8sICRpbnB1dCk7XG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBFbHNlUGxhY2VtZW50XG5cbi8vLyBUcmFuc2Zvcm1zIHNob3J0aGFuZCB0byBpdHMgc2hvcnRlc3QgcG9zc2libGUgZm9ybS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkdmFsdWVzOiBfY29tcGFjdC1zaG9ydGhhbmQoMTBweCAyMHB4IDEwcHggMjBweCk7XG4vLy9cbi8vLyAgIC8vIE91dHB1dFxuLy8vICAgJHZhbHVlczogMTBweCAyMHB4O1xuLy8vXG4vLy8gQHJldHVybiB7bGlzdH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2NvbXBhY3Qtc2hvcnRoYW5kKCR2YWx1ZXMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWx1ZXMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWx1ZXMpIDwgMiwgJGEsIG50aCgkdmFsdWVzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHVlcykgPCAzLCAkYSwgbnRoKCR2YWx1ZXMsIDMpKTtcbiAgJGQ6IGlmKGxlbmd0aCgkdmFsdWVzKSA8IDIsICRhLCBudGgoJHZhbHVlcywgaWYobGVuZ3RoKCR2YWx1ZXMpIDwgNCwgMiwgNCkpKTtcblxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XG5cbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuXG4vLy8gQnVpbGRzIGRpcmVjdGlvbmFsIHByb3BlcnRpZXMgYnkgcGFyc2luZyBDU1Mgc2hvcnRoYW5kIHZhbHVlcy4gRm9yIGV4YW1wbGUsXG4vLy8gYSB2YWx1ZSBvZiBgMTBweCBudWxsYCB3aWxsIG91dHB1dCB0b3AgYW5kIGJvdHRvbSBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLFxuLy8vIGJ1dCB0aGUgYG51bGxgIHNraXBzIGxlZnQgYW5kIHJpZ2h0IGZyb20gYmVpbmcgb3V0cHV0LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgQmFzZSBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkc3VmZml4XG4vLy8gICBTdWZmaXggdG8gYXBwZW5kLiBVc2UgYG51bGxgIHRvIG9taXQuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICR2YWx1ZXNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRvIHNldCBmb3IgdGhlIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBfZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgbnVsbCA1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1yaWdodC13aWR0aDogNXB4O1xuLy8vICAgICBib3JkZXItbGVmdC13aWR0aDogNXB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29tcGFjdC1zaG9ydGhhbmRcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2NvbnRhaW5zLWZhbHN5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShcbiAgJHByb3BlcnR5LFxuICAkc3VmZml4LFxuICAkdmFsdWVzXG4pIHtcbiAgJHRvcDogICAgJHByb3BlcnR5ICsgXCItdG9wXCIgICAgKyBpZigkc3VmZml4LCBcIi0jeyRzdWZmaXh9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJvcGVydHkgKyBcIi1ib3R0b21cIiArIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcm9wZXJ0eSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZmZpeCwgXCItI3skc3VmZml4fVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByb3BlcnR5ICsgXCItcmlnaHRcIiAgKyBpZigkc3VmZml4LCBcIi0jeyRzdWZmaXh9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJvcGVydHkgKyAgICAgICAgICAgICBpZigkc3VmZml4LCBcIi0jeyRzdWZmaXh9XCIsIFwiXCIpO1xuXG4gICR2YWx1ZXM6IF9jb21wYWN0LXNob3J0aGFuZCgkdmFsdWVzKTtcblxuICBAaWYgX2NvbnRhaW5zLWZhbHN5KCR2YWx1ZXMpIHtcbiAgICBAaWYgbnRoKCR2YWx1ZXMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWx1ZXMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFsdWVzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWx1ZXMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHVlcywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFsdWVzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFsdWVzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFsdWVzLCAyKSB7ICN7JGxlZnR9OiBudGgoJHZhbHVlcywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHVlcywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMikgeyAjeyRsZWZ0fTogbnRoKCR2YWx1ZXMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWx1ZXMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDQpIHsgI3skbGVmdH06IG50aCgkdmFsdWVzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHVlcztcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmV0dXJuIGEgQm91cmJvbiBzZXR0aW5nLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRzZXR0aW5nXG4vLy9cbi8vLyBAcmV0dXJuIHtib29sZWFuIHwgY29sb3IgfCBsaXN0IHwgbnVtYmVyIHwgc3RyaW5nfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgX2ZldGNoLWJvdXJib24tc2V0dGluZyhyYWlscy1hc3NldC1waXBlbGluZSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2ZldGNoLWJvdXJib24tc2V0dGluZygkc2V0dGluZykge1xuICBAcmV0dXJuIG1hcC1nZXQobWFwLW1lcmdlKCRfYm91cmJvbi1kZWZhdWx0cywgJGJvdXJib24pLCAkc2V0dGluZyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBCdWlsZHMgdGhlIGBzcmNgIGxpc3QgZm9yIGFuIGBAZm9udC1mYWNlYCBkZWNsYXJhdGlvbi5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL1J1MWJLUFxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRmb250LWZhbWlseVxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRmaWxlLXBhdGhcbi8vL1xuLy8vIEBhcmd1bWVudCB7Ym9vbGVhbn0gJGFzc2V0LXBpcGVsaW5lXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICRmaWxlLWZvcm1hdHNcbi8vL1xuLy8vIEByZXR1cm4ge2xpc3R9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb250YWluc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzXG4pIHtcbiAgJHNyYzogKCk7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIiksXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBfY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFBlcmZvcm1zIGdhbW1hIGNvcnJlY3Rpb24gb24gYSBzaW5nbGUgY29sb3IgY2hhbm5lbC5cbi8vL1xuLy8vIE5vdGUgdGhhdCBTYXNzIGRvZXMgbm90IGhhdmUgYSBgcG93KClgIGZ1bmN0aW9uLCBzbyB0aGUgY2FsY3VsYXRpb25cbi8vLyBpcyBhcHByb3hpbWF0ZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICgwLTEpfSAkY2hhbm5lbFxuLy8vXG4vLy8gQHJldHVybiB7bnVtYmVyICgwLTEpfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZ2FtbWEoJGNoYW5uZWwpIHtcbiAgQGlmICRjaGFubmVsIDwgMC4wMzkyOCB7XG4gICAgQHJldHVybiAkY2hhbm5lbCAvIDEyLjkyO1xuICB9IEBlbHNlIHtcbiAgICAkYzogKCRjaGFubmVsICsgMC4wNTUpIC8gMS4wNTU7XG4gICAgQHJldHVybiAoMTMzICogJGMgKiAkYyAqICRjICsgMTU1ICogJGMgKiAkYykgLyAyODg7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHRoZSBsaWdodG5lc3Mgb2YgYSBjb2xvci5cbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3IgKGhleCl9ICRoZXgtY29sb3Jcbi8vL1xuLy8vIEByZXR1cm4ge251bWJlciAoMC0xKX1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIF9saWdodG5lc3MoJGNvbG9yKVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfbGlnaHRuZXNzKCRoZXgtY29sb3IpIHtcbiAgJC1sb2NhbC1yZWQtcmF3OiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtZ3JlZW4tcmF3OiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlLXJhdzogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcblxuICAkLWxvY2FsLXJlZDogX2dhbW1hKCQtbG9jYWwtcmVkLXJhdyAvIDI1NSk7XG4gICQtbG9jYWwtZ3JlZW46IF9nYW1tYSgkLWxvY2FsLWdyZWVuLXJhdyAvIDI1NSk7XG4gICQtbG9jYWwtYmx1ZTogX2dhbW1hKCQtbG9jYWwtYmx1ZS1yYXcgLyAyNTUpO1xuXG4gIEByZXR1cm4gJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgdGhlIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gdHdvIGNvbG9ycy5cbi8vL1xuLy8vIE5vdGUgdGhhdCB0aGUgYWxwaGEgY2hhbm5lbCBpcyBpZ25vcmVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvNTRodExWXG4vLy9cbi8vLyBAYXJndW1lbnQge2NvbG9yIChoZXgpfSAkY29sb3ItMVxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvciAoaGV4KX0gJGNvbG9yLTJcbi8vL1xuLy8vIEByZXR1cm4ge251bWJlciAoMS0yMSl9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICBfY29udHJhc3QtcmF0aW8oYmxhY2ssIHdoaXRlKVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfbGlnaHRuZXNzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9jb250cmFzdC1yYXRpbygkY29sb3ItMSwgJGNvbG9yLTIpIHtcbiAgJC1sb2NhbC1saWdodG5lc3MtMTogX2xpZ2h0bmVzcygkY29sb3ItMSkgKyAwLjA1O1xuICAkLWxvY2FsLWxpZ2h0bmVzcy0yOiBfbGlnaHRuZXNzKCRjb2xvci0yKSArIDAuMDU7XG5cbiAgQGlmICQtbG9jYWwtbGlnaHRuZXNzLTEgPiAkLWxvY2FsLWxpZ2h0bmVzcy0yIHtcbiAgICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzLTEgLyAkLWxvY2FsLWxpZ2h0bmVzcy0yO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzLTIgLyAkLWxvY2FsLWxpZ2h0bmVzcy0xO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcmFuc2Zvcm1zIHNob3J0aGFuZCB0aGF0IGNhbiByYW5nZSBmcm9tIDEtdG8tNCB2YWx1ZXMgdG8gYmUgNCB2YWx1ZXMuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICRzaG9ydGhhbmRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiBfdW5wYWNrLXNob3J0aGFuZCgxZW0gMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX3VucGFjay1zaG9ydGhhbmQoJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1jb2xvcmAgb24gc3BlY2lmaWNcbi8vLyBlZGdlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gZWRnZXMgb2YgdGhlIGJveCB3aXRoIHN0YW5kYXJkXG4vLy8gQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiBjb2xvcnM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWNvbG9yKCNhNjBiNTUgIzc2Y2Q5YyBudWxsICNlOGFlMWEpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZThhZTFhO1xuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IF9kaXJlY3Rpb25hbC1wcm9wZXJ0eVxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWx1ZXMpIHtcbiAgQGluY2x1ZGUgX2RpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWx1ZXMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggdGhlXG4vLy8gdG9wLWxlZnQgYW5kIHRvcC1yaWdodCBvZiBhIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkcmFkaWlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4vLy8gICB9XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggdGhlXG4vLy8gdG9wLXJpZ2h0IGFuZCBib3R0b20tcmlnaHQgb2YgYSBib3guXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAod2l0aCB1bml0KX0gJHJhZGlpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuLy8vICAgfVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuLy8vIFByb3ZpZGVzIGEgY29uY2lzZSwgb25lLWxpbmUgbWV0aG9kIGZvciBzZXR0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIHRoZVxuLy8vIGJvdHRvbS1sZWZ0IGFuZCBib3R0b20tcmlnaHQgb2YgYSBib3guXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAod2l0aCB1bml0KX0gJHJhZGlpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDJweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuLy8vICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xuLy8vICAgfVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuLy8vIFByb3ZpZGVzIGEgY29uY2lzZSwgb25lLWxpbmUgbWV0aG9kIGZvciBzZXR0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIHRoZVxuLy8vIHRvcC1sZWZ0IGFuZCBib3R0b20tbGVmdCBvZiBhIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkcmFkaWlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMXB4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxcHg7XG4vLy8gICB9XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBjb25jaXNlLCBvbmUtbGluZSBtZXRob2QgZm9yIHNldHRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWNcbi8vLyBlZGdlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gZWRnZXMgb2YgdGhlIGJveCB3aXRoIHN0YW5kYXJkXG4vLy8gQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiBib3JkZXIgc3R5bGVzOyBhY2NlcHRzIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gX2RpcmVjdGlvbmFsLXByb3BlcnR5XG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHVlcykge1xuICBAaW5jbHVkZSBfZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHVlcyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpY1xuLy8vIGVkZ2VzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBlZGdlcyBvZiB0aGUgYm94IHdpdGggc3RhbmRhcmRcbi8vLyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGJvcmRlciB3aWR0aHM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXdpZHRoKDFlbSBudWxsIDIwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gX2RpcmVjdGlvbmFsLXByb3BlcnR5XG5cbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHVlcykge1xuICBAaW5jbHVkZSBfZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCB3aWR0aCwgJHZhbHVlcyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9hc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRfYnV0dG9ucy1saXN0XG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgYWxsIEhUTUwgYnV0dG9uIGVsZW1lbnRzLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IGludGVycG9sYXRlXG4vLy8gdGhlIHZhcmlhYmxlIChgI3t9YCkgdG8gdXNlIGl0IGFzIGEgc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBidXR0b24sXG4vLy8gICBbdHlwZT0nYnV0dG9uJ10sXG4vLy8gICBbdHlwZT0ncmVzZXQnXSxcbi8vLyAgIFt0eXBlPSdzdWJtaXQnXSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG5cbiRhbGwtYnV0dG9uczogX2Fzc2lnbi1pbnB1dHMoJF9idXR0b25zLWxpc3QpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBIVE1MIGJ1dHRvbiBlbGVtZW50cyB3aXRoIHRoZSBgOmFjdGl2ZWAgcHNldWRvLWNsYXNzIGFwcGxpZWQuXG4vLy8gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2UgaXQgYXMgYVxuLy8vIHNlbGVjdG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtYWN0aXZlfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbjphY3RpdmUsXG4vLy8gICBbdHlwZT0nYnV0dG9uJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3Jlc2V0J106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3N1Ym1pdCddOmFjdGl2ZSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG5cbiRhbGwtYnV0dG9ucy1hY3RpdmU6IF9hc3NpZ24taW5wdXRzKCRfYnV0dG9ucy1saXN0LCBhY3RpdmUpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBIVE1MIGJ1dHRvbiBlbGVtZW50cyB3aXRoIHRoZSBgOmZvY3VzYCBwc2V1ZG8tY2xhc3MgYXBwbGllZC5cbi8vLyBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IGludGVycG9sYXRlIHRoZSB2YXJpYWJsZSAoYCN7fWApIHRvIHVzZSBpdCBhcyBhXG4vLy8gc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1mb2N1c30ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBbdHlwZT0nYnV0dG9uJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0ncmVzZXQnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdzdWJtaXQnXTpmb2N1cyB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG5cbiRhbGwtYnV0dG9ucy1mb2N1czogX2Fzc2lnbi1pbnB1dHMoJF9idXR0b25zLWxpc3QsIGZvY3VzKTtcblxuLy8vIEEgbGlzdCBvZiBhbGwgSFRNTCBidXR0b24gZWxlbWVudHMgd2l0aCB0aGUgYDpob3ZlcmAgcHNldWRvLWNsYXNzIGFwcGxpZWQuXG4vLy8gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2UgaXQgYXMgYVxuLy8vIHNlbGVjdG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgI3skYWxsLWJ1dHRvbnMtaG92ZXJ9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uOmhvdmVyLFxuLy8vICAgW3R5cGU9J2J1dHRvbiddOmhvdmVyLFxuLy8vICAgW3R5cGU9J3Jlc2V0J106aG92ZXIsXG4vLy8gICBbdHlwZT0nc3VibWl0J106aG92ZXIge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuXG4kYWxsLWJ1dHRvbnMtaG92ZXI6IF9hc3NpZ24taW5wdXRzKCRfYnV0dG9ucy1saXN0LCBob3Zlcik7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wveVA1aGlaXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTd2l0Y2hlcyBiZXR3ZWVuIHR3byBjb2xvcnMgYmFzZWQgb24gdGhlIGNvbnRyYXN0IHRvIGFub3RoZXIgY29sb3IuIEl04oCZc1xuLy8vIGxpa2UgYSBbdGVybmFyeSBvcGVyYXRvcl0gZm9yIGNvbG9yIGNvbnRyYXN0IGFuZCBjYW4gYmUgdXNlZnVsIGZvciBidWlsZGluZ1xuLy8vIGEgYnV0dG9uIHN5c3RlbS5cbi8vL1xuLy8vIFRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgY29udHJhc3QgcmF0aW8gaXMgYmFzZWQgb24gdGhlIFtXQ0FHIDIuMFxuLy8vIHNwZWNpZmljYXRpb25dLiBIb3dldmVyLCB3ZSBjYW5ub3QgZ3VhcmFudGVlIGZ1bGwgY29tcGxpYW5jZSwgdGhvdWdoIGFsbCBvZlxuLy8vIG91ciBtYW51YWwgdGVzdGluZyBwYXNzZWQuXG4vLy9cbi8vLyAgIFt0ZXJuYXJ5IG9wZXJhdG9yXTogaHR0cHM6Ly9nb28uZ2wvY2NmTHFpXG4vLy8gICBbV0NBRyAyLjAgc3BlY2lmaWNhdGlvbl06IGh0dHBzOi8vZ29vLmdsL3poUXVZQVxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGJhc2UtY29sb3Jcbi8vLyAgIFRoZSBjb2xvciB0byBldmFsdWF0ZSBsaWdodG5lc3MgYWdhaW5zdC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3J9ICRkYXJrLWNvbG9yIFsjMDAwXVxuLy8vICAgVGhlIGNvbG9yIHRvIGJlIG91dHB1dCB3aGVuIGAkYmFzZS1jb2xvcmAgaXMgbGlnaHQuIENhbiBhbHNvIGJlIHNldFxuLy8vICAgZ2xvYmFsbHkgdXNpbmcgdGhlIGBjb250cmFzdC1zd2l0Y2gtZGFyay1jb2xvcmAga2V5IGluIHRoZVxuLy8vICAgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7Y29sb3J9ICRsaWdodC1jb2xvciBbI2ZmZl1cbi8vLyAgIFRoZSBjb2xvciB0byBiZSBvdXRwdXQgd2hlbiBgJGJhc2UtY29sb3JgIGlzIGRhcmsuIENhbiBhbHNvIGJlIHNldFxuLy8vICAgZ2xvYmFsbHkgdXNpbmcgdGhlIGBjb250cmFzdC1zd2l0Y2gtbGlnaHQtY29sb3JgIGtleSBpbiB0aGVcbi8vLyAgIEJvdXJib24gc2V0dGluZ3MuXG4vLy9cbi8vLyBAcmV0dXJuIHtjb2xvcn1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgY29sb3I6IGNvbnRyYXN0LXN3aXRjaCgjYmFlNmU2KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBjb2xvcjogIzAwMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgJGJ1dHRvbi1jb2xvcjogIzJkNzJkOTtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1jb2xvcjtcbi8vLyAgICAgY29sb3I6IGNvbnRyYXN0LXN3aXRjaCgkYnV0dG9uLWNvbG9yLCAjMjIyLCAjZWVlKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ3MmQ5O1xuLy8vICAgICBjb2xvcjogI2VlZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2ZldGNoLWJvdXJib24tc2V0dGluZ1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfaXMtY29sb3Jcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2NvbnRyYXN0LXJhdGlvXG4vLy9cbi8vLyBAc2luY2UgNS4wLjBcblxuQGZ1bmN0aW9uIGNvbnRyYXN0LXN3aXRjaChcbiAgJGJhc2UtY29sb3IsXG4gICRkYXJrLWNvbG9yOiBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKFwiY29udHJhc3Qtc3dpdGNoLWRhcmstY29sb3JcIiksXG4gICRsaWdodC1jb2xvcjogX2ZldGNoLWJvdXJib24tc2V0dGluZyhcImNvbnRyYXN0LXN3aXRjaC1saWdodC1jb2xvclwiKVxuKSB7XG4gIEBpZiBub3QgX2lzLWNvbG9yKCRiYXNlLWNvbG9yKSB7XG4gICAgQGVycm9yIFwiYCN7JGJhc2UtY29sb3J9YCBpcyBub3QgYSB2YWxpZCBjb2xvciBmb3IgdGhlIGAkYmFzZS1jb2xvcmAgXCIgK1xuICAgICAgICAgICBcImFyZ3VtZW50IGluIHRoZSBgY29udHJhc3Qtc3dpdGNoYCBmdW5jdGlvbi5cIjtcbiAgfSBAZWxzZSBpZiBub3QgX2lzLWNvbG9yKCRkYXJrLWNvbG9yKSB7XG4gICAgQGVycm9yIFwiYCN7JGRhcmstY29sb3J9YCBpcyBub3QgYSB2YWxpZCBjb2xvciBmb3IgdGhlIGAkZGFyay1jb2xvcmAgXCIgK1xuICAgICAgICAgICBcImFyZ3VtZW50IGluIHRoZSBgY29udHJhc3Qtc3dpdGNoYCBmdW5jdGlvbi5cIjtcbiAgfSBAZWxzZSBpZiBub3QgX2lzLWNvbG9yKCRsaWdodC1jb2xvcikge1xuICAgIEBlcnJvciBcImAjeyRsaWdodC1jb2xvcn1gIGlzIG5vdCBhIHZhbGlkIGNvbG9yIGZvciB0aGUgYCRsaWdodC1jb2xvcmAgXCIgK1xuICAgICAgICAgICBcImFyZ3VtZW50IGluIHRoZSBgY29udHJhc3Qtc3dpdGNoYCBmdW5jdGlvbi5cIjtcbiAgfSBAZWxzZSB7XG4gICAgJC1jb250cmFzdC10by1kYXJrOiBfY29udHJhc3QtcmF0aW8oJGJhc2UtY29sb3IsICRkYXJrLWNvbG9yKTtcbiAgICAkLWNvbnRyYXN0LXRvLWxpZ2h0OiBfY29udHJhc3QtcmF0aW8oJGJhc2UtY29sb3IsICRsaWdodC1jb2xvcik7XG4gICAgJC1wcmVmZXItZGFyazogJC1jb250cmFzdC10by1kYXJrID49ICQtY29udHJhc3QtdG8tbGlnaHQ7XG5cbiAgICBAcmV0dXJuIGlmKCQtcHJlZmVyLWRhcmssICRkYXJrLWNvbG9yLCAkbGlnaHQtY29sb3IpO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcnVuY2F0ZXMgdGV4dCBhbmQgYWRkcyBhbiBlbGxpcHNpcyB0byByZXByZXNlbnQgb3ZlcmZsb3cuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlcn0gJHdpZHRoIFsxMDAlXVxuLy8vICAgVGhlIGBtYXgtd2lkdGhgIGZvciB0aGUgc3RyaW5nIHRvIHJlc3BlY3QgYmVmb3JlIGJlaW5nIHRydW5jYXRlZC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkZGlzcGxheSBbaW5saW5lLWJsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheS12YWx1ZSBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKFxuICAkd2lkdGg6IDEwMCUsXG4gICRkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbikge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyBhbiBgQGZvbnQtZmFjZWAgZGVjbGFyYXRpb24uIFlvdSBjYW4gY2hvb3NlIHRoZSBzcGVjaWZpYyBmaWxlXG4vLy8gZm9ybWF0cyB5b3UgbmVlZCB0byBvdXRwdXQ7IHRoZSBtaXhpbiBzdXBwb3J0cyBgZW90YCwgYHR0ZmAsIGBzdmdgLCBgd29mZjJgXG4vLy8gYW5kIGB3b2ZmYC4gVGhlIG1peGluIGFsc28gc3VwcG9ydHMgdXNhZ2Ugd2l0aCB0aGUgUmFpbHMgQXNzZXQgUGlwZWxpbmUsXG4vLy8gd2hpY2ggeW91IGNhbiBlbmFibGUgcGVyIHVzZSwgb3IgZ2xvYmFsbHkgaW4gdGhlIGAkYm91cmJvbigpYCBzZXR0aW5ncy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkZm9udC1mYW1pbHlcbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkZmlsZS1wYXRoXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJGFzc2V0LXBpcGVsaW5lIFtmYWxzZV1cbi8vLyAgIFNldCB0byBgdHJ1ZWAgaWYgeW914oCZcmUgdXNpbmcgdGhlIFJhaWxzIEFzc2V0IFBpcGVsaW5lIChwbGFjZSB0aGUgZm9udHNcbi8vLyAgIGluIGBhcHAvYXNzZXRzL2ZvbnRzL2ApLiBDYW4gYWxzbyBiZSBzZXQgZ2xvYmFsbHkgdXNpbmcgdGhlXG4vLy8gICBgcmFpbHMtYXNzZXQtcGlwZWxpbmVgIGtleSBpbiB0aGUgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nIHwgbGlzdH0gJGZpbGUtZm9ybWF0cyBbKFwidHRmXCIsIFwid29mZjJcIiwgXCJ3b2ZmXCIpXVxuLy8vICAgTGlzdCBvZiB0aGUgZm9udCBmaWxlIGZvcm1hdHMgdG8gaW5jbHVkZS4gQ2FuIGFsc28gYmUgc2V0IGdsb2JhbGx5IHVzaW5nXG4vLy8gICB0aGUgYGdsb2JhbC1mb250LWZpbGUtZm9ybWF0c2Aga2V5IGluIHRoZSBCb3VyYm9uIHNldHRpbmdzLlxuLy8vXG4vLy8gQGNvbnRlbnRcbi8vLyAgIEFueSBhZGRpdGlvbmFsIENTUyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGluY2x1ZGVkIGluIHRoZSBgQGluY2x1ZGVgXG4vLy8gICBkaXJlY3RpdmUgd2lsbCBiZSBvdXRwdXQgd2l0aGluIHRoZSBgQGZvbnQtZmFjZWAgZGVjbGFyYXRpb24sIGUuZy4geW91IGNhblxuLy8vICAgcGFzcyBpbiBgZm9udC13ZWlnaHRgLCBgZm9udC1zdHlsZWAgYW5kL29yIGB1bmljb2RlLXJhbmdlYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIEBpbmNsdWRlIGZvbnQtZmFjZShcbi8vLyAgICAgXCJzb3VyY2Utc2Fucy1wcm9cIixcbi8vLyAgICAgXCJmb250cy9zb3VyY2Utc2Fucy1wcm8tcmVndWxhclwiLFxuLy8vICAgICAoXCJ3b2ZmMlwiLCBcIndvZmZcIilcbi8vLyAgICkge1xuLy8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLy8gICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIEBmb250LWZhY2Uge1xuLy8vICAgICBmb250LWZhbWlseTogXCJzb3VyY2Utc2Fucy1wcm9cIjtcbi8vLyAgICAgc3JjOiB1cmwoXCJmb250cy9zb3VyY2Utc2Fucy1wcm8tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbi8vLyAgICAgICAgICB1cmwoXCJmb250cy9zb3VyY2Utc2Fucy1wcm8tcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4vLy8gICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vLyAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9mZXRjaC1ib3VyYm9uLXNldHRpbmdcblxuQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkZmlsZS1mb3JtYXRzOiBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKFwiZ2xvYmFsLWZvbnQtZmlsZS1mb3JtYXRzXCIpLFxuICAkYXNzZXQtcGlwZWxpbmU6IF9mZXRjaC1ib3VyYm9uLXNldHRpbmcoXCJyYWlscy1hc3NldC1waXBlbGluZVwiKVxuKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgc3JjOiBfZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0c1xuICAgICk7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC91U0p2WmVcbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWhlbHZldGljYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWhlbHZldGljYTogKFxuICBcIkhlbHZldGljYSBOZXVlXCIsXG4gIFwiSGVsdmV0aWNhXCIsXG4gIFwiQXJpYWxcIixcbiAgc2Fucy1zZXJpZixcbik7XG5cbi8vLyBBIHZhcmlhYmxlIHRoYXQgb3V0cHV0cyBhIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL1I1VXlZRVxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stbHVjaWRhLWdyYW5kZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkdlbmV2YVwiLCBcIlZlcmRhbmFcIiwgc2Fucy1zZXJpZjtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stbHVjaWRhLWdyYW5kZTogKFxuICBcIkx1Y2lkYSBHcmFuZGVcIixcbiAgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsXG4gIFwiR2VuZXZhXCIsXG4gIFwiVmVyZGFuYVwiLFxuICBzYW5zLXNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wveUdYV1NTXG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay12ZXJkYW5hO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stdmVyZGFuYTogKFxuICBcIlZlcmRhbmFcIixcbiAgXCJHZW5ldmFcIixcbiAgc2Fucy1zZXJpZixcbik7XG5cbi8vLyBBIHZhcmlhYmxlIHRoYXQgb3V0cHV0cyBhIHN5c3RlbSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvTEhSWklmXG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1zeXN0ZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJBdmVuaXIgTmV4dFwiLCBcIkF2ZW5pclwiLCBcIlNlZ29lIFVJXCIsIFwiTHVjaWRhIEdyYW5kZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiRmlyYSBTYW5zXCIsIFwiUm9ib3RvXCIsIFwiTm90b1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJDYW50YXJlbGxcIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJGcmFua2xpbiBHb3RoaWMgTWVkaXVtXCIsIFwiQ2VudHVyeSBHb3RoaWNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZjtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stc3lzdGVtOiAoXG4gIC1hcHBsZS1zeXN0ZW0sXG4gIEJsaW5rTWFjU3lzdGVtRm9udCxcbiAgXCJBdmVuaXIgTmV4dFwiLFxuICBcIkF2ZW5pclwiLFxuICBcIlNlZ29lIFVJXCIsXG4gIFwiTHVjaWRhIEdyYW5kZVwiLFxuICBcIkhlbHZldGljYSBOZXVlXCIsXG4gIFwiSGVsdmV0aWNhXCIsXG4gIFwiRmlyYSBTYW5zXCIsXG4gIFwiUm9ib3RvXCIsXG4gIFwiTm90b1wiLFxuICBcIkRyb2lkIFNhbnNcIixcbiAgXCJDYW50YXJlbGxcIixcbiAgXCJPeHlnZW5cIixcbiAgXCJVYnVudHVcIixcbiAgXCJGcmFua2xpbiBHb3RoaWMgTWVkaXVtXCIsXG4gIFwiQ2VudHVyeSBHb3RoaWNcIixcbiAgXCJMaWJlcmF0aW9uIFNhbnNcIixcbiAgc2Fucy1zZXJpZixcbik7XG5cbi8vLyBBIHZhcmlhYmxlIHRoYXQgb3V0cHV0cyBhIEdhcmFtb25kIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9RUUZFa1Zcbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWdhcmFtb25kO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkdhcmFtb25kXCIsIFwiQmFza2VydmlsbGVcIiwgXCJCYXNrZXJ2aWxsZSBPbGQgRmFjZVwiLCBcIkhvZWZsZXIgVGV4dFwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbi8vLyAgIH1cblxuJGZvbnQtc3RhY2stZ2FyYW1vbmQ6IChcbiAgXCJHYXJhbW9uZFwiLFxuICBcIkJhc2tlcnZpbGxlXCIsXG4gIFwiQmFza2VydmlsbGUgT2xkIEZhY2VcIixcbiAgXCJIb2VmbGVyIFRleHRcIixcbiAgXCJUaW1lcyBOZXcgUm9tYW5cIixcbiAgc2VyaWYsXG4pO1xuXG4vLy8gQSB2YXJpYWJsZSB0aGF0IG91dHB1dHMgYSBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC93dHpWUHlcbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWdlb3JnaWE7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiR2VvcmdpYVwiLCBcIlRpbWVzXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1nZW9yZ2lhOiAoXG4gIFwiR2VvcmdpYVwiLFxuICBcIlRpbWVzXCIsXG4gIFwiVGltZXMgTmV3IFJvbWFuXCIsXG4gIHNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgSG9lZmxlciBUZXh0IGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9uN1U3enhcbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWhvZWZsZXItdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgXCJCYXNrZXJ2aWxsZSBPbGQgRmFjZVwiLCBcIkdhcmFtb25kXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1ob2VmbGVyLXRleHQ6IChcbiAgXCJIb2VmbGVyIFRleHRcIixcbiAgXCJCYXNrZXJ2aWxsZSBPbGQgRmFjZVwiLFxuICBcIkdhcmFtb25kXCIsXG4gIFwiVGltZXMgTmV3IFJvbWFuXCIsXG4gIHNlcmlmLFxuKTtcblxuLy8vIEEgdmFyaWFibGUgdGhhdCBvdXRwdXRzIGEgQ29uc29sYXMgZm9udCBzdGFjay5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL2lLcnRxdlxuLy8vXG4vLy8gQHR5cGUgbGlzdFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stY29uc29sYXM7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiQ29uc29sYXNcIiwgXCJtb25hY29cIiwgbW9ub3NwYWNlO1xuLy8vICAgfVxuXG4kZm9udC1zdGFjay1jb25zb2xhczogKFxuICBcIkNvbnNvbGFzXCIsXG4gIFwibW9uYWNvXCIsXG4gIG1vbm9zcGFjZSxcbik7XG5cbi8vLyBBIHZhcmlhYmxlIHRoYXQgb3V0cHV0cyBhIENvdXJpZXIgTmV3IGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9iSGZXTVBcbi8vL1xuLy8vIEB0eXBlIGxpc3Rcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWNvdXJpZXItbmV3O1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCIsIFwiQ291cmllclwiLCBcIkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXJcIiwgXCJMdWNpZGEgVHlwZXdyaXRlclwiLCBtb25vc3BhY2U7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLWNvdXJpZXItbmV3OiAoXG4gIFwiQ291cmllciBOZXdcIixcbiAgXCJDb3VyaWVyXCIsXG4gIFwiTHVjaWRhIFNhbnMgVHlwZXdyaXRlclwiLFxuICBcIkx1Y2lkYSBUeXBld3JpdGVyXCIsXG4gIG1vbm9zcGFjZSxcbik7XG5cbi8vLyBBIHZhcmlhYmxlIHRoYXQgb3V0cHV0cyBhIE1vbmFjbyBmb250IHN0YWNrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvOVBnS0RPXG4vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1tb25hY287XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1mYW1pbHk6IFwiTW9uYWNvXCIsIFwiQ29uc29sYXNcIiwgXCJMdWNpZGEgQ29uc29sZVwiLCBtb25vc3BhY2U7XG4vLy8gICB9XG5cbiRmb250LXN0YWNrLW1vbmFjbzogKFxuICBcIk1vbmFjb1wiLFxuICBcIkNvbnNvbGFzXCIsXG4gIFwiTHVjaWRhIENvbnNvbGVcIixcbiAgbW9ub3NwYWNlLFxuKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZSBpbnN0ZWFkLiBTb21lXG4vLy8gZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9nb28uZ2wvRXZMUkl1XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cblxuQG1peGluIGhpZGUtdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gSGlkZXMgYW4gZWxlbWVudCB2aXN1YWxseSB3aGlsZSBzdGlsbCBhbGxvd2luZyB0aGUgY29udGVudCB0byBiZSBhY2Nlc3NpYmxlXG4vLy8gdG8gYXNzaXN0aXZlIHRlY2hub2xvZ3ksIGUuZy4gc2NyZWVuIHJlYWRlcnMuIFBhc3NpbmcgYHVuaGlkZWAgd2lsbCByZXZlcnNlXG4vLy8gdGhlIGFmZmVjdHMgb2YgdGhlIGhpZGluZywgd2hpY2ggaXMgaGFuZHkgZm9yIHNob3dpbmcgdGhlIGVsZW1lbnQgb24gZm9jdXMsXG4vLy8gZm9yIGV4YW1wbGUuXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dvby5nbC9WZjFUR25cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkdG9nZ2xlIFtoaWRlXVxuLy8vICAgQWNjZXB0cyBgaGlkZWAgb3IgYHVuaGlkZWAuIGB1bmhpZGVgIHJldmVyc2VzIHRoZSBhZmZlY3RzIG9mIGBoaWRlYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS12aXN1YWxseTtcbi8vL1xuLy8vICAgICAmOmFjdGl2ZSxcbi8vLyAgICAgJjpmb2N1cyB7XG4vLy8gICAgICAgQGluY2x1ZGUgaGlkZS12aXN1YWxseShcInVuaGlkZVwiKTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlcjogMDtcbi8vLyAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuLy8vICAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuLy8vICAgICBoZWlnaHQ6IDFweDtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgcGFkZGluZzogMDtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB3aWR0aDogMXB4O1xuLy8vICAgfVxuLy8vXG4vLy8gICAuaGlkZS12aXN1YWxseTphY3RpdmUsXG4vLy8gICAuaGlkZS12aXN1YWxseTpmb2N1cyB7XG4vLy8gICAgIGNsaXA6IGF1dG87XG4vLy8gICAgIGNsaXAtcGF0aDogbm9uZTtcbi8vLyAgICAgaGVpZ2h0OiBhdXRvO1xuLy8vICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbi8vLyAgICAgcG9zaXRpb246IHN0YXRpYztcbi8vLyAgICAgd2lkdGg6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyBAc2luY2UgNS4wLjBcblxuQG1peGluIGhpZGUtdmlzdWFsbHkoJHRvZ2dsZTogXCJoaWRlXCIpIHtcbiAgQGlmIG5vdCBpbmRleChcImhpZGVcIiBcInVuaGlkZVwiLCAkdG9nZ2xlKSB7XG4gICAgQGVycm9yIFwiYCN7JHRvZ2dsZX1gIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB0aGUgYCR0b2dnbGVgIGFyZ3VtZW50IGluIFwiICtcbiAgICAgICAgICAgXCJ0aGUgYGhpZGUtdmlzdWFsbHlgIG1peGluLiBNdXN0IGJlIGVpdGhlciBgaGlkZWAgb3IgYHVuaGlkZWAuXCI7XG4gIH0gQGVsc2UgaWYgJHRvZ2dsZSA9PSBcImhpZGVcIiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMXB4O1xuICB9IEBlbHNlIGlmICR0b2dnbGUgPT0gXCJ1bmhpZGVcIiB7XG4gICAgY2xpcDogYXV0bztcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgY29uY2lzZSwgb25lLWxpbmUgbWV0aG9kIGZvciBzZXR0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIGVkZ2VzXG4vLy8gb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGVkZ2VzIG9mIHRoZSBib3ggd2l0aCBzdGFuZGFyZFxuLy8vIENTUyBzaG9ydGhhbmQuXG4vLy9cbi8vLyBAYXJndW1lbnQge2xpc3R9ICR2YWx1ZXNcbi8vLyAgIExpc3Qgb2YgbWFyZ2luIHZhbHVlczsgYWNjZXB0cyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCBhdXRvKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogYXV0bztcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4oMTBweCAzZW0gMjB2aCBudWxsKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDNlbTtcbi8vLyAgICAgbWFyZ2luLXRvcDogMTBweDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gX2RpcmVjdGlvbmFsLXByb3BlcnR5XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlcykge1xuICBAaW5jbHVkZSBfZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBudWxsLCAkdmFsdWVzKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEluY3JlbWVudHMgdXAgb3IgZG93biBhIGRlZmluZWQgc2NhbGUgYW5kIHJldHVybnMgYW4gYWRqdXN0ZWQgdmFsdWUuIFRoaXNcbi8vLyBoZWxwcyBlc3RhYmxpc2ggY29uc2lzdGVudCBtZWFzdXJlbWVudHMgYW5kIHNwYWNpYWwgcmVsYXRpb25zaGlwcyB0aHJvdWdob3V0XG4vLy8geW91ciBwcm9qZWN0LiBXZSBwcm92aWRlIGEgbGlzdCBvZiBjb21tb25seSB1c2VkIHNjYWxlcyBhc1xuLy8vIFtwcmUtZGVmaW5lZCB2YXJpYWJsZXNdW3NjYWxlc10uXG4vLy9cbi8vLyBbc2NhbGVzXTogaHR0cHM6Ly9naXRodWIuY29tL3Rob3VnaHRib3QvYm91cmJvbi9ibG9iL21hc3Rlci9jb3JlL2JvdXJib24vc2V0dGluZ3MvX3NjYWxlcy5zY3NzXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAodW5pdGxlc3MpfSAkaW5jcmVtZW50XG4vLy8gICBIb3cgbWFueSBzdGVwcyB0byBpbmNyZW1lbnQgdXAgb3IgZG93biB0aGUgc2NhbGUuXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAod2l0aCB1bml0KSB8IGxpc3R9ICR2YWx1ZSBbMWVtXVxuLy8vICAgVGhlIGJhc2UgdmFsdWUgdGhlIHNjYWxlIHN0YXJ0cyBhdC4gQ2FuIGFsc28gYmUgc2V0IGdsb2JhbGx5IHVzaW5nIHRoZVxuLy8vICAgYG1vZHVsYXItc2NhbGUtYmFzZWAga2V5IGluIHRoZSBCb3VyYm9uIHNldHRpbmdzLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHVuaXRsZXNzKX0gJHJhdGlvIFsxLjI1XVxuLy8vICAgVGhlIHJhdGlvIHRoZSBzY2FsZSBpcyBidWlsdCBvbi4gQ2FuIGFsc28gYmUgc2V0IGdsb2JhbGx5IHVzaW5nIHRoZVxuLy8vICAgYG1vZHVsYXItc2NhbGUtcmF0aW9gIGtleSBpbiB0aGUgQm91cmJvbiBzZXR0aW5ncy5cbi8vL1xuLy8vIEByZXR1cm4ge251bWJlciAod2l0aCB1bml0KX1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDIpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtc2l6ZTogMS41NjI1ZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogbW9kdWxhci1zY2FsZSgzLCAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMy45MDYyNWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMywgMWVtIDEuNmVtLCAkbWFqb3Itc2V2ZW50aCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZm9udC1zaXplOiAzZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAvLyBHbG9iYWxseSBjaGFuZ2UgdGhlIGJhc2UgcmF0aW9cbi8vLyAgICRib3VyYm9uOiAoXG4vLy8gICAgIFwibW9kdWxhci1zY2FsZS1yYXRpb1wiOiAxLjIsXG4vLy8gICApO1xuLy8vXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgzKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBmb250LXNpemU6IDEuNzI4ZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9mZXRjaC1ib3VyYm9uLXNldHRpbmdcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoXG4gICRpbmNyZW1lbnQsXG4gICR2YWx1ZTogX2ZldGNoLWJvdXJib24tc2V0dGluZyhcIm1vZHVsYXItc2NhbGUtYmFzZVwiKSxcbiAgJHJhdGlvOiBfZmV0Y2gtYm91cmJvbi1zZXR0aW5nKFwibW9kdWxhci1zY2FsZS1yYXRpb1wiKVxuKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyB0aGUgYG92ZXJmbG93LXdyYXBgIHByb3BlcnR5IGFuZCBpdHMgbGVnYWN5IG5hbWUgYHdvcmQtd3JhcGAgdG9cbi8vLyBzdXBwb3J0IGJyb3dzZXJzIHRoYXQgZG8gbm90IHlldCB1c2UgYG92ZXJmbG93LXdyYXBgLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICR3cmFwIFticmVhay13b3JkXVxuLy8vICAgQWNjZXB0ZWQgQ1NTIHZhbHVlcyBhcmUgYG5vcm1hbGAsIGBicmVhay13b3JkYCwgYGluaGVyaXRgLCBgaW5pdGlhbGAsXG4vLy8gICBvciBgdW5zZXRgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSBvdmVyZmxvdy13cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgIH1cblxuQG1peGluIG92ZXJmbG93LXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgd29yZC13cmFwOiAkd3JhcDtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UgbWV0aG9kIGZvciB0YXJnZXRpbmcgYHBhZGRpbmdgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGFcbi8vLyBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiBwYWRkaW5nIHZhbHVlczsgYWNjZXB0cyBDU1Mgc2hvcnRoYW5kLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIDFyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4vLy8gICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBwYWRkaW5nKDEwdmggbnVsbCAxMHB4IDUlKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4vLy8gICAgIHBhZGRpbmctbGVmdDogNSU7XG4vLy8gICAgIHBhZGRpbmctdG9wOiAxMHZoO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBfZGlyZWN0aW9uYWwtcHJvcGVydHlcblxuQG1peGluIHBhZGRpbmcoJHZhbHVlcykge1xuICBAaW5jbHVkZSBfZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgbnVsbCwgJHZhbHVlcyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbmluZ1xuLy8vIHByb3BlcnRpZXM6IGBwb3NpdGlvbmAsIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCBhbmQgYGxlZnRgLiBVc2UgYSBgbnVsbGBcbi8vLyB2YWx1ZSB0byDigJxza2lw4oCdIGFuIGVkZ2Ugb2YgdGhlIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkcG9zaXRpb25cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkYm94LWVkZ2UtdmFsdWVzXG4vLy8gICBMaXN0IG9mIGxlbmd0aHM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICAgIHJpZ2h0OiAwO1xuLy8vICAgICBib3R0b206IDA7XG4vLy8gICAgIGxlZnQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1sZW5ndGhcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX3VucGFjay1zaG9ydGhhbmRcblxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICRib3gtZWRnZS12YWx1ZXNcbikge1xuICAkYm94LWVkZ2UtdmFsdWVzOiBfdW5wYWNrLXNob3J0aGFuZCgkYm94LWVkZ2UtdmFsdWVzKTtcbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkYm94LWVkZ2UtdmFsdWVzLCAxKSxcbiAgICByaWdodDogIG50aCgkYm94LWVkZ2UtdmFsdWVzLCAyKSxcbiAgICBib3R0b206IG50aCgkYm94LWVkZ2UtdmFsdWVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkYm94LWVkZ2UtdmFsdWVzLCA0KSxcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIF9pcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmVuZG9yIHByZWZpeGVzLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICR2YWx1ZVxuLy8vICAgVmFsdWUgdG8gdXNlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFZlbmRvciBwcmVmaXhlcyB0byBvdXRwdXQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsIG5vbmUsIChcIndlYmtpdFwiLCBcIm1velwiKSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuLy8vICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4vLy8gICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4vLy8gICB9XG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcblxuQG1peGluIHByZWZpeGVyKFxuICAkcHJvcGVydHksXG4gICR2YWx1ZSxcbiAgJHByZWZpeGVzOiAoKVxuKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAje1wiLVwiICsgJHByZWZpeCArIFwiLVwiICsgJHByb3BlcnR5fTogJHZhbHVlO1xuICB9XG4gICN7JHByb3BlcnR5fTogJHZhbHVlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAYXJndW1lbnQge251bWJlciAocGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQHJldHVybiB7Y29sb3J9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHNoYWRlKFxuICAkY29sb3IsXG4gICRwZXJjZW50XG4pIHtcbiAgQGlmIG5vdCBfaXMtY29sb3IoJGNvbG9yKSB7XG4gICAgQGVycm9yIFwiYCN7JGNvbG9yfWAgaXMgbm90IGEgdmFsaWQgY29sb3IgZm9yIHRoZSBgJGNvbG9yYCBhcmd1bWVudCBpbiBcIiArXG4gICAgICAgICAgIFwidGhlIGBzaGFkZWAgbWl4aW4uXCI7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTZXRzIHRoZSBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBvZiB0aGUgZWxlbWVudCBpbiBvbmUgc3RhdGVtZW50LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCkgfCBzdHJpbmd9ICR3aWR0aFxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHdpdGggdW5pdCkgfCBzdHJpbmd9ICRoZWlnaHQgWyR3aWR0aF1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAyZW07XG4vLy8gICAgIGhlaWdodDogMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZShhdXRvLCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgLnNlY29uZC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IGF1dG87XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX2lzLXNpemVcblxuQG1peGluIHNpemUoXG4gICR3aWR0aCxcbiAgJGhlaWdodDogJHdpZHRoXG4pIHtcbiAgQGlmIF9pcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgYXJndW1lbnQgXCIgK1xuICAgICAgICAgICBcImluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgX2lzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgYXJndW1lbnQgXCIgK1xuICAgICAgICAgICBcImluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgbnVtYmVyLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXJ9ICR2YWx1ZVxuLy8vXG4vLy8gQHJldHVybiB7bnVtYmVyICh1bml0bGVzcyl9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0KDEwZW0pO1xuLy8vXG4vLy8gICAvLyBPdXRwdXRcbi8vLyAgICRkaW1lbnNpb246IDEwO1xuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBAdHlwZSBsaXN0XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9hc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRfdGV4dC1pbnB1dHMtbGlzdFxuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBfdGV4dC1iYXNlZF8gSFRNTCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3Rcbi8vLyBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2UgaXQgYXMgYSBzZWxlY3Rvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBbdHlwZT0nY29sb3InXSxcbi8vLyAgIFt0eXBlPSdkYXRlJ10sXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUnXSxcbi8vLyAgIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuLy8vICAgW3R5cGU9J2VtYWlsJ10sXG4vLy8gICBbdHlwZT0nbW9udGgnXSxcbi8vLyAgIFt0eXBlPSdudW1iZXInXSxcbi8vLyAgIFt0eXBlPSdwYXNzd29yZCddLFxuLy8vICAgW3R5cGU9J3NlYXJjaCddLFxuLy8vICAgW3R5cGU9J3RlbCddLFxuLy8vICAgW3R5cGU9J3RleHQnXSxcbi8vLyAgIFt0eXBlPSd0aW1lJ10sXG4vLy8gICBbdHlwZT0ndXJsJ10sXG4vLy8gICBbdHlwZT0nd2VlayddLFxuLy8vICAgaW5wdXQ6bm90KFt0eXBlXSksXG4vLy8gICB0ZXh0YXJlYSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4vLy8gICB9XG5cbiRhbGwtdGV4dC1pbnB1dHM6IF9hc3NpZ24taW5wdXRzKCRfdGV4dC1pbnB1dHMtbGlzdCk7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIF90ZXh0LWJhc2VkXyBIVE1MIGlucHV0cyB3aXRoIHRoZSBgOmFjdGl2ZWAgcHNldWRvLWNsYXNzXG4vLy8gYXBwbGllZC4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2Vcbi8vLyBpdCBhcyBhIHNlbGVjdG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICBbdHlwZT0nY29sb3InXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nZGF0ZSddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSdkYXRldGltZSddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSdlbWFpbCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSdtb250aCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSdudW1iZXInXTphY3RpdmUsXG4vLy8gICBbdHlwZT0ncGFzc3dvcmQnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0nc2VhcmNoJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3RlbCddOmFjdGl2ZSxcbi8vLyAgIFt0eXBlPSd0ZXh0J106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3RpbWUnXTphY3RpdmUsXG4vLy8gICBbdHlwZT0ndXJsJ106YWN0aXZlLFxuLy8vICAgW3R5cGU9J3dlZWsnXTphY3RpdmUsXG4vLy8gICBpbnB1dDpub3QoW3R5cGVdKTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuLy8vICAgfVxuXG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogX2Fzc2lnbi1pbnB1dHMoJF90ZXh0LWlucHV0cy1saXN0LCBhY3RpdmUpO1xuXG4vLy8gQSBsaXN0IG9mIGFsbCBfdGV4dC1iYXNlZF8gSFRNTCBpbnB1dHMgd2l0aCB0aGUgYDpmb2N1c2AgcHNldWRvLWNsYXNzXG4vLy8gYXBwbGllZC4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2Vcbi8vLyBpdCBhcyBhIHNlbGVjdG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTY1YzA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuLy8vICAgW3R5cGU9J2RhdGUnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nZW1haWwnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSdtb250aCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J251bWJlciddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0ndGVsJ106Zm9jdXMsXG4vLy8gICBbdHlwZT0ndGV4dCddOmZvY3VzLFxuLy8vICAgW3R5cGU9J3RpbWUnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSd1cmwnXTpmb2N1cyxcbi8vLyAgIFt0eXBlPSd3ZWVrJ106Zm9jdXMsXG4vLy8gICBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi8vLyAgIHRleHRhcmVhOmZvY3VzIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzE1NjVjMDtcbi8vLyAgIH1cblxuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogX2Fzc2lnbi1pbnB1dHMoJF90ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG5cbi8vLyBBIGxpc3Qgb2YgYWxsIF90ZXh0LWJhc2VkXyBIVE1MIGlucHV0cyB3aXRoIHRoZSBgOmhvdmVyYCBwc2V1ZG8tY2xhc3Ncbi8vLyBhcHBsaWVkLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IGludGVycG9sYXRlIHRoZSB2YXJpYWJsZSAoYCN7fWApIHRvIHVzZVxuLy8vIGl0IGFzIGEgc2VsZWN0b3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgW3R5cGU9J2NvbG9yJ106aG92ZXIsXG4vLy8gICBbdHlwZT0nZGF0ZSddOmhvdmVyLFxuLy8vICAgW3R5cGU9J2RhdGV0aW1lJ106aG92ZXIsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdlbWFpbCddOmhvdmVyLFxuLy8vICAgW3R5cGU9J21vbnRoJ106aG92ZXIsXG4vLy8gICBbdHlwZT0nbnVtYmVyJ106aG92ZXIsXG4vLy8gICBbdHlwZT0ncGFzc3dvcmQnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSdzZWFyY2gnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSd0ZWwnXTpob3Zlcixcbi8vLyAgIFt0eXBlPSd0ZXh0J106aG92ZXIsXG4vLy8gICBbdHlwZT0ndGltZSddOmhvdmVyLFxuLy8vICAgW3R5cGU9J3VybCddOmhvdmVyLFxuLy8vICAgW3R5cGU9J3dlZWsnXTpob3Zlcixcbi8vLyAgIGlucHV0Om5vdChbdHlwZV0pOmhvdmVyLFxuLy8vICAgdGV4dGFyZWE6aG92ZXIge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuLy8vICAgfVxuXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiBfYXNzaWduLWlucHV0cygkX3RleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcblxuLy8vIEEgbGlzdCBvZiBhbGwgX3RleHQtYmFzZWRfIEhUTUwgaW5wdXRzIHdpdGggdGhlIGA6aW52YWxpZGAgcHNldWRvLWNsYXNzXG4vLy8gYXBwbGllZC4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCBpbnRlcnBvbGF0ZSB0aGUgdmFyaWFibGUgKGAje31gKSB0byB1c2Vcbi8vLyBpdCBhcyBhIHNlbGVjdG9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWludmFsaWR9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gQ1NTIE91dHB1dFxuLy8vICAgW3R5cGU9J2NvbG9yJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSdkYXRlJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSdkYXRldGltZSddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J2VtYWlsJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSdtb250aCddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nbnVtYmVyJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSdwYXNzd29yZCddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nc2VhcmNoJ106aW52YWxpZCxcbi8vLyAgIFt0eXBlPSd0ZWwnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J3RleHQnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J3RpbWUnXTppbnZhbGlkLFxuLy8vICAgW3R5cGU9J3VybCddOmludmFsaWQsXG4vLy8gICBbdHlwZT0nd2VlayddOmludmFsaWQsXG4vLy8gICBpbnB1dDpub3QoW3R5cGVdKTppbnZhbGlkLFxuLy8vICAgdGV4dGFyZWE6aW52YWxpZCB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XG4vLy8gICB9XG5cbiRhbGwtdGV4dC1pbnB1dHMtaW52YWxpZDogX2Fzc2lnbi1pbnB1dHMoJF90ZXh0LWlucHV0cy1saXN0LCBpbnZhbGlkKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBZnRlckNvbW1hLCBVbm5lY2Vzc2FyeU1hbnRpc3NhLCBUcmFpbGluZ1plcm9cblxuLy8vL1xuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy5cbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ29vLmdsL3A4dTZTS1xuLy8vXG4vLy8gQHR5cGUgc3RyaW5nXG4vLy8vXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXG4vLy9cbi8vLyBAYXJndW1lbnQge2NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyIChwZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAcmV0dXJuIHtjb2xvcn1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG5cbkBmdW5jdGlvbiB0aW50KFxuICAkY29sb3IsXG4gICRwZXJjZW50XG4pIHtcbiAgQGlmIG5vdCBfaXMtY29sb3IoJGNvbG9yKSB7XG4gICAgQGVycm9yIFwiYCN7JGNvbG9yfWAgaXMgbm90IGEgdmFsaWQgY29sb3IgZm9yIHRoZSBgJGNvbG9yYCBhcmd1bWVudCBpbiBcIiArXG4gICAgICAgICAgIFwidGhlIGB0aW50YCBtaXhpbi5cIjtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyBhIHRyaWFuZ2xlIHBvaW50aW5nIGluIGEgc3BlY2lmaWVkIGRpcmVjdGlvbi5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkZGlyZWN0aW9uXG4vLy8gICBUaGUgZGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBzaG91bGQgcG9pbnQuIEFjY2VwdHMgYHVwYCwgYHVwLXJpZ2h0YCxcbi8vLyAgIGByaWdodGAsIGBkb3duLXJpZ2h0YCwgYGRvd25gLCBgZG93bi1sZWZ0YCwgYGxlZnRgIG9yIGB1cC1sZWZ0YC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkd2lkdGhcbi8vLyAgIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bnVtYmVyICh3aXRoIHVuaXQpfSAkaGVpZ2h0XG4vLy8gICBIZWlnaHQgb2YgdGhlIHRyaWFuZ2xlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtjb2xvcn0gJGNvbG9yXG4vLy8gICBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICY6OmJlZm9yZSB7XG4vLy8gICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoXCJ1cFwiLCAycmVtLCAxcmVtLCAjYjI1YzljKTtcbi8vLyAgICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjpiZWZvcmUge1xuLy8vICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8vICAgICBoZWlnaHQ6IDA7XG4vLy8gICAgIHdpZHRoOiAwO1xuLy8vICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNiMjVjOWM7XG4vLy8gICAgIGJvcmRlci13aWR0aDogMCAxcmVtIDFyZW07XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICB9XG5cbkBtaXhpbiB0cmlhbmdsZShcbiAgJGRpcmVjdGlvbixcbiAgJHdpZHRoLFxuICAkaGVpZ2h0LFxuICAkY29sb3Jcbikge1xuICBAaWYgbm90IGluZGV4KFxuICAgIFwidXBcIiBcInVwLXJpZ2h0XCIgXCJyaWdodFwiIFwiZG93bi1yaWdodFwiIFwiZG93blwiIFwiZG93bi1sZWZ0XCIgXCJsZWZ0XCIgXCJ1cC1sZWZ0XCIsXG4gICAgJGRpcmVjdGlvblxuICApIHtcbiAgICBAZXJyb3IgXCJEaXJlY3Rpb24gbXVzdCBiZSBgdXBgLCBgdXAtcmlnaHRgLCBgcmlnaHRgLCBgZG93bi1yaWdodGAsIFwiICtcbiAgICAgICAgICAgXCJgZG93bmAsIGBkb3duLWxlZnRgLCBgbGVmdGAgb3IgYHVwLWxlZnRgLlwiO1xuICB9IEBlbHNlIGlmIG5vdCBfaXMtY29sb3IoJGNvbG9yKSB7XG4gICAgQGVycm9yIFwiYCN7JGNvbG9yfWAgaXMgbm90IGEgdmFsaWQgY29sb3IgZm9yIHRoZSBgJGNvbG9yYCBhcmd1bWVudCBpbiBcIiArXG4gICAgICAgICAgIFwidGhlIGB0cmlhbmdsZWAgbWl4aW4uXCI7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJ1cFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkd2lkdGggLyAyKSAkaGVpZ2h0O1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoICR3aWR0aCAwO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0IC8gMikgMCAoJGhlaWdodCAvIDIpICR3aWR0aDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAkd2lkdGggJHdpZHRoO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAoJHdpZHRoIC8gMikgMDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLWxlZnRcIiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoIDAgMCAkd2lkdGg7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodCAvIDIpICR3aWR0aCAoJGhlaWdodCAvIDIpIDA7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidXAtbGVmdFwiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJHdpZHRoIDAgMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2ZW5kb3IgcHJlZml4ZXMgZm9yIHZhbHVlcy5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHVzZS5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHByZWZpeC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHByZWZpeGVzXG4vLy8gICBWZW5kb3IgcHJlZml4ZXMgdG8gb3V0cHV0LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSB2YWx1ZS1wcmVmaXhlcihjdXJzb3IsIGdyYWIsIChcIndlYmtpdFwiLCBcIm1velwiKSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4vLy8gICAgIGN1cnNvcjogLW1vei1ncmFiO1xuLy8vICAgICBjdXJzb3I6IGdyYWI7XG4vLy8gICB9XG4vLy9cbi8vLyBAYXV0aG9yIE1hdHRoZXcgVG9iaWFzelxuXG5AbWl4aW4gdmFsdWUtcHJlZml4ZXIoXG4gICRwcm9wZXJ0eSxcbiAgJHZhbHVlLFxuICAkcHJlZml4ZXM6ICgpXG4pIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByb3BlcnR5fTogI3tcIi1cIiArICRwcmVmaXggKyBcIi1cIiArICR2YWx1ZX07XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG59XG4iLCIvKlxyXG5odG1sNWRvY3Rvci5jb20gUmVzZXQgU3R5bGVzaGVldFxyXG52MS42LjFcclxuTGFzdCBVcGRhdGVkOiAyMDEwLTA5LTE3XHJcbkF1dGhvcjogUmljaGFyZCBDbGFyayAtIGh0dHA6Ly9yaWNoY2xhcmtkZXNpZ24uY29tXHJcblR3aXR0ZXI6IEByaWNoX2NsYXJrXHJcbiovXHJcblxyXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIG9iamVjdCwgaWZyYW1lLFxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXHJcbmFiYnIsIGFkZHJlc3MsIGNpdGUsIGNvZGUsXHJcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgc2FtcCxcclxuc21hbGwsIHN0cm9uZywgc3ViLCBzdXAsIHZhcixcclxuYiwgaSxcclxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcclxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXHJcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxyXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXHJcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSxcclxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgcGFkZGluZzowO1xyXG4gICAgYm9yZGVyOjA7XHJcbiAgICBvdXRsaW5lOjA7XHJcbiAgICBmb250LXNpemU6MTAwJTtcclxuICAgIHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO1xyXG4gICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBsaW5lLWhlaWdodDoxO1xyXG59XHJcblxyXG5hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsXHJcbmZvb3RlcixoZWFkZXIsaGdyb3VwLG1lbnUsbmF2LHNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuXHJcbm5hdiB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUsIHEge1xyXG4gICAgcXVvdGVzOm5vbmU7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSwgcTphZnRlciB7XHJcbiAgICBjb250ZW50OicnO1xyXG4gICAgY29udGVudDpub25lO1xyXG59XHJcblxyXG5hIHtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgcGFkZGluZzowO1xyXG4gICAgZm9udC1zaXplOjEwMCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtcclxuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIGNoYW5nZSBjb2xvdXJzIHRvIHN1aXQgeW91ciBuZWVkcyAqL1xyXG5pbnMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmY5O1xyXG4gICAgY29sb3I6IzAwMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG59XHJcblxyXG4vKiBjaGFuZ2UgY29sb3VycyB0byBzdWl0IHlvdXIgbmVlZHMgKi9cclxubWFyayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZjk7XHJcbiAgICBjb2xvcjojMDAwO1xyXG4gICAgZm9udC1zdHlsZTppdGFsaWM7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG59XHJcblxyXG5kZWwge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbmFiYnJbdGl0bGVdLCBkZm5bdGl0bGVdIHtcclxuICAgIGJvcmRlci1ib3R0b206MXB4IGRvdHRlZDtcclxuICAgIGN1cnNvcjpoZWxwO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzowO1xyXG59XHJcblxyXG4vKiBjaGFuZ2UgYm9yZGVyIGNvbG91ciB0byBzdWl0IHlvdXIgbmVlZHMgKi9cclxuaHIge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIGhlaWdodDoxcHg7XHJcbiAgICBib3JkZXI6MDtcclxuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICNjY2NjY2M7XHJcbiAgICBtYXJnaW46MWVtIDA7XHJcbiAgICBwYWRkaW5nOjA7XHJcbn1cclxuXHJcbmlucHV0LCBzZWxlY3Qge1xyXG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG59XHJcbiIsIi8qIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBjb2xvcnNcbiRibHVlOiAjMkUzM0JBO1xuJHdoaXRlOiAjRkZGO1xuJGdyYXk6ICNFMkU5RUQ7XG4iLCJAbWl4aW4gbWVkaWEtcXVlcmllcygkd2lkdGgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuW29wYWNpdHldXG4qL1xuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAkb3BhY2l0eS1pZTogJG9wYWNpdHkgKiAxMDA7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTsgLy9JRThcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltib3JkZXItcmFkaXVzXVxuKi9cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bdHJhbnNpdGlvbl1cbiovXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAgIC1tb3otdHJhbnNpdGlvbjogICAgJHRyYW5zaXRpb247XG4gICAgLW8tdHJhbnNpdGlvbjogICAgICAkdHJhbnNpdGlvbjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIHRyYW5zaXRpb246ICAgICAgICAgJHRyYW5zaXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHkuLi4pIHtcbiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6ICAgICRwcm9wZXJ0eTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAgICAgICRwcm9wZXJ0eTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAgICAgICAgICRwcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi4uLikge1xuICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogICAgJGR1cmF0aW9uO1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6ICAgICAgJGR1cmF0aW9uO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICAgICAgICAgJGR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmcuLi4pIHtcbiAgICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAgICAkdGltaW5nO1xuICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAgICAgICR0aW1pbmc7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogICAgICAgICAkdGltaW5nO1xufVxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5Li4uKSB7XG4gICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAgICAkZGVsYXk7XG4gICAgLW8tdHJhbnNpdGlvbi1kZWxheTogICAgICAkZGVsYXk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogICAgICAgICAkZGVsYXk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bdHJhbnNmb3JtXVxuKi9cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltyb3RhdGVdXG4qL1xuQG1peGluIHJvdGF0ZSAoJGRlZykge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuW3NjYWxlXVxuKi9cbkBtaXhpbiBzY2FsZSgkc2NhbGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoJHNjYWxlKSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bdHJhbnNsYXRlXVxuKi9cbkBtaXhpbiB0cmFuc2xhdGUgKCR4LCAkeSkge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoJHgsICR5KSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bc2tld11cbiovXG5AbWl4aW4gc2tldyAoJHgsICR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoI3skeH1kZWcsICN7JHl9ZGVnKSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bdHJhbnNmb3JtIG9yaWdpbl1cbiovXG4vL0BtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luICgkb3JpZ2luKSB7XG4vLyAgICBtb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbi8vICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4vLyAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbi8vICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbi8vICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4vL31cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltib3gtc2l6aW5nXVxuKi9cbkBtaXhpbiBib3gtc2l6aW5nKCRib3gtbW9kZWwpIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRib3gtbW9kZWw7IC8vIFNhZmFyaSA8PSA1XG4gICAgLW1vei1ib3gtc2l6aW5nOiAkYm94LW1vZGVsOyAvLyBGaXJlZm94IDw9IDE5XG4gICAgYm94LXNpemluZzogJGJveC1tb2RlbDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltib3gtc2hhZG93XVxuKi9cbkBtaXhpbiBib3gtc2hhZG93KCR0b3AsICRsZWZ0LCAkYmx1ciwgJGNvbG9yLCAkaW5zZXQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbnNldCB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzppbnNldCAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcbiAgICB9XG59XG5cbi8vLyBNaXhpbiBwcmludGluZyBhIGxpbmVhci1ncmFkaWVudFxuLy8vIGFzIHdlbGwgYXMgYSBwbGFpbiBjb2xvciBmYWxsYmFja1xuLy8vIGFuZCB0aGUgYC13ZWJraXQtYCBwcmVmaXhlZCBkZWNsYXJhdGlvblxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtLZXl3b3JkIHwgQW5nbGV9ICRkaXJlY3Rpb24gLSBMaW5lYXIgZ3JhZGllbnQgZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29sb3Itc3RvcHMgLSBMaXN0IG9mIGNvbG9yLXN0b3BzIGNvbXBvc2luZyB0aGUgZ3JhZGllbnRcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3Itc3RvcHMpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xufSIsIiRmb250LXNpemU6IDcwJTtcbiRSZWxhdGl2ZTogXCJSZWxhdGl2ZS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4kQXBlcmN1OiBcIkFwZXJjdS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4kTm9lOiBcIk5vZS1CbGFja1wiLCBzYW5zLXNlcmlmO1xuJE15cmlhZDogXCJNeXJpYWQtUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJSZWxhdGl2ZS1SZWd1bGFyXCI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9SZWxhdGl2ZS0xMFBpdGNoLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQXBlcmN1LVJlZ3VsYXJcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2FwZXJjdV9yZWd1bGFyX3Byby5vdGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5vZS1CbGFja1wiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvTm9lRGlzcGxheS1CbGFjay5vdGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZC1SZWd1bGFyXCI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9NeXJpYWRQcm8tUmVndWxhci5vdGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG59XG5cbmEge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuaDIge1xuICBmb250LWZhbWlseTogJE5vZTtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgfVxufVxuIiwiQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdlYXNpbmcnO1xuQGltcG9ydCAnYW5pbWF0aW9ucyc7XG4iLCIvLyBHZW5lcmF0ZSBEdXJhdGlvbiAmJiBEZWxheVxuW2RhdGEtYW9zXSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNjAge1xuICAgIGJvZHlbZGF0YS1hb3MtZHVyYXRpb249JyN7JGkgKiA1MH0nXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScjeyRpICogNTB9J10ge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogI3skaSAqIDUwfW1zO1xuICAgIH1cblxuICAgIGJvZHlbZGF0YS1hb3MtZGVsYXk9JyN7JGkgKiA1MH0nXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScjeyRpICogNTB9J10ge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMDtcblxuICAgICAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7JGkgKiA1MH1tcztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRhb3MtZWFzaW5nOiAoXG4gIGxpbmVhcjogY3ViaWMtYmV6aWVyKC4yNTAsIC4yNTAsIC43NTAsIC43NTApLFxuXG4gIGVhc2U6IGN1YmljLWJlemllciguMjUwLCAuMTAwLCAuMjUwLCAxKSxcbiAgZWFzZS1pbjogY3ViaWMtYmV6aWVyKC40MjAsIDAsIDEsIDEpLFxuICBlYXNlLW91dDogY3ViaWMtYmV6aWVyKC4wMDAsIDAsIC41ODAsIDEpLFxuICBlYXNlLWluLW91dDogY3ViaWMtYmV6aWVyKC40MjAsIDAsIC41ODAsIDEpLFxuXG4gIGVhc2UtaW4tYmFjazogY3ViaWMtYmV6aWVyKC42LCAtLjI4LCAuNzM1LCAuMDQ1KSxcbiAgZWFzZS1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMS4yNzUpLFxuICBlYXNlLWluLW91dC1iYWNrOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KSxcblxuICBlYXNlLWluLXNpbmU6IGN1YmljLWJlemllciguNDcsIDAsIC43NDUsIC43MTUpLFxuICBlYXNlLW91dC1zaW5lOiBjdWJpYy1iZXppZXIoLjM5LCAuNTc1LCAuNTY1LCAxKSxcbiAgZWFzZS1pbi1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC40NDUsIC4wNSwgLjU1LCAuOTUpLFxuXG4gIGVhc2UtaW4tcXVhZDogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcbiAgZWFzZS1pbi1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSksXG5cbiAgZWFzZS1pbi1jdWJpYzogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KSxcblxuICBlYXNlLWluLXF1YXJ0OiBjdWJpYy1iZXppZXIoLjU1LCAuMDg1LCAuNjgsIC41MyksXG4gIGVhc2Utb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcbiAgZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpXG4pO1xuXG4vLyBFYXNpbmdzIGltcGxlbWVudGF0aW9uc1xuLy8gRGVmYXVsdCB0aW1pbmcgZnVuY3Rpb246ICdlYXNlJ1xuXG5bZGF0YS1hb3NdIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYW9zLWVhc2luZyB7XG4gICAgYm9keVtkYXRhLWFvcy1lYXNpbmc9XCIjeyRrZXl9XCJdICYsXG4gICAgJltkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSB7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEFuaW1hdGlvbnMgdmFyaWFibGVzXG4kYW9zLWRpc3RhbmNlOiAyNXB4ICFkZWZhdWx0O1xuXG5cblxuXG4vKipcbiAqIEZhZGUgYW5pbWF0aW9uczpcbiAqIGZhZGVcbiAqIGZhZGUtdXAsIGZhZGUtZG93biwgZmFkZS1sZWZ0LCBmYWRlLXJpZ2h0XG4gKiBmYWRlLXVwLXJpZ2h0LCBmYWRlLXVwLWxlZnQsIGZhZGUtZG93bi1yaWdodCwgZmFkZS1kb3duLWxlZnRcbiAqL1xuXG5bZGF0YS1hb3NePSdmYWRlJ11bZGF0YS1hb3NePSdmYWRlJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsICRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLSRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kYW9zLWRpc3RhbmNlLCAkYW9zLWRpc3RhbmNlKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLXVwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRhb3MtZGlzdGFuY2UsICRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSRhb3MtZGlzdGFuY2UsIC0kYW9zLWRpc3RhbmNlKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFvcy1kaXN0YW5jZSwgLSRhb3MtZGlzdGFuY2UpO1xufVxuXG5cblxuXG4vKipcbiAqIFpvb20gYW5pbWF0aW9uczpcbiAqIHpvb20taW4sIHpvb20taW4tdXAsIHpvb20taW4tZG93biwgem9vbS1pbi1sZWZ0LCB6b29tLWluLXJpZ2h0XG4gKiB6b29tLW91dCwgem9vbS1vdXQtdXAsIHpvb20tb3V0LWRvd24sIHpvb20tb3V0LWxlZnQsIHpvb20tb3V0LXJpZ2h0XG4gKi9cblxuW2RhdGEtYW9zXj0nem9vbSddW2RhdGEtYW9zXj0nem9vbSddIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICYuYW9zLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSd6b29tLWluJ10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAkYW9zLWRpc3RhbmNlKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtJGFvcy1kaXN0YW5jZSkgc2NhbGUoLjYpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20taW4tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQnXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgJGFvcy1kaXN0YW5jZSkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtJGFvcy1kaXN0YW5jZSkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFvcy1kaXN0YW5jZSwgMCkgc2NhbGUoMS4yKTtcbn1cblxuXG5cblxuLyoqXG4gKiBTbGlkZSBhbmltYXRpb25zXG4gKi9cblxuW2RhdGEtYW9zXj0nc2xpZGUnXVtkYXRhLWFvc149J3NsaWRlJ10ge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG5cbiAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSdzbGlkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG5bZGF0YS1hb3M9J3NsaWRlLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG5cblxuXG4vKipcbiAqIEZsaXAgYW5pbWF0aW9uczpcbiAqIGZsaXAtbGVmdCwgZmxpcC1yaWdodCwgZmxpcC11cCwgZmxpcC1kb3duXG4gKi9cblxuW2RhdGEtYW9zXj0nZmxpcCddW2RhdGEtYW9zXj0nZmxpcCddIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG5cbltkYXRhLWFvcz0nZmxpcC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgtMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7fVxufVxuXG5bZGF0YS1hb3M9J2ZsaXAtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApO31cbn1cblxuW2RhdGEtYW9zPSdmbGlwLXVwJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgtMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7fVxufVxuXG5bZGF0YS1hb3M9J2ZsaXAtZG93biddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7fVxufVxuIiwiYm9keSwgaHRtbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogJEFwZXJjdTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmJvZHkge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlci1sZWZ0OiAkYmx1ZSBzb2xpZCAzNXB4O1xuICAgIGJvcmRlci1yaWdodDogJHdoaXRlIHNvbGlkIDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMztcblxuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICBib3JkZXItbGVmdDogJGJsdWUgc29saWQgMzVweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2hpdGUgc29saWQgMzVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICBib3JkZXItbGVmdDogJGJsdWUgc29saWQgMzVweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2hpdGUgc29saWQgMzVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICBib3JkZXItbGVmdDogJGJsdWUgc29saWQgMzVweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2hpdGUgc29saWQgMzVweDtcbiAgICB9XG59XG5cbi5jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICB9XG59XG5cbi5mdWxsLXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgfVxuICB9XG5cbi5iZy1zaWx2ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLmJvcmRlciB7XG4gICAgJi0tdG9wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuaWU5ICYsXG4gICAgLmllMTAgJixcbiAgICAuc2FmYXJpICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBmb250LWZhbWlseTogJEFwZXJjdTtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jYmcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9yZWFjZG4vMTc1cGVhcmwvYmFja2dyb3VuZCtwYXR0ZXJuLnBuZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzAlO1xuICB9XG59XG5cblxuI2JnLTIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9yZWFjZG4vMTc1cGVhcmwvYmFja2dyb3VuZCtwYXR0ZXJuKzIucG5nJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XG4gIH1cbn1cblxuLnNpZGVIZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wIDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHRvcDogNjAlO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgbGVmdDogMTBweDtcbiAgICB0b3A6IDUwJTtcbiAgfVxufVxuIiwiLyoqIFZBUklBQkxFU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyoqIFJFU0VUIEFORCBMQVlPVVRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5ieC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICAqem9vbTogMTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uYngtd3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJ4c2xpZGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudWwuYnhzbGlkZXIge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmJ4LXZpZXdwb3J0IHtcbiAgLypmaXggb3RoZXIgZWxlbWVudHMgb24gdGhlIHBhZ2UgbW92aW5nIChvbiBDaHJvbWUpKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vKiogVEhFTUVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5ieC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5ieC13cmFwcGVyIC5ieC1wYWdlcixcbi5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIExPQURFUiAqL1xuLmJ4LXdyYXBwZXIgLmJ4LWxvYWRpbmcge1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9ieF9sb2FkZXIuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQgI2ZmZmZmZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDIwMDA7XG59XG4vKiBQQUdFUiAqL1xuLmJ4LXdyYXBwZXIgLmJ4LXBhZ2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yMHB4O1xuICAvLyByaWdodDogNTAlO1xuICAvLyBsZWZ0OiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBmb250LXNpemU6IC41NWVtO1xuICBmb250LWZhbWlseTogQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICBib3R0b206IC0zNXB4O1xuICAgIC8vIHJpZ2h0OiAxNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICBib3R0b206IC0zNXB4O1xuICB9XG59XG4uYngtd3JhcHBlciAuYngtcGFnZXIuYngtZGVmYXVsdC1wYWdlciBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIG1hcmdpbjogMCAzcHg7XG4gIG91dGxpbmU6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogN3B4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3JkZXI6ICRibHVlIHNvbGlkIDFweDtcbiAgei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIH1cbn1cbi5ieC13cmFwcGVyIC5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIGE6aG92ZXIsXG4uYngtd3JhcHBlciAuYngtcGFnZXIuYngtZGVmYXVsdC1wYWdlciBhLmFjdGl2ZSxcbi8vIC5ieC13cmFwcGVyIC5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIGE6Zm9jdXNcbiAge1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbn1cbi5ieC13cmFwcGVyIC5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIGEuYWN0aXZlOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ieC13cmFwcGVyIC5ieC1wYWdlci1pdGVtLFxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LWNvbnRyb2xzLWF1dG8taXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgKnpvb206IDE7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG59XG4uYngtd3JhcHBlciAuYngtcGFnZXItaXRlbSB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG59XG4vKiBESVJFQ1RJT04gQ09OVFJPTFMgKE5FWFQgLyBQUkVWKSAqL1xuLmJ4LXdyYXBwZXIgLmJ4LXByZXYge1xuICBsZWZ0OiAwcHg7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2xlZnQtY2FyYXQuc3ZnJykgbm8tcmVwZWF0IDAgMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuLmJ4LXdyYXBwZXIgLmJ4LXByZXY6aG92ZXIsXG4uYngtd3JhcHBlciAuYngtcHJldjpmb2N1cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cbi5ieC13cmFwcGVyIC5ieC1uZXh0IHtcbiAgcmlnaHQ6IDBweDtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvcmlnaHQtY2FyYXQuc3ZnJykgbm8tcmVwZWF0IDEycHggMDtcbn1cbi5ieC13cmFwcGVyIC5ieC1uZXh0OmhvdmVyLFxuLmJ4LXdyYXBwZXIgLmJ4LW5leHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IDA7XG59XG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtZGlyZWN0aW9uIGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgb3V0bGluZTogMDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHotaW5kZXg6IDk5OTk7XG59XG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtZGlyZWN0aW9uIGEuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogQVVUTyBDT05UUk9MUyAoU1RBUlQgLyBTVE9QKSAqL1xuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RhcnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIG91dGxpbmU6IDA7XG4gIC8vIGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL2NvbnRyb2xzLnBuZycpIC04NnB4IC0xMXB4IG5vLXJlcGVhdDtcbiAgbWFyZ2luOiAwIDNweDtcbn1cbi5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIC5ieC1zdGFydDpob3Zlcixcbi5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIC5ieC1zdGFydC5hY3RpdmUsXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RhcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODZweCAwO1xufVxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LXN0b3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHdpZHRoOiA5cHg7XG4gIGhlaWdodDogMTFweDtcbiAgb3V0bGluZTogMDtcbiAgLy8gYmFja2dyb3VuZDogdXJsKCdpbWFnZXMvY29udHJvbHMucG5nJykgLTg2cHggLTQ0cHggbm8tcmVwZWF0O1xuICBtYXJnaW46IDAgM3B4O1xufVxuLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LXN0b3A6aG92ZXIsXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RvcC5hY3RpdmUsXG4uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RvcDpmb2N1cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04NnB4IC0zM3B4O1xufVxuLyogUEFHRVIgV0lUSCBBVVRPLUNPTlRST0xTIEhZQlJJRCBMQVlPVVQgKi9cbi5ieC13cmFwcGVyIC5ieC1jb250cm9scy5ieC1oYXMtY29udHJvbHMtYXV0by5ieC1oYXMtcGFnZXIgLmJ4LXBhZ2VyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDgwJTtcbn1cbi5ieC13cmFwcGVyIC5ieC1jb250cm9scy5ieC1oYXMtY29udHJvbHMtYXV0by5ieC1oYXMtcGFnZXIgLmJ4LWNvbnRyb2xzLWF1dG8ge1xuICByaWdodDogMDtcbiAgd2lkdGg6IDM1cHg7XG59XG4vKiBJTUFHRSBDQVBUSU9OUyAqL1xuLmJ4LXdyYXBwZXIgLmJ4LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgYmFja2dyb3VuZDogcmdiYSg4MCwgODAsIDgwLCAwLjc1KTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYngtd3JhcHBlciAuYngtY2FwdGlvbiBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4iLCIuc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXG4gICAgJl9faW1nIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDIwOHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNzVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDAwcHgpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5pZTkgJixcbiAgICAgICAgLmllMTAgJixcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDIwOHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNzVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDAwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3JlYWNkbi8xNzVwZWFybC9pbnRlcmlvci5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9yZWFjZG4vMTc1cGVhcmwvbG9iYnkuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL3MzLmFtYXpvbmF3cy5jb20vcmVhY2RuLzE3NXBlYXJsL3Jvb2YtdGVycmFjZS5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLTQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9yZWFjZG4vMTc1cGVhcmwvYnVpbGRpbmctZXh0ZXJpb3IuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYtLWNhcHRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC00MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTYwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uLXNtYWxsLXNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICYtLWZpeCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG5cbi5zbWFsbC1zbGlkZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIxNDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNThweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAgIG9yZGVyOiAyO1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuXG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzM7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTMwcHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNtYWxsLXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47XG5cbiAgICBvcmRlcjogMTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgIHdpZHRoOiA2NSUgIWltcG9ydGFudDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAuaWU5ICYsXG4gICAgICAgIC5pZTEwICYsXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHggMDtcblxuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNjBweCAwO1xuXG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNhcHRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC00MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTYwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4uYmlnLXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMHB4O1xuXG4gICAgICAgIC5pZTkgJixcbiAgICAgICAgLmllMTAgJixcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHggMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDYwcHggMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2FwdGlvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTQwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhhbGYtc2xpZGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAuaWU5ICYsXG4gICAgICAgIC5pZTEwICYsXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICYtLWltZyB7XG4gICAgICAgIC8vICAgd2lkdGg6IDIwJTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMDBweCAwO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA2MHB4IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY2FwdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC8vIGxlZnQ6IDA7XG4gICAgICAgICAgICAvLyBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9vdGVyLWVsZW1lbnQge1xuICB3aWR0aDogMTUwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgd2lkdGg6IDI3NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgIHdpZHRoOiAzMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbn1cblxuLmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICZfX2NvbnRhY3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG5cbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBtYXJnaW4tbGVmdDogMjUlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhY3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgbWFyZ2luOiAzNXB4IDAgMzBweCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgIG1hcmdpbjogMCAwIDUwcHggMDtcblxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIC8vIG1hcmdpbjogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgLy8gbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgICAgICAvLyAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIC8vICAgJjpob3ZlciB7XG4gICAgICAgIC8vICAgICAmOmFmdGVyIHtcbiAgICAgICAgLy8gICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAvLyAgICY6YWZ0ZXIge1xuICAgICAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgLy8gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAvLyAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgLy8gICAgICAgbGVmdDogMDtcbiAgICAgICAgLy8gICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAvLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgLy8gICAgICAgd2lkdGg6IDA7XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgICAvLyAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZWFtIHtcbiAgICB3aWR0aDogNDQlO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIHAge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgZm9udC1zaXplOiA0LjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMCAxNDhweCAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDY2cHggMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjhyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDkycHggMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDE0OHB4IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYnJhbmRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAgICAgJl9faW1nLS0xIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tamxsLnN2Z1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgd2lkdGg6IDY4cHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzdweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDExOHB4O1xuICAgICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgICBtYXJnaW46IDAgMCA3NXB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICAgIHdpZHRoOiAxNTdweDtcbiAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTAwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgICAgICAgIGhlaWdodDogODRweDtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMDBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2ltZy0tMiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29uLXNhdmFubmEuc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB3aWR0aDogNDFweDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBtYXJnaW46IDAgMCAzN3B4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDc2cHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgNzVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDFweDtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMDBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMThweDtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMDBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY3JlZGl0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIC8vIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAvLyB9XG4gIH1cblxuICAmX19jcmVkaXRzIHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMzdweCAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNzVweCAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTMwcHggMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDEzMHB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbi5mb290ZXItYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4uZm9vdGVyLWJvdHRvbV9fZWxlbWVudCB7XG4gIGhlaWdodDogMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMzBweCBhdXRvIDEwcHggYXV0bztcblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDYwcHggYXV0byAzMHB4IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDYwcHggYXV0byAzMHB4IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDYwcHggYXV0byAzMHB4IGF1dG87XG4gIH1cbiAgJi5yZWEge1xuICAgIHdpZHRoOiAxMDAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIH1cbiAgfVxufVxuXG5cbn1cbiIsIi5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDMzcHggNDBweDtcblxuICAmLS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1MHB4IDEwcHggMjBweCAxMHB4O1xuICB9XG5cbiAgJi0tY2VudGVyLTIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIHBhZGRpbmc6IDE2MHB4IDAgODBweCAwO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICAgIC8vIHBhZGRpbmc6IDEwMnB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgIC8vIHBhZGRpbmc6IDE1N3B4IDA7XG4gIH1cblxuICAmLmZsb29ycGxhbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDE2MHB4IDAgODBweCAwO1xuICAgIH1cbiAgfVxufVxuXG4uc21hbGwtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiA0NnB4IDAgNDZweCAwO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICBwYWRkaW5nOiA2OHB4IDAgNjhweCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICBmb250LXNpemU6IDMuOHJlbTtcbiAgICBwYWRkaW5nOiAxMjhweCAwIDEyOHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgIHBhZGRpbmc6IDE4MHB4IDAgMTgwcHggMDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgN3B4IDAgMDtcblxuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwIDAgMCA3cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDMycHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDQycHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tb2JpbGUtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbi5kZXNjcmlwdGlvbi1wb2ludHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogJGJsdWU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICBtYXJnaW46IDQwcHggMDtcbiAgcGFkZGluZzogNDBweCAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICBtYXJnaW46IDQwcHggMDtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgIG1hcmdpbjogNDBweCAwO1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyNXB4IDc1cHg7XG5cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblxuICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICB3aWR0aDogMjclO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgcGFkZGluZzogMiU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJsdWU7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxuICB9XG5cbiAgJi5zZWNvbmQge1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICBtYXJnaW46IDEwMHB4IDAgMTBweCAwO1xuICAgIH1cbiAgfVxufVxuXG4uZGVzY3JpcHRpb24taW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICBtYXJnaW46IDAgMCAxMDBweCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICBtYXJnaW46IDAgMCAxNTBweCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICBtYXJnaW46IDAgMCAxNzVweCAwO1xuICB9XG5cblxuICAmX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBvcmRlcjogMTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgb3JkZXI6IDE7XG5cbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiAyOHB4IDc1cHggNDJweCA3NXB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICBwYWRkaW5nOiAyOHB4IDAgNDJweCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICBwYWRkaW5nOiAwIDMycHggMCAzMnB4O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICBwYWRkaW5nOiAwIDQycHggMCA0MnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDAgNjBweCAwIDYwcHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNDBweDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjVweCAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCUXCI7XG4gICAgICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19wb2ludHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDI0MDBweCkge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3Mjc7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB3aWR0aDogODAlO1xuXG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICAvLyBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgOCUgMCAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgLy8gZm9udC1zaXplOiAycmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDEwJSAwIDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZzogMCAxMzBweCAwIDA7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICAmX19jYXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDEyODBweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2ltZy0tMSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29uLWh1bWFuLnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMzBweCBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyaWVzKDE3MDBweCkge1xuICAgICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygyNDAwcHgpIHtcbiAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2ltZy0tMiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29uLWJpa2Uuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAzMHB4IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgICBoZWlnaHQ6IDE1NnB4O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgaGVpZ2h0OiAyMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pbWctLTMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaWNvbi10cmFuc3BvcnQuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAzMHB4IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxNzAwcHgpIHtcbiAgICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgaGVpZ2h0OiAxODZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmRvd25sb2FkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogNTJweCAwIDQycHggMDtcbiAgICBwYWRkaW5nOiAyN3B4IDAgMzJweCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAxMDBweCAwO1xuICAgICAgICBwYWRkaW5nOiA0NnB4IDAgNTRweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgIG1hcmdpbjogMTUwcHggMCAxNTBweCAwO1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDAgNjhweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgIG1hcmdpbjogMTc1cHggMDtcbiAgICAgICAgcGFkZGluZzogOTBweCAwIDEwNXB4IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgMCA1MnB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcmllcygxMjgwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDcwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDk0cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEzMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuXG4gICAgICAgIGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTcwMHB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMTI4MHB4KSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJpZXMoMjQwMHB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiJdLCJuYW1l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 */
