/*! normalize.css v8.0.1 | 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 iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 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; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * 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 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
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 in Chrome and Safari on macOS.
 */
[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 Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

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, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='fade'][data-aos^='fade'].aos-animate {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

[data-aos='fade-up'] {
  -webkit-transform: translate3d(0, 100px, 0);
          transform: translate3d(0, 100px, 0); }

[data-aos='fade-down'] {
  -webkit-transform: translate3d(0, -100px, 0);
          transform: translate3d(0, -100px, 0); }

[data-aos='fade-right'] {
  -webkit-transform: translate3d(-100px, 0, 0);
          transform: translate3d(-100px, 0, 0); }

[data-aos='fade-left'] {
  -webkit-transform: translate3d(100px, 0, 0);
          transform: translate3d(100px, 0, 0); }

[data-aos='fade-up-right'] {
  -webkit-transform: translate3d(-100px, 100px, 0);
          transform: translate3d(-100px, 100px, 0); }

[data-aos='fade-up-left'] {
  -webkit-transform: translate3d(100px, 100px, 0);
          transform: translate3d(100px, 100px, 0); }

[data-aos='fade-down-right'] {
  -webkit-transform: translate3d(-100px, -100px, 0);
          transform: translate3d(-100px, -100px, 0); }

[data-aos='fade-down-left'] {
  -webkit-transform: translate3d(100px, -100px, 0);
          transform: translate3d(100px, -100px, 0); }

/**
 * 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, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='zoom'][data-aos^='zoom'].aos-animate {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1); }

[data-aos='zoom-in'] {
  -webkit-transform: scale(0.6);
          transform: scale(0.6); }

[data-aos='zoom-in-up'] {
  -webkit-transform: translate3d(0, 100px, 0) scale(0.6);
          transform: translate3d(0, 100px, 0) scale(0.6); }

[data-aos='zoom-in-down'] {
  -webkit-transform: translate3d(0, -100px, 0) scale(0.6);
          transform: translate3d(0, -100px, 0) scale(0.6); }

[data-aos='zoom-in-right'] {
  -webkit-transform: translate3d(-100px, 0, 0) scale(0.6);
          transform: translate3d(-100px, 0, 0) scale(0.6); }

[data-aos='zoom-in-left'] {
  -webkit-transform: translate3d(100px, 0, 0) scale(0.6);
          transform: translate3d(100px, 0, 0) scale(0.6); }

[data-aos='zoom-out'] {
  -webkit-transform: scale(1.2);
          transform: scale(1.2); }

[data-aos='zoom-out-up'] {
  -webkit-transform: translate3d(0, 100px, 0) scale(1.2);
          transform: translate3d(0, 100px, 0) scale(1.2); }

[data-aos='zoom-out-down'] {
  -webkit-transform: translate3d(0, -100px, 0) scale(1.2);
          transform: translate3d(0, -100px, 0) scale(1.2); }

[data-aos='zoom-out-right'] {
  -webkit-transform: translate3d(-100px, 0, 0) scale(1.2);
          transform: translate3d(-100px, 0, 0) scale(1.2); }

[data-aos='zoom-out-left'] {
  -webkit-transform: translate3d(100px, 0, 0) scale(1.2);
          transform: translate3d(100px, 0, 0) scale(1.2); }

/**
 * Slide animations
 */
[data-aos^='slide'][data-aos^='slide'] {
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }
  [data-aos^='slide'][data-aos^='slide'].aos-animate {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

[data-aos='slide-up'] {
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0); }

[data-aos='slide-down'] {
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0); }

[data-aos='slide-right'] {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0); }

[data-aos='slide-left'] {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0); }

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^='flip'][data-aos^='flip'] {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

[data-aos='flip-left'] {
  -webkit-transform: perspective(2500px) rotateY(-100deg);
          transform: perspective(2500px) rotateY(-100deg); }
  [data-aos='flip-left'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
            transform: perspective(2500px) rotateY(0); }

[data-aos='flip-right'] {
  -webkit-transform: perspective(2500px) rotateY(100deg);
          transform: perspective(2500px) rotateY(100deg); }
  [data-aos='flip-right'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
            transform: perspective(2500px) rotateY(0); }

[data-aos='flip-up'] {
  -webkit-transform: perspective(2500px) rotateX(-100deg);
          transform: perspective(2500px) rotateX(-100deg); }
  [data-aos='flip-up'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0); }

[data-aos='flip-down'] {
  -webkit-transform: perspective(2500px) rotateX(100deg);
          transform: perspective(2500px) rotateX(100deg); }
  [data-aos='flip-down'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0); }

/* ==========================================================================
   Headings
   ========================================================================== */
.cms-output h1, .content-default__title.heading-1, .double-columns__title.heading-1, .download__title.heading-1, .introduction__title, .news-latest__title, .news-introduction__title, .news-single__title, .text-image__title.heading-1, .visit__title {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.04167em;
  font-weight: 800; }

.cms-output h2, .content-default__title.heading-2, .double-columns__title.heading-2, .download__title.heading-2, .header-image__text-title, .text-image__title.heading-2 {
  font-size: 33px;
  font-size: 3.3rem;
  line-height: 1.30303em;
  font-weight: 800; }

.cms-output h3, .content-default__title.heading-3, .double-columns__title.heading-3, .download__title.heading-3, .text-image__title.heading-3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em;
  min-height: 100vh;
  background-color: white;
  color: #40596b;
  font-family: "Assistant";
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/* ==========================================================================
   Reset
   ========================================================================== */
/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/* ==========================================================================
   Container
   ========================================================================== */
/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 50.66667px);
  padding: 0 25.33333px;
  width: 100%;
  margin: 0 auto; }

/* ==========================================================================
   Content Constraint
   ========================================================================== */
/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh; }

/* ==========================================================================
   Flex
   ========================================================================== */
/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: -12.66667px; }
  .row.wrap {
    margin: 0 -12.66667px; }

/**
 * Reverse flex direction.
 */
.reverse {
  flex-direction: row-reverse; }

/**
 * Column.
 */
.col {
  flex: 0 1 auto;
  padding: 12.66667px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1 0 auto; }

/**
 * Columns.
 */
.col-xs-1 {
  width: 8.33333%; }

.offset-xs-1 {
  margin-left: 8.33333%; }

.col-xs-2 {
  width: 16.66667%; }

.offset-xs-2 {
  margin-left: 16.66667%; }

.col-xs-3 {
  width: 25%; }

.offset-xs-3 {
  margin-left: 25%; }

.col-xs-4 {
  width: 33.33333%; }

.offset-xs-4 {
  margin-left: 33.33333%; }

.col-xs-5 {
  width: 41.66667%; }

.offset-xs-5 {
  margin-left: 41.66667%; }

.col-xs-6 {
  width: 50%; }

.offset-xs-6 {
  margin-left: 50%; }

.col-xs-7 {
  width: 58.33333%; }

.offset-xs-7 {
  margin-left: 58.33333%; }

.col-xs-8 {
  width: 66.66667%; }

.offset-xs-8 {
  margin-left: 66.66667%; }

.col-xs-9 {
  width: 75%; }

.offset-xs-9 {
  margin-left: 75%; }

.col-xs-10 {
  width: 83.33333%; }

.offset-xs-10 {
  margin-left: 83.33333%; }

.col-xs-11 {
  width: 91.66667%; }

.offset-xs-11 {
  margin-left: 91.66667%; }

.col-xs-12 {
  width: 100%; }

.top-xs {
  align-items: flex-start; }

.middle-xs {
  align-items: center; }

.bottom-xs {
  align-items: flex-end; }

.stretch-xs {
  align-items: stretch; }

.baseline-xs {
  align-items: baseline; }

.start-xs {
  justify-content: flex-start; }

.center-xs {
  justify-content: center; }

.end-xs {
  justify-content: flex-end; }

.between-xs {
  justify-content: space-between; }

.around-xs {
  justify-content: space-around; }

.first-xs {
  order: -1; }

.last-xs {
  order: 1; }

@media only screen and (max-width: 599px) {
  .col-sm-1 {
    width: 8.33333%; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .col-sm-2 {
    width: 16.66667%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .col-sm-6 {
    width: 50%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .offset-sm-11 {
    margin-left: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .top-sm {
    align-items: flex-start; }
  .middle-sm {
    align-items: center; }
  .bottom-sm {
    align-items: flex-end; }
  .stretch-sm {
    align-items: stretch; }
  .baseline-sm {
    align-items: baseline; }
  .start-sm {
    justify-content: flex-start; }
  .center-sm {
    justify-content: center; }
  .end-sm {
    justify-content: flex-end; }
  .between-sm {
    justify-content: space-between; }
  .around-sm {
    justify-content: space-around; }
  .first-sm {
    order: -1; }
  .last-sm {
    order: 1; } }

@media only screen and (min-width: 600px) {
  .col-md-1 {
    width: 8.33333%; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .offset-md-3 {
    margin-left: 25%; }
  .col-md-4 {
    width: 33.33333%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .col-md-6 {
    width: 50%; }
  .offset-md-6 {
    margin-left: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .col-md-8 {
    width: 66.66667%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .offset-md-9 {
    margin-left: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .offset-md-11 {
    margin-left: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .top-md {
    align-items: flex-start; }
  .middle-md {
    align-items: center; }
  .bottom-md {
    align-items: flex-end; }
  .stretch-md {
    align-items: stretch; }
  .baseline-md {
    align-items: baseline; }
  .start-md {
    justify-content: flex-start; }
  .center-md {
    justify-content: center; }
  .end-md {
    justify-content: flex-end; }
  .between-md {
    justify-content: space-between; }
  .around-md {
    justify-content: space-around; }
  .first-md {
    order: -1; }
  .last-md {
    order: 1; } }

@media only screen and (min-width: 900px) {
  .col-lg-1 {
    width: 8.33333%; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .col-lg-3 {
    width: 25%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .offset-lg-11 {
    margin-left: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .top-lg {
    align-items: flex-start; }
  .middle-lg {
    align-items: center; }
  .bottom-lg {
    align-items: flex-end; }
  .stretch-lg {
    align-items: stretch; }
  .baseline-lg {
    align-items: baseline; }
  .start-lg {
    justify-content: flex-start; }
  .center-lg {
    justify-content: center; }
  .end-lg {
    justify-content: flex-end; }
  .between-lg {
    justify-content: space-between; }
  .around-lg {
    justify-content: space-around; }
  .first-lg {
    order: -1; }
  .last-lg {
    order: 1; } }

@media only screen and (min-width: 1200px) {
  .col-xl-1 {
    width: 8.33333%; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .col-xl-2 {
    width: 16.66667%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .col-xl-3 {
    width: 25%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .col-xl-4 {
    width: 33.33333%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .col-xl-5 {
    width: 41.66667%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .col-xl-6 {
    width: 50%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .col-xl-7 {
    width: 58.33333%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .col-xl-8 {
    width: 66.66667%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .col-xl-9 {
    width: 75%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .col-xl-10 {
    width: 83.33333%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .col-xl-11 {
    width: 91.66667%; }
  .offset-xl-11 {
    margin-left: 91.66667%; }
  .col-xl-12 {
    width: 100%; }
  .top-xl {
    align-items: flex-start; }
  .middle-xl {
    align-items: center; }
  .bottom-xl {
    align-items: flex-end; }
  .stretch-xl {
    align-items: stretch; }
  .baseline-xl {
    align-items: baseline; }
  .start-xl {
    justify-content: flex-start; }
  .center-xl {
    justify-content: center; }
  .end-xl {
    justify-content: flex-end; }
  .between-xl {
    justify-content: space-between; }
  .around-xl {
    justify-content: space-around; }
  .first-xl {
    order: -1; }
  .last-xl {
    order: 1; } }

/* ==========================================================================
   Section
   ========================================================================== */
/* ==========================================================================
   Wrapper
   ========================================================================== */
/**
 * The wrapper object centers an element in the document.
 */
.wrapper {
  max-width: calc(1240px + 60px);
  padding: 0 30px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .wrapper {
      padding-right: 50px;
      padding-left: 50px; } }

.wrapper--small {
  max-width: 900px; }

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
.breadcrumbs {
  margin-bottom: 10px;
  color: #a7b8c4; }
  .breadcrumbs a {
    color: #009ddc;
    font-weight: 600; }
  .breadcrumbs svg {
    width: 12px;
    height: 12px;
    margin-left: 3px;
    vertical-align: -1px; }

/* ==========================================================================
   Button
   ========================================================================== */
.button, .cms-output .button {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.57143em;
  display: inline-flex;
  align-items: center;
  padding: 18px 25px;
  transition: background-color 280ms, color 280ms;
  border-radius: 3px;
  text-transform: uppercase; }
  .button svg, .cms-output .button svg {
    width: 16px;
    height: 16px; }

/**
 * Blue button.
 */
.button--blue, .cms-output .button {
  background-color: #009ddc;
  color: white; }
  .button--blue:hover, .cms-output .button:hover {
    background-color: #008bc3; }

/**
 * Transparent with border.
 */
.button--trans {
  padding: 6px 30px;
  border: 3px solid #40596b; }
  .button--trans:hover {
    background-color: #40596b;
    color: white; }

/**
 * Alert [exclamation].
 */
.button--alert {
  padding: 7px 25px;
  background-color: #ee0000;
  color: white;
  font-weight: 600; }
  .button--alert svg {
    margin-right: 10px; }
  .button--alert:hover {
    background-color: #d50000; }

/**
 * Download.
 */
.button--download {
  font-weight: 800; }
  .button--download svg {
    width: 16px;
    height: 16px;
    margin-left: 10px; }

/* ==========================================================================
   CMS Output
   ========================================================================== */
/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output > *:not(:last-child):not(h1):not(h2):not(h3) {
  margin-bottom: 1.5em; }

.cms-output h1 {
  margin-top: 75px;
  margin-bottom: 1em; }

.cms-output h2 {
  margin-top: 75px;
  margin-bottom: 1em; }

.cms-output h3 {
  margin-top: 75px;
  margin-bottom: 1em; }

.cms-output ul {
  list-style: none; }
  .cms-output ul li {
    line-height: 36px; }
    .cms-output ul li svg {
      width: 16px;
      height: 16px;
      margin-top: 10px;
      margin-right: 10px; }
    .cms-output ul li span {
      width: calc(100% - 26px); }

.cms-output ol {
  list-style-type: decimal; }

.cms-output p > a {
  color: black; }
  .cms-output p > a:hover {
    text-decoration: underline; }

.cms-output .excerpt {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.54545em;
  font-weight: 600; }

/* ==========================================================================
   Content default
   ======================================================================= */
.content-default {
  padding: 90px 0; }
  .content-default.background-color-gradient {
    background: linear-gradient(180deg, #fff 0%, #eff4f9 100%); }

.content-default__title {
  margin-bottom: 20px; }

/**
 * Contact information.
 */
.contact-info {
  margin-top: 20px; }

.contact-info__row {
  display: flex; }

.contact-info__label {
  width: 140px; }

.contact-info__strong {
  font-weight: 600; }

/**
 * Border top.
 */
.double-columns + .content-default {
  border-top: 2px solid #f0f3f5; }

/* ==========================================================================
   Content default
   ======================================================================= */
.double-columns {
  padding: 90px 0; }

.double-columns__title {
  margin-bottom: 20px; }

/* ==========================================================================
   Download
   ========================================================================== */
.download {
  margin-bottom: 75px;
  padding: 50px 0;
  border-radius: 8px;
  background-color: #e9eff2;
  text-align: center; }

.download__title {
  margin-bottom: 20px; }

/**
 * Button.
 */
.download__button {
  margin-top: 30px;
  font-weight: 800; }
  .download__button svg {
    margin-left: 20px; }

/**
 *
 */
.visit + .wrapper > .download {
  margin-top: 100px; }

.background-color-gradient + .wrapper > .download {
  margin-top: 100px; }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer-top {
  padding: 90px 0;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.06); }

/**
 * Title.
 */
.footer__title {
  margin-bottom: 15px;
  font-weight: 800; }
  @media only screen and (max-width: 599px) {
    .footer__title {
      margin-top: -10px; } }

/**
 * Links.
 */
.footer__links a {
  transition: color 280ms; }
  .footer__links a svg {
    width: 16px;
    height: 16px;
    margin-top: 4px;
    margin-right: 10px; }
  .footer__links a:hover {
    color: #009ddc; }

/**
 * Opening hours.
 */
.footer__opening-hours {
  display: flex; }

.footer__opening-hours-label {
  width: 115px; }

/**
 * Footer bottom.
 */
.footer-bottom {
  padding: 20px 0;
  border-top: 1px solid #f0f3f5; }

/* ==========================================================================
   Header image
   ========================================================================== */
/**
 * Image.
 */
.header-image__image {
  height: 473px; }
  @media only screen and (max-width: 599px) {
    .header-image__image {
      height: 276px; } }
  .header-image__image img {
    width: 100%;
    height: 100%; }

/**
 * Text block.
 */
.header-image__text {
  bottom: -75px;
  width: calc(100% - 60px);
  padding: 35px 70px;
  background-color: white;
  text-align: center;
  box-shadow: 0 2px 35px 0 rgba(0, 0, 0, 0.1); }
  @media only screen and (min-width: 900px) {
    .header-image__text {
      max-width: 515px; } }
  @media only screen and (min-width: 600px) {
    .header-image__text {
      position: absolute; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .header-image__text {
      bottom: -75px; } }
  @media only screen and (max-width: 599px) {
    .header-image__text {
      position: relative;
      bottom: 0;
      width: calc(100% + 60px);
      margin-right: -30px;
      margin-left: -30px; } }

.header-image__text-title {
  margin-bottom: 15px; }

.header-image__text-download-wrapper {
  margin-top: 20px; }

.header-image__text-download {
  right: 0;
  left: 0; }

/* ==========================================================================
   Header
   ========================================================================== */
/**
 * Header.
 */
.header {
  z-index: 9; }
  .header.is-home {
    background-color: #f0f3f5; }
  .header:not(.is-home) {
    background-color: white;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.06); }
    .header:not(.is-home) .main-menu > .current-menu-item > a {
      box-shadow: none; }

.header-top {
  padding: 28px 0 29px; }

.header-right {
  width: 100%; }
  @media only screen and (max-width: 1199px) {
    .header-right {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end; } }

/**
 * Logo.
 */
.logo__doctors {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.33333em;
  color: #009ddc;
  font-weight: 600; }

.logo__title {
  font-size: 31px;
  font-size: 3.1rem;
  line-height: 1.32258em;
  color: #40596b;
  font-weight: 800; }
  @media only screen and (max-width: 599px) {
    .logo__title {
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1.57692em; } }

/**
 * Phone buttons [desktop].
 */
.header-phone-buttons--desktop {
  margin-right: -15px;
  margin-left: -15px; }
  @media only screen and (min-width: 1200px) {
    .header-phone-buttons--desktop {
      margin-bottom: 15px; } }
  @media only screen and (max-width: 599px) {
    .header-phone-buttons--desktop {
      display: none; } }
  .header-phone-buttons--desktop .header-phone-buttons__phone {
    display: inline-flex;
    align-items: center;
    margin: 0 15px; }
    .header-phone-buttons--desktop .header-phone-buttons__phone svg {
      width: 15px;
      height: 15px;
      margin-right: 10px; }
  .header-phone-buttons--desktop .header-phone-buttons__phone:not(.button) {
    color: #a7b8c4;
    font-size: 15px;
    font-weight: 600; }
    @media only screen and (max-width: 1000px) {
      .header-phone-buttons--desktop .header-phone-buttons__phone:not(.button) {
        display: none; } }

.header-phone-buttons--tablet {
  display: none; }
  @media only screen and (max-width: 999px) and (min-width: 745px) {
    .header-phone-buttons--tablet {
      display: flex;
      position: absolute;
      right: 270px;
      color: #a7b8c4; }
      .header-phone-buttons--tablet .header-phone-buttons__phone {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 85px; }
        .header-phone-buttons--tablet .header-phone-buttons__phone > svg {
          width: 100%;
          height: 16px; } }

.header-phone-buttons--mobile {
  display: none; }
  @media only screen and (max-width: 599px) {
    .header-phone-buttons--mobile {
      display: flex; } }
  .header-phone-buttons--mobile a {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 33.3334%;
    height: 85px;
    border-bottom: 1px solid #f0f3f5;
    background-color: white;
    color: #a7b8c4;
    font-weight: 600;
    text-align: center; }
    .header-phone-buttons--mobile a > span {
      line-height: 20px; }
    .header-phone-buttons--mobile a svg {
      width: 100%;
      height: 15px; }
    .header-phone-buttons--mobile a:not(:last-child) {
      border-right: 1px solid #f0f3f5; }
    .header-phone-buttons--mobile a:last-child {
      color: #ee0000;
      text-transform: uppercase; }

/**
 * Header navigation.
 */
/* ==========================================================================
   Introduction
   ========================================================================== */
.introduction {
  background: linear-gradient(180deg, #fff 0%, #eff4f9 100%); }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .introduction {
      padding: 150px 0;
      overflow: hidden; } }
  @media only screen and (max-width: 899px) {
    .introduction {
      padding: 90px 0;
      overflow: hidden; } }

.introduction__subtitle {
  color: #009ddc;
  font-weight: 600; }

.introduction__title {
  margin: 15px 0 30px; }

.introduction__columns {
  width: calc(100% + 30px);
  margin-right: -30px;
  margin-left: 0; }
  @media only screen and (max-width: 1199px) {
    .introduction__columns {
      width: calc(100% + 50px);
      margin-right: -50px; } }
  @media only screen and (max-width: 599px) {
    .introduction__columns {
      flex-wrap: wrap;
      width: 100%;
      margin-right: 0; } }

.introduction__column {
  width: 50%; }
  @media only screen and (max-width: 599px) {
    .introduction__column {
      width: 100%; } }

.introduction__column--right {
  max-width: 528px;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (min-width: 1200px) {
    .introduction__column--right {
      padding: 180px 0 100px; } }

/**
 * Text.
 */
.introduction__text-wrapper {
  width: 100%;
  max-width: 378px; }
  .introduction__text-wrapper .button {
    padding-right: 55px;
    padding-left: 55px;
    font-weight: 800; }

.introduction__editor {
  margin-bottom: 30px; }

/**
 * Images.
 */
.introduction__images {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 1200px) {
    .introduction__images {
      margin: -20px; } }
  @media only screen and (max-width: 599px) {
    .introduction__images .owl-stage-outer {
      width: calc(100% + 60px);
      margin-right: -30px;
      margin-left: -30px; } }
  @media only screen and (max-width: 1199px) {
    .introduction__images .owl-stage {
      padding-top: 50px;
      padding-bottom: 50px; } }
  @media only screen and (max-width: 599px) {
    .introduction__images .owl-item {
      padding: 0 0 0 30px; } }
  .introduction__images.owl-carousel .owl-dots {
    margin-top: -20px; }

.introduction__image-item {
  display: inline-block;
  border-radius: 3px;
  background-color: white;
  box-shadow: 0 2px 50px 0 rgba(0, 0, 0, 0.06); }
  @media only screen and (min-width: 1200px) {
    .introduction__image-item {
      width: calc(50% - 40px);
      height: 0;
      margin: 20px;
      padding-bottom: 47.5%; } }
  @media only screen and (max-width: 1199px) {
    .introduction__image-item {
      padding: 3px; } }
  @media only screen and (max-width: 599px) {
    .introduction__image-item {
      width: calc(100% + 30px); } }
  .introduction__image-item img {
    top: 4px;
    right: 4px;
    bottom: 4px;
    left: 4px;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    border-radius: 3px; }
    @media only screen and (max-width: 1199px) {
      .introduction__image-item img {
        position: static;
        width: auto;
        height: auto; } }
  @media only screen and (min-width: 1200px) {
    .introduction__image-item:nth-child(even) {
      margin-top: -55px; } }
  .introduction__image-item:hover .introduction__image-text {
    opacity: 1; }

.introduction__image-text {
  width: 100%;
  height: 100%;
  transition: 280ms;
  background-color: white;
  opacity: 0; }
  @media only screen and (max-width: 1199px) {
    .introduction__image-text {
      display: none; } }

.introduction__image-text-wrap {
padding: 10px; }
	  
.introduction__image-text-title {
  font-weight: 600; }

.introduction__image-text-link {
  display: inline-flex;
  align-items: center;
  color: #009ddc; }
  .introduction__image-text-link svg {
    width: 13px;
    height: 13px;
    margin-bottom: -1px; }

.introduction__link-button {
  display: none;
  position: absolute;
  right: 0;
  bottom: 20px;
  align-items: center;
  justify-content: center;
  width: calc(50% - 20px);
  text-align: center; }
  @media only screen and (min-width: 1200px) {
    .introduction__link-button {
      display: inline-flex; } }
  .introduction__link-button svg {
    margin-left: 5px; }

/* ==========================================================================
   Language menu
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  .language-menu {
    display: block; }
  .wpml-ls-legacy-dropdown {
    position: relative; }
    .wpml-ls-legacy-dropdown:hover .wpml-ls-sub-menu {
      display: block; }
  .wpml-ls-item-toggle {
    display: flex;
    position: relative;
    flex-direction: row-reverse;
    align-items: center;
    padding-right: 30px;
    border: 1px solid black;
    border-radius: 3px;
    z-index: 1; }
    .wpml-ls-item-toggle::after {
      display: none;
      font-family: "Font Awesome 5 Solid";
      content: '\f0d7'; }
    .wpml-ls-item-toggle > .inline-icon {
      position: absolute;
      right: 10px;
      font-size: 16px; }
  .wpml-ls-sub-menu {
    display: none;
    position: absolute;
    width: 100%;
    margin-top: -1px;
    border: 1px solid black;
    border-top: 0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    overflow: hidden; }
  .wpml-ls-item:not(:last-child) {
    border-bottom: 1px solid black; }
  .wpml-ls-link {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    transition: background-color 150ms; }
    .wpml-ls-link .wpml-ls-native {
      padding: 0; }
    .wpml-ls-link:hover {
      background-color: #e6e6e6; }
  .wpml-ls-native {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2em;
    min-width: 65px;
    padding: 0 10px; } }

@media only screen and (max-width: 1199px) {
  .language-menu {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    transition: opacity 500ms;
    opacity: 0;
    pointer-events: none; }
    .language-menu.is-active {
      opacity: 1;
      pointer-events: all; }
  .wpml-ls-item-legacy-dropdown {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  .wpml-ls-item-toggle {
    font-weight: bold; }
  .wpml-ls-sub-menu {
    display: flex;
    flex-wrap: wrap; }
  .wpml-ls-link::before {
    margin: 0 2px;
    color: white;
    content: '|'; }
  .wpml-ls-flag {
    display: none; }
  .wpml-ls-native {
    color: white; } }

/* ==========================================================================
   Navigation
   ========================================================================== */
/**
 * Navigation wrapper.
 */
.navigation {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px; }
  @media only screen and (min-width: 1200px) {
    .navigation {
      position: relative; } }

/**
 * Navigation menu.
 */
@media only screen and (max-width: 1199px) {
  .navigation-menu {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    height: 100vh;
    padding-right: 30px;
    transition: opacity 500ms;
    background-color: #009ddc;
    opacity: 0;
    pointer-events: none; }
    .navigation-menu .main-menu-container {
      width: 100%; }
    .navigation-menu.is-active {
      opacity: 1;
      pointer-events: all; }
      .navigation-menu.is-active .main-menu > .menu-item {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        transition: opacity 500ms 700ms, -webkit-transform 500ms 700ms;
        transition: opacity 500ms 700ms, transform 500ms 700ms;
        transition: opacity 500ms 700ms, transform 500ms 700ms, -webkit-transform 500ms 700ms;
        opacity: 1; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(2) {
          transition-delay: 900ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(3) {
          transition-delay: 1100ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(4) {
          transition-delay: 1300ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(5) {
          transition-delay: 1500ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(6) {
          transition-delay: 1700ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(7) {
          transition-delay: 1900ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(8) {
          transition-delay: 2100ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(9) {
          transition-delay: 2300ms; }
        .navigation-menu.is-active .main-menu > .menu-item:nth-child(10) {
          transition-delay: 2500ms; } }

@media only screen and (max-width: 1199px) {
  .navigation-menu__wrapper {
    width: 100%; } }

/**
 * Navigation button.
 */
.navigation-button {
  position: relative;
  margin-left: 40px; }
  @media only screen and (min-width: 1200px) {
    .navigation-button {
      display: none; } }
  .navigation-button .navigation-button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 3px;
    background-color: white;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03); }
    .navigation-button .navigation-button-icon svg {
      width: 24px;
      height: 24px; }
  .navigation-button .navigation-button-text {
    display: inline-block;
    margin-top: 5px; }
  .navigation-button .navigation-button-icon--close,
  .navigation-button .navigation-button-text--close {
    display: none;
    justify-content: center; }
  .navigation-button .navigation-button-text--close {
    color: white; }
  .navigation-button.is-active {
    position: absolute;
    top: 25px;
    right: 30px; }
    .navigation-button.is-active .navigation-button-icon--close,
    .navigation-button.is-active .navigation-button-text--close {
      display: flex; }
    .navigation-button.is-active .navigation-button-icon--open,
    .navigation-button.is-active .navigation-button-text--open {
      display: none; }

/**
 * WordPress main menu.
 */
/**
 * Main menu.
 */
@media only screen and (min-width: 1200px) {
  .main-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 -5px; } }

/**
 * Main menu item.
 */
@media only screen and (max-width: 1199px) {
  .main-menu > .menu-item {
    display: inline-block;
    width: 100%;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
    transition-delay: 0ms;
    transition-timing-function: 0ms;
    text-align: right;
    opacity: 0; } }

/**
 * Main menu link.
 */
.main-menu > .menu-item > a {
  align-items: center; }
  @media only screen and (min-width: 1200px) {
    .main-menu > .menu-item > a {
      display: flex;
      margin: 0 5px;
      padding: 5px 10px;
      transition: color 280ms;
      color: #40596b;
      font-weight: 600; }
      .main-menu > .menu-item > a:hover {
        color: #009ddc; } }
  @media only screen and (max-width: 1199px) {
    .main-menu > .menu-item > a {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.08333em;
      display: inline-flex;
      position: relative;
      justify-content: center;
      padding: 10px;
      color: white; } }

@media only screen and (max-width: 1199px) {
  .main-menu .submenu > .menu-item > a {
    line-height: 41px; } }

/**
 * Main menu item has children.
 */
.main-menu > .menu-item-has-children {
  position: relative; }
  @media only screen and (min-width: 1200px) {
    .main-menu > .menu-item-has-children:hover .submenu-container {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1;
      pointer-events: all; }
    .main-menu > .menu-item-has-children a {
      padding: 0 15px 0 10px; } }
  @media only screen and (max-width: 1199px) {
    .main-menu > .menu-item-has-children a {
      padding: 10px 15px 10px 10px; } }

/**
 * Current menu item.
 */
.main-menu > .current-menu-item > a {
  border-radius: 3px;
  background-color: #40596b;
  color: white;
  box-shadow: 0 2px 40px 0 rgba(0, 0, 0, 0.16); }
  .main-menu > .current-menu-item > a:hover {
    color: white; }

/* ==========================================================================
   News item
   ========================================================================== */
.news-item {
  width: calc(50% - 30px);
  margin: 30px; }
  @media only screen and (max-width: 1199px) {
    .news-item {
      margin: 15px; } }
  .news-item:hover .news-item__image {
    opacity: 0.6; }
  .news-item:hover .news-item__body {
    color: #009ddc; }

/**
 * Image.
 */
.news-item__image {
  width: 100%;
  height: 0;
  margin-bottom: 25px;
  padding-bottom: 65%;
  transition: opacity 0.3s;
  border-radius: 3px;
  overflow: hidden; }
  .news-item__image img {
    width: 100%;
    height: 100%; }

/**
 * Body.
 */
.news-item__body {
  transition: color 0.3s; }

/**
 * Title.
 */
.news-item__title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em;
  margin-bottom: 10px;
  font-weight: 600; }

/* ==========================================================================
   News latest
   ========================================================================== */
.news-latest {
  padding: 150px 0;
  background: linear-gradient(180deg, #fff 0%, #eff4f9 100%); }
  @media only screen and (max-width: 599px) {
    .news-latest {
      padding-bottom: 90px; } }

/**
 * Subtitle.
 */
.news-latest__subtitle {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.26667em;
  margin-bottom: 10px;
  color: #009ddc;
  font-weight: 600; }

/**
 * Title.
 */
.news-latest__title {
  margin-bottom: 25px; }

/**
 * Button.
 */
@media only screen and (min-width: 600px) and (max-width: 1199px) {
  .news-latest__button-wrapper {
    text-align: right; } }

@media only screen and (max-width: 599px) {
  .news-latest__button-wrapper--desktop {
    display: none; } }

.news-latest__button-wrapper--mobile {
  display: none; }
  @media only screen and (max-width: 599px) {
    .news-latest__button-wrapper--mobile {
      display: inline-flex;
      width: 100%; }
      .news-latest__button-wrapper--mobile .news-latest__button {
        width: 100%;
        justify-content: center;
        margin-top: 30px; } }

.news-latest__button {
  padding-top: 15px;
  padding-bottom: 15px;
  text-transform: none; }

/**
 * Items.
 */
@media only screen and (min-width: 600px) {
  .news-latest__items {
    display: flex;
    margin: -15px; } }

@media only screen and (min-width: 1200px) {
  .news-latest__items {
    margin: -30px; } }

@media only screen and (max-width: 599px) {
  .news-latest__items {
    margin: 0; } }

@media only screen and (max-width: 599px) {
  .news-latest__items .news-item {
    width: 100%;
    margin: 0; } }

/* ==========================================================================
   News list
   ========================================================================== */
.news-list__items {
  display: flex;
  flex-wrap: wrap;
  margin: -15px;
  padding: 75px 0; }
  .news-list__items .news-item {
    width: calc(33.3334% - 30px);
    margin: 15px; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .news-list__items .news-item {
        width: calc(50% - 30px); } }
    @media only screen and (max-width: 599px) {
      .news-list__items .news-item {
        width: calc(100% - 30px); } }

/**
 * Introduction block.
 */
.news-introduction {
  padding: 90px 0 100px;
  background: linear-gradient(180deg, #fff 0%, #eff4f9 100%);
  text-align: center; }

.news-introduction__title {
  margin-bottom: 25px; }

.news-introduction__editor {
  width: 100%;
  max-width: 603px;
  margin-right: auto;
  margin-bottom: 25px;
  margin-left: auto; }

/**
 * Arrow.
 */
.news-introduction__arrow {
  width: 69px;
  height: 69px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50%;
  background-color: white;
  cursor: pointer;
  z-index: 1; }
  .news-introduction__arrow svg {
    width: 16px;
    height: 16px;
    color: #009ddc; }

/* ==========================================================================
   News single
   ========================================================================== */
/**
 * Image.
 */
.news-single__image {
  height: 463px; }
  .news-single__image img {
    width: 100%;
    height: 100%; }

/**
 * Body.
 */
.news-single__body {
  width: 100%;
  max-width: 660px;
  margin-right: auto;
  margin-left: auto;
  padding: 100px 30px; }
  @media only screen and (max-width: 599px) {
    .news-single__body {
      padding: 50px 30px; } }

/**
 * Title.
 */
.news-single__title {
  margin-bottom: 30px; }

/**
 * Editor.
 */
.news-single__editor {
  margin-bottom: 45px; }

/**
 * Button.
 */
.news-single__button {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.46667em;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 20px;
  text-transform: none; }
  .news-single__button svg {
    width: 10px;
    height: 22px;
    margin-right: 15px; }

/* ==========================================================================
   Owl carousel
   ========================================================================== */
.owl-carousel .owl-dots {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px -5px -5px;
  z-index: 1; }
  .owl-carousel .owl-dots .owl-dot {
    width: 11px;
    height: 11px;
    margin: 5px;
    border-radius: 50%;
    background-color: #cbd5db; }
    .owl-carousel .owl-dots .owl-dot.active, .owl-carousel .owl-dots .owl-dot:hover {
      background-color: #a0abb2; }

/* ==========================================================================
   Pagination
   ========================================================================== */
.pagination {
  display: flex;
  justify-content: center;
  margin-bottom: 100px; }
  .pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px; }
    .pagination .page-numbers.current {
      border: 3px solid #40596b;
      border-radius: 3px; }
  .pagination .next,
  .pagination .prev {
    display: none; }

/* ==========================================================================
   Search
   ========================================================================== */
.search {
  display: flex;
  position: absolute;
  top: -50px;
  right: 100px;
  flex-wrap: wrap; }

/**
 * Form.
 */
.search-form {
  height: 30px;
  cursor: pointer; }

/**
 * Button.
 */
.search__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: black;
  cursor: pointer; }

/**
 * Input.
 */
.search__form.is-active .search__input {
  width: 200px;
  height: 25px;
  transition: all 150ms cubic-bezier(0.2, 0.6, 0.252, 1.2), background-color 0ms 0ms;
  border-radius: 3px;
  background-color: black;
  color: white;
  cursor: initial; }

.search__form.is-active .search__input-bar {
  top: 5px;
  right: 0;
  box-shadow: none;
  opacity: 0; }

.search__input {
  position: relative;
  width: 15px;
  height: 15px;
  padding: 5px;
  transition: all 150ms cubic-bezier(0.2, 0.6, 0.252, 1.2), background-color 100ms 150ms;
  border: 2px solid black;
  border-radius: 50%;
  outline: none;
  background-color: transparent;
  color: white;
  cursor: pointer; }

.search__input-bar {
  display: block;
  position: absolute;
  top: 20px;
  right: -2px;
  width: 12px;
  height: 2px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: opacity 150ms ease;
  border-radius: 4px;
  background: black;
  opacity: 1; }

/* ==========================================================================
   Submenu
   ========================================================================== */
/**
 * Submenu button.
 */
@media only screen and (min-width: 1200px) {
  .submenu-button {
    margin-left: 10px;
    color: inherit; } }

@media only screen and (max-width: 1199px) {
  .submenu-button {
    margin-left: 10px;
    color: white; }
    .submenu-button.is-active > .inline-icon {
      -webkit-transform: rotate(-180deg);
              transform: rotate(-180deg); } }

/**
 * Submenu container.
 */
@media only screen and (min-width: 1200px) {
  .submenu-container {
    position: absolute;
    padding-top: 20px;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    transition: opacity 400ms ease-out, -webkit-transform 400ms ease-out;
    transition: opacity 400ms ease-out, transform 400ms ease-out;
    transition: opacity 400ms ease-out, transform 400ms ease-out, -webkit-transform 400ms ease-out;
    opacity: 0;
    z-index: 1;
    pointer-events: none; } }

@media only screen and (max-width: 1199px) {
  .submenu-container {
    display: none; } }

/**
 * Submenu.
 */
@media only screen and (min-width: 1200px) {
  .submenu {
    position: relative;
    width: 100%;
    min-width: 200px;
    border-radius: 3px;
    background-color: white;
    color: #40596b;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.16); } }

@media only screen and (max-width: 1199px) {
  .submenu {
    color: white; } }

/**
 * Submenu item.
 */
/**
 * Submenu item link.
 */
@media only screen and (min-width: 1200px) {
  .submenu > .menu-item > a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.57143em;
    display: inline-block;
    position: relative;
    width: 100%;
    padding: 12px 10px;
    text-align: center; }
    .submenu > .menu-item > a::after {
      display: inline-block;
      position: absolute;
      right: 10px;
      bottom: 0;
      left: 10px;
      width: calc(100% - 20px);
      height: 1px;
      background-color: #f0f3f5;
      content: ''; }
    .submenu > .menu-item > a:hover {
      color: #009ddc; } }

@media only screen and (min-width: 1200px) {
  .submenu > .menu-item:last-child > a::after {
    content: none; } }

/* ==========================================================================
   Text image
   ========================================================================== */
.text-image.background-color-gradient {
  background: linear-gradient(180deg, #fff 0%, #eff4f9 100%); }

.text-image.image-position-left .text-image__columns {
  flex-direction: row-reverse; }
  @media only screen and (max-width: 899px) {
    .text-image.image-position-left .text-image__columns {
      flex-direction: column-reverse; } }

@media only screen and (min-width: 900px) {
  .text-image.image-position-left .text-image__column:nth-child(1) {
    display: flex;
    justify-content: flex-end; } }

@media only screen and (min-width: 900px) {
  .text-image.image-position-left .text-image__column:nth-child(2) {
    position: absolute;
    left: 0;
    height: 100%; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .text-image.image-position-left .text-image__text {
    padding-left: 25px; } }

@media only screen and (max-width: 899px) {
  .text-image.image-position-right .text-image__columns {
    flex-direction: column-reverse; } }

@media only screen and (min-width: 900px) {
  .text-image.image-position-right .text-image__column:nth-child(2) {
    position: absolute;
    right: 0;
    height: 100%; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .text-image.image-position-right .text-image__text {
    padding-right: 25px; } }

.text-image__title {
  margin-bottom: 35px; }

/**
 * Columns.
 */
@media only screen and (min-width: 900px) {
  .text-image__column img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-family: 'object-fit: cover;';
    -o-object-fit: cover;
    object-fit: cover; } }

/**
 * Text.
 */
.text-image__text {
  width: 100%;
  max-width: 487px;
  padding: 90px 0; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__text {
      padding: 50px 0; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .text-image__text {
      padding: 20px 0 50px; } }
  @media only screen and (max-width: 599px) {
    .text-image__text {
      padding-top: 0;
      padding-bottom: 30px; } }

/**
 * Arrow.
 */
.text-image__arrow {
  bottom: -35px;
  left: calc(50% - 35px);
  width: 69px;
  height: 69px;
  border-radius: 50%;
  background-color: white;
  cursor: pointer;
  z-index: 1; }
  .text-image__arrow svg {
    width: 16px;
    height: 16px;
    color: #009ddc; }

/**
 * Image.
 */
@media only screen and (max-width: 899px) {
  .text-image__image {
    width: calc(100% + 60px);
    margin-right: -30px;
    margin-left: -30px; } }

/* ==========================================================================
   Visit
   ========================================================================== */
/**
 * Visit.
 */
.visit {
  background-color: #009ddc; }
  @media only screen and (max-width: 599px) {
    .visit {
      flex-wrap: wrap; } }

.visit-left {
  width: 50%;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .visit-left {
      width: 100%;
      height: 304px; } }
  .visit-left iframe {
    width: 100%;
    height: 100%; }

.visit-right {
  padding: 145px 90px;
  width: 50%;
  padding: 145px 115px;
  color: white; }
  @media only screen and (max-width: 899px) {
    .visit-right {
      padding: 95px 50px; } }
  @media only screen and (max-width: 599px) {
    .visit-right {
      width: 100%;
      padding: 30px 30px 90px; } }

/**
 * Subtitle.
 */
.visit__subtitle {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.26667em;
  font-weight: 600; }

/**
 * Title.
 */
.visit__title {
  margin: 15px 0 30px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.13); }

/**
 * Address.
 */
.visit__address {
  margin-bottom: 25px; }
  .visit__address svg {
    width: 16px;
    height: 16px; }

/**
 * Opening hours.
 */
.visit__opening-hours-title {
  margin-bottom: 10px;
  font-weight: 800; }

.visit__opening-hours-label {
  width: 115px; }

/* ==========================================================================
   Color
   ========================================================================== */
/**
 * Color utility classes.
 */
/**
       * `color` black-100 color utility.
       */
.color-black-100 {
  color: black; }

/**
       * `background-color` black-100 color utility.
       */
.background-color-black-100 {
  background-color: black; }

/**
       * `color` white-100 color utility.
       */
.color-white-100 {
  color: white; }

/**
       * `background-color` white-100 color utility.
       */
.background-color-white-100 {
  background-color: white; }

/**
       * `color` #009ddc-100 color utility.
       */
.color-blue-100 {
  color: #009ddc; }

/**
       * `background-color` #009ddc-100 color utility.
       */
.background-color-blue-100 {
  background-color: #009ddc; }

/**
       * `color` #40596b-200 color utility.
       */
.color-blue-200 {
  color: #40596b; }

/**
       * `background-color` #40596b-200 color utility.
       */
.background-color-blue-200 {
  background-color: #40596b; }

/**
       * `color` #ee0000-100 color utility.
       */
.color-red-100 {
  color: #ee0000; }

/**
       * `background-color` #ee0000-100 color utility.
       */
.background-color-red-100 {
  background-color: #ee0000; }

/**
       * `color` #f0f3f5-100 color utility.
       */
.color-grey-100 {
  color: #f0f3f5; }

/**
       * `background-color` #f0f3f5-100 color utility.
       */
.background-color-grey-100 {
  background-color: #f0f3f5; }

/**
       * `color` #a7b8c4-200 color utility.
       */
.color-grey-200 {
  color: #a7b8c4; }

/**
       * `background-color` #a7b8c4-200 color utility.
       */
.background-color-grey-200 {
  background-color: #a7b8c4; }

/**
       * `color` #e9eff2-300 color utility.
       */
.color-grey-300 {
  color: #e9eff2; }

/**
       * `background-color` #e9eff2-300 color utility.
       */
.background-color-grey-300 {
  background-color: #e9eff2; }

/* ==========================================================================
   Object Fit
   ========================================================================== */
/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 */
/**
   * `object-fit` fill utility class.
   */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  -o-object-fit: fill;
     object-fit: fill; }

/**
   * `object-fit` contain utility class.
   */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  -o-object-fit: contain;
     object-fit: contain; }

/**
   * `object-fit` cover utility class.
   */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  -o-object-fit: cover;
     object-fit: cover; }

/**
   * `object-fit` none utility class.
   */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  -o-object-fit: none;
     object-fit: none; }

/**
   * `object-fit` scale-down utility class.
   */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  -o-object-fit: scale-down;
     object-fit: scale-down; }

/* ==========================================================================
   Position
   ========================================================================== */
/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: -webkit-sticky;
  position: sticky; }

/* ==========================================================================
   Text
   ========================================================================== */
/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Assistant"; }

.text-sm-default {
  font-family: "Assistant"; }

.text-md-default {
  font-family: "Assistant"; }

.text-lg-default {
  font-family: "Assistant"; }

.text-xl-default {
  font-family: "Assistant"; }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.04167em; }

.text-xs-h2 {
  font-size: 33px;
  font-size: 3.3rem;
  line-height: 1.30303em; }

.text-xs-h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em; }

.text-xs-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-xs-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-xs-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-xs-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em; }

.text-sm-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.04167em; }

.text-sm-h2 {
  font-size: 33px;
  font-size: 3.3rem;
  line-height: 1.30303em; }

.text-sm-h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em; }

.text-sm-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-sm-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-sm-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-sm-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em; }

.text-md-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.04167em; }

.text-md-h2 {
  font-size: 33px;
  font-size: 3.3rem;
  line-height: 1.30303em; }

.text-md-h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em; }

.text-md-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-md-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-md-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-md-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em; }

.text-lg-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.04167em; }

.text-lg-h2 {
  font-size: 33px;
  font-size: 3.3rem;
  line-height: 1.30303em; }

.text-lg-h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em; }

.text-lg-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-lg-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-lg-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-lg-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em; }

.text-xl-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.04167em; }

.text-xl-h2 {
  font-size: 33px;
  font-size: 3.3rem;
  line-height: 1.30303em; }

.text-xl-h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em; }

.text-xl-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-xl-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-xl-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-xl-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em; }

/**
 * Text alignment utility classes.
 */
.text-xs-left {
  text-align: left; }

.text-xs-right {
  text-align: right; }

.text-xs-center {
  text-align: center; }

.text-sm-left {
  text-align: left; }

.text-sm-right {
  text-align: right; }

.text-sm-center {
  text-align: center; }

.text-md-left {
  text-align: left; }

.text-md-right {
  text-align: right; }

.text-md-center {
  text-align: center; }

.text-lg-left {
  text-align: left; }

.text-lg-right {
  text-align: right; }

.text-lg-center {
  text-align: center; }

.text-xl-left {
  text-align: left; }

.text-xl-right {
  text-align: right; }

.text-xl-center {
  text-align: center; }

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-xs-100 {
  font-weight: 100; }

.text-xs-200 {
  font-weight: 200; }

.text-xs-300 {
  font-weight: 300; }

.text-xs-400 {
  font-weight: 400; }

.text-xs-500 {
  font-weight: 500; }

.text-xs-600 {
  font-weight: 600; }

.text-xs-700 {
  font-weight: 700; }

.text-xs-800 {
  font-weight: 800; }

.text-xs-900 {
  font-weight: 900; }

.text-sm-100 {
  font-weight: 100; }

.text-sm-200 {
  font-weight: 200; }

.text-sm-300 {
  font-weight: 300; }

.text-sm-400 {
  font-weight: 400; }

.text-sm-500 {
  font-weight: 500; }

.text-sm-600 {
  font-weight: 600; }

.text-sm-700 {
  font-weight: 700; }

.text-sm-800 {
  font-weight: 800; }

.text-sm-900 {
  font-weight: 900; }

.text-md-100 {
  font-weight: 100; }

.text-md-200 {
  font-weight: 200; }

.text-md-300 {
  font-weight: 300; }

.text-md-400 {
  font-weight: 400; }

.text-md-500 {
  font-weight: 500; }

.text-md-600 {
  font-weight: 600; }

.text-md-700 {
  font-weight: 700; }

.text-md-800 {
  font-weight: 800; }

.text-md-900 {
  font-weight: 900; }

.text-lg-100 {
  font-weight: 100; }

.text-lg-200 {
  font-weight: 200; }

.text-lg-300 {
  font-weight: 300; }

.text-lg-400 {
  font-weight: 400; }

.text-lg-500 {
  font-weight: 500; }

.text-lg-600 {
  font-weight: 600; }

.text-lg-700 {
  font-weight: 700; }

.text-lg-800 {
  font-weight: 800; }

.text-lg-900 {
  font-weight: 900; }

.text-xl-100 {
  font-weight: 100; }

.text-xl-200 {
  font-weight: 200; }

.text-xl-300 {
  font-weight: 300; }

.text-xl-400 {
  font-weight: 400; }

.text-xl-500 {
  font-weight: 500; }

.text-xl-600 {
  font-weight: 600; }

.text-xl-700 {
  font-weight: 700; }

.text-xl-800 {
  font-weight: 800; }

.text-xl-900 {
  font-weight: 900; }

/**
 * Text transform uitlity classes.
 */
.text-xs-capitalize {
  text-transform: capitalize; }

.text-xs-uppercase {
  text-transform: uppercase; }

.text-xs-lowercase {
  text-transform: lowercase; }

.text-xs-none {
  text-transform: none; }

.text-xs-full-width {
  text-transform: full-width; }

.text-sm-capitalize {
  text-transform: capitalize; }

.text-sm-uppercase {
  text-transform: uppercase; }

.text-sm-lowercase {
  text-transform: lowercase; }

.text-sm-none {
  text-transform: none; }

.text-sm-full-width {
  text-transform: full-width; }

.text-md-capitalize {
  text-transform: capitalize; }

.text-md-uppercase {
  text-transform: uppercase; }

.text-md-lowercase {
  text-transform: lowercase; }

.text-md-none {
  text-transform: none; }

.text-md-full-width {
  text-transform: full-width; }

.text-lg-capitalize {
  text-transform: capitalize; }

.text-lg-uppercase {
  text-transform: uppercase; }

.text-lg-lowercase {
  text-transform: lowercase; }

.text-lg-none {
  text-transform: none; }

.text-lg-full-width {
  text-transform: full-width; }

.text-xl-capitalize {
  text-transform: capitalize; }

.text-xl-uppercase {
  text-transform: uppercase; }

.text-xl-lowercase {
  text-transform: lowercase; }

.text-xl-none {
  text-transform: none; }

.text-xl-full-width {
  text-transform: full-width; }

/* ==========================================================================
   Vertical Rhythm
   ========================================================================== */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/* ==========================================================================
   Z-index
   ========================================================================== */
/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIm1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW9zL3NyYy9zYXNzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYW9zL3NyYy9zYXNzL19lYXNpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hb3Mvc3JjL3Nhc3MvX2FuaW1hdGlvbnMuc2NzcyIsInRvb2xzL19leHRlbmRzLnNjc3MiLCJ0b29scy9fbWl4aW5zLnNjc3MiLCJzZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIiwidG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwiZ2VuZXJpYy9fYmFzZS5zY3NzIiwic2V0dGluZ3MvX2NvbG9yLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9fc2VjdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1kZWZhdWx0LnNjc3MiLCJjb21wb25lbnRzL19kb3VibGUtY29sdW1ucy5zY3NzIiwiY29tcG9uZW50cy9fZG93bmxvYWQuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2ludHJvZHVjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fbGFuZ3VhZ2UtbWVudS5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxhdGVzdC5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1saXN0LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fb3dsLWNhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX3N1Ym1lbnUuc2NzcyIsImNvbXBvbmVudHMvX3RleHQtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3Zpc2l0LnNjc3MiLCJ1dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIiwic2V0dGluZ3MvX3otaW5kZXguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0Usa0JBQWlCO0VBQUUsT0FBTztFQUMxQiwrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VB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R0FFRztBQUtHO0VyQzBCRixnQkN4Q1E7RUR5Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3ZDUTtFRHdDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDdENRO0VEdUNSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkNyQ1E7RURzQ1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3BDUTtFRHFDUixnQkU5QitCO0VGbUMvQixtQkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDbkNRO0VEb0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkNsQ087RURtQ1Asa0JFOUIrQjtFRm1DL0IscUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3hDUTtFRHlDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDdkNRO0VEd0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkN0Q1E7RUR1Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3JDUTtFRHNDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDcENRO0VEcUNSLGdCRTlCK0I7RUZtQy9CLG1CQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkNuQ1E7RURvQ1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ2xDTztFRG1DUCxrQkU5QitCO0VGbUMvQixxQkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDeENRO0VEeUNSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkN2Q1E7RUR3Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3RDUTtFRHVDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDckNRO0VEc0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkNwQ1E7RURxQ1IsZ0JFOUIrQjtFRm1DL0IsbUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ25DUTtFRG9DUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDbENPO0VEbUNQLGtCRTlCK0I7RUZtQy9CLHFCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkN4Q1E7RUR5Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3ZDUTtFRHdDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDdENRO0VEdUNSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkNyQ1E7RURzQ1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3BDUTtFRHFDUixnQkU5QitCO0VGbUMvQixtQkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDbkNRO0VEb0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkNsQ087RURtQ1Asa0JFOUIrQjtFRm1DL0IscUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3hDUTtFRHlDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDdkNRO0VEd0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkN0Q1E7RUR1Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ3JDUTtFRHNDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRXFDOUI3Qzs7QUFGRDtFckMwQkYsZ0JDcENRO0VEcUNSLGdCRTlCK0I7RUZtQy9CLG1CQUFnRCxFcUM5QjdDOztBQUZEO0VyQzBCRixnQkNuQ1E7RURvQ1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEVxQzlCN0M7O0FBRkQ7RXJDMEJGLGdCQ2xDTztFRG1DUCxrQkU5QitCO0VGbUMvQixxQkFBZ0QsRXFDOUI3Qzs7QUFNUDs7R0FFRztBQUtHO0VBQ0UsaUJBRm9CLEVBR3JCOztBQUZEO0VBQ0Usa0JBRjJCLEVBRzVCOztBQUZEO0VBQ0UsbUJBRm1DLEVBR3BDOztBQUZEO0VBQ0UsaUJBRm9CLEVBR3JCOztBQUZEO0VBQ0Usa0JBRjJCLEVBRzVCOztBQUZEO0VBQ0UsbUJBRm1DLEVBR3BDOztBQUZEO0VBQ0UsaUJBRm9CLEVBR3JCOztBQUZEO0VBQ0Usa0JBRjJCLEVBRzVCOztBQUZEO0VBQ0UsbUJBRm1DLEVBR3BDOztBQUZEO0VBQ0UsaUJBRm9CLEVBR3JCOztBQUZEO0VBQ0Usa0JBRjJCLEVBRzVCOztBQUZEO0VBQ0UsbUJBRm1DLEVBR3BDOztBQUZEO0VBQ0UsaUJBRm9CLEVBR3JCOztBQUZEO0VBQ0Usa0JBRjJCLEVBRzVCOztBQUZEO0VBQ0UsbUJBRm1DLEVBR3BDOztBQU1QOzs7O0dBSUc7QUFPRztFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFGRDtFQUNFLGlCQUFhLEVBQ2Q7O0FBRkQ7RUFDRSxpQkFBYSxFQUNkOztBQUZEO0VBQ0UsaUJBQWEsRUFDZDs7QUFNUDs7R0FFRztBQUtHO0VBQ0UsMkJBRjBCLEVBRzNCOztBQUZEO0VBQ0UsMEJBRnFDLEVBR3RDOztBQUZEO0VBQ0UsMEJBRmdELEVBR2pEOztBQUZEO0VBQ0UscUJBRnNELEVBR3ZEOztBQUZEO0VBQ0UsMkJBRmtFLEVBR25FOztBQUZEO0VBQ0UsMkJBRjBCLEVBRzNCOztBQUZEO0VBQ0UsMEJBRnFDLEVBR3RDOztBQUZEO0VBQ0UsMEJBRmdELEVBR2pEOztBQUZEO0VBQ0UscUJBRnNELEVBR3ZEOztBQUZEO0VBQ0UsMkJBRmtFLEVBR25FOztBQUZEO0VBQ0UsMkJBRjBCLEVBRzNCOztBQUZEO0VBQ0UsMEJBRnFDLEVBR3RDOztBQUZEO0VBQ0UsMEJBRmdELEVBR2pEOztBQUZEO0VBQ0UscUJBRnNELEVBR3ZEOztBQUZEO0VBQ0UsMkJBRmtFLEVBR25FOztBQUZEO0VBQ0UsMkJBRjBCLEVBRzNCOztBQUZEO0VBQ0UsMEJBRnFDLEVBR3RDOztBQUZEO0VBQ0UsMEJBRmdELEVBR2pEOztBQUZEO0VBQ0UscUJBRnNELEVBR3ZEOztBQUZEO0VBQ0UsMkJBRmtFLEVBR25FOztBQUZEO0VBQ0UsMkJBRjBCLEVBRzNCOztBQUZEO0VBQ0UsMEJBRnFDLEVBR3RDOztBQUZEO0VBQ0UsMEJBRmdELEVBR2pEOztBQUZEO0VBQ0UscUJBRnNELEVBR3ZEOztBQUZEO0VBQ0UsMkJBRmtFLEVBR25FOztBQzdFUDs7Z0ZBRWdGO0FBSzlFO0VBQ0UsbUJBQWUsRUFDaEI7O0FBRkQ7RUFDRSxtQkFBZSxFQUNoQjs7QUFGRDtFQUNFLG9CQUFlLEVBQ2hCOztBQUZEO0VBQ0Usb0JBQWUsRUFDaEI7O0FBRkQ7RUFDRSxvQkFBZSxFQUNoQjs7QUFGRDtFQUNFLG9CQUFlLEVBQ2hCOztBQUZEO0VBQ0Usb0JBQWUsRUFDaEI7O0FBRkQ7RUFDRSxvQkFBZSxFQUNoQjs7QUFGRDtFQUNFLG9CQUFlLEVBQ2hCOztBQUZEO0VBQ0Usb0JBQWUsRUFDaEI7O0FBRkQ7RUFDRSxvQkFBZSxFQUNoQjs7QUNUSDs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBR0Q7RUFDRSxXQ0ZLLEVER047O0FBRkQ7RUFDRSxZQ0RNLEVERVA7O0FBRkQ7RUFDRSxZQ0FNLEVEQ1A7O0FBRkQ7RUFDRSxZQ0NNLEVEQVA7O0FBRkQ7RUFDRSxZQ0VNLEVERFA7O0FBRkQ7RUFDRSxZQ0dNLEVERlA7O0FBRkQ7RUFDRSxZQ0lNLEVESFA7O0FBRkQ7RUFDRSxZQ0tNLEVESlA7O0FBRkQ7RUFDRSxZQ01NLEVETFA7O0FBRkQ7RUFDRSxZQ09NLEVETlA7O0FBRkQ7RUFDRSxhQ1FPLEVEUFIiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovIH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyLFxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udDogaW5oZXJpdDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ncmFiIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAvKipcblx0XHRcdFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuXHRcdFx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdFx0ICovIH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSkge1xuICAgIG1heC1oZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogODBweDtcbiAgd2lkdGg6IDgwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIm93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10biB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzMwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSczMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzMwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMzAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzMwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSczNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMzUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSczNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMzUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzM1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzQwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzQwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc0MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzQ1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc0NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzQ1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc0NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNDUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzQ1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc1MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc1MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzUwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzU1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzU1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc1NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDU1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzYwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc2MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDYwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzYwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc2MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNjAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzYwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc2NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNjUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc2NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNjUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzY1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc2NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzcwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzcwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc3MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249Jzc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc3NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9Jzc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc3NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzc1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc4MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nODAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc4MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nODAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzgwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc4MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogODAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249Jzg1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogODUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzg1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc4NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nODUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDg1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzkwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc5MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDkwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzkwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc5MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nOTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzkwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc5NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nOTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc5NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nOTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9Jzk1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc5NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogOTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTAwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMDAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTAwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEwMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTAwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTA1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMDUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTA1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEwNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTA1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTEwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTEwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzExMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTEwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTE1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTE1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzExNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTE1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMjAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMjAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEyMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTIwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTI1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMjUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTI1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMjUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEyNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTI1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTMwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMzAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTMwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMzAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEzMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTMwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMzUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMzUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEzNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTM1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTQwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNDAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTQwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNDAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE0MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTQwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTQ1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNDUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTQ1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNDUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE0NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTQ1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE1MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTUwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTU1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTU1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE1NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTU1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTYwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNjAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTYwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNjAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE2MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTYwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNjUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNjUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE2NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTY1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTcwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNzAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTcwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNzAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE3MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTcwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxNzUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNzUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE3NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTc1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxNzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxODAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxODAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxODAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE4MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTgwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxODAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTg1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxODUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxODUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTg1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxODUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE4NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTg1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxODUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTkwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxOTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxOTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTkwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxOTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE5MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTkwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxOTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxOTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxOTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxOTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE5NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTk1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxOTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjAwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMDAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjAwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIwMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjAwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjA1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMDUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjA1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIwNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjA1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjEwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjEwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIxMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjEwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjE1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjE1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIxNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjE1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMjAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMjAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIyMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjIwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjI1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMjUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjI1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMjUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIyNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjI1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjMwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMzAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjMwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMzAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIzMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjMwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMzUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMzUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzIzNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjM1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjQwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNDAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjQwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNDAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI0MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjQwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjQ1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNDUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjQ1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNDUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI0NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjQ1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI1MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjUwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjU1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjU1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI1NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjU1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjYwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNjAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjYwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNjAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI2MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjYwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNjUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNjUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI2NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjY1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjcwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNzAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjcwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNzAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI3MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjcwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNzUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNzUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI3NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjc1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyODAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyODAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyODAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI4MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjgwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyODAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjg1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyODUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyODUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjg1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyODUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI4NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjg1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyODUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjkwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyOTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyOTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjkwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyOTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI5MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjkwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyOTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyOTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyOTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyOTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI5NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjk1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyOTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMzAwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSczMDAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMzAwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczMDAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzMwMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMzAwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJsaW5lYXJcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwibGluZWFyXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjc1LCAwLjc1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2VcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZVwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC4xLCAwLjI1LCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW5cIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pblwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40MiwgMCwgMSwgMSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC41OCwgMSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLWJhY2tcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1iYWNrXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjYsIC0wLjI4LCAwLjczNSwgMC4wNDUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtYmFja1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1iYWNrXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LWJhY2tcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtYmFja1wiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tc2luZVwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLXNpbmVcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1zaW5lXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LXNpbmVcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1zaW5lXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXNpbmVcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tcXVhZFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLXF1YWRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LXF1YWRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtcXVhZFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1xdWFkXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXF1YWRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1jdWJpY1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLWN1YmljXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1jdWJpY1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1jdWJpY1wiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1jdWJpY1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1jdWJpY1wiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLXF1YXJ0XCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tcXVhcnRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LXF1YXJ0XCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LXF1YXJ0XCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXF1YXJ0XCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXF1YXJ0XCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTsgfVxuXG4vKipcbiAqIEZhZGUgYW5pbWF0aW9uczpcbiAqIGZhZGVcbiAqIGZhZGUtdXAsIGZhZGUtZG93biwgZmFkZS1sZWZ0LCBmYWRlLXJpZ2h0XG4gKiBmYWRlLXVwLXJpZ2h0LCBmYWRlLXVwLWxlZnQsIGZhZGUtZG93bi1yaWdodCwgZmFkZS1kb3duLWxlZnRcbiAqL1xuW2RhdGEtYW9zXj0nZmFkZSddW2RhdGEtYW9zXj0nZmFkZSddIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gIFtkYXRhLWFvc149J2ZhZGUnXVtkYXRhLWFvc149J2ZhZGUnXS5hb3MtYW5pbWF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDBweCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMHB4LCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMHB4LCAwLCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDBweCwgMCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLXVwLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDBweCwgMTAwcHgsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS11cC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMHB4LCAxMDBweCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMHB4LCAtMTAwcHgsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwcHgsIC0xMDBweCwgMCk7IH1cblxuLyoqXG4gKiBab29tIGFuaW1hdGlvbnM6XG4gKiB6b29tLWluLCB6b29tLWluLXVwLCB6b29tLWluLWRvd24sIHpvb20taW4tbGVmdCwgem9vbS1pbi1yaWdodFxuICogem9vbS1vdXQsIHpvb20tb3V0LXVwLCB6b29tLW91dC1kb3duLCB6b29tLW91dC1sZWZ0LCB6b29tLW91dC1yaWdodFxuICovXG5bZGF0YS1hb3NePSd6b29tJ11bZGF0YS1hb3NePSd6b29tJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07IH1cbiAgW2RhdGEtYW9zXj0nem9vbSddW2RhdGEtYW9zXj0nem9vbSddLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7IH1cblxuW2RhdGEtYW9zPSd6b29tLWluJ10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7IH1cblxuW2RhdGEtYW9zPSd6b29tLWluLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMHB4LCAwKSBzY2FsZSgwLjYpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1pbi1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDBweCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMHB4LCAwLCAwKSBzY2FsZSgwLjYpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1pbi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMHB4LCAwLCAwKSBzY2FsZSgwLjYpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1vdXQnXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMHB4LCAwKSBzY2FsZSgxLjIpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwcHgsIDApIHNjYWxlKDEuMik7IH1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwcHgsIDAsIDApIHNjYWxlKDEuMik7IH1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMHB4LCAwLCAwKSBzY2FsZSgxLjIpOyB9XG5cbi8qKlxuICogU2xpZGUgYW5pbWF0aW9uc1xuICovXG5bZGF0YS1hb3NePSdzbGlkZSddW2RhdGEtYW9zXj0nc2xpZGUnXSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICBbZGF0YS1hb3NePSdzbGlkZSddW2RhdGEtYW9zXj0nc2xpZGUnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG5bZGF0YS1hb3M9J3NsaWRlLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG5cbltkYXRhLWFvcz0nc2xpZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cblxuW2RhdGEtYW9zPSdzbGlkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cblxuW2RhdGEtYW9zPSdzbGlkZS1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi8qKlxuICogRmxpcCBhbmltYXRpb25zOlxuICogZmxpcC1sZWZ0LCBmbGlwLXJpZ2h0LCBmbGlwLXVwLCBmbGlwLWRvd25cbiAqL1xuW2RhdGEtYW9zXj0nZmxpcCddW2RhdGEtYW9zXj0nZmxpcCddIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cblxuW2RhdGEtYW9zPSdmbGlwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKC0xMDBkZWcpOyB9XG4gIFtkYXRhLWFvcz0nZmxpcC1sZWZ0J10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApOyB9XG5cbltkYXRhLWFvcz0nZmxpcC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMTAwZGVnKTsgfVxuICBbZGF0YS1hb3M9J2ZsaXAtcmlnaHQnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7IH1cblxuW2RhdGEtYW9zPSdmbGlwLXVwJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgtMTAwZGVnKTsgfVxuICBbZGF0YS1hb3M9J2ZsaXAtdXAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7IH1cblxuW2RhdGEtYW9zPSdmbGlwLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDEwMGRlZyk7IH1cbiAgW2RhdGEtYW9zPSdmbGlwLWRvd24nXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVhZGluZ3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jbXMtb3V0cHV0IGgxLCAuY29udGVudC1kZWZhdWx0X190aXRsZS5oZWFkaW5nLTEsIC5kb3VibGUtY29sdW1uc19fdGl0bGUuaGVhZGluZy0xLCAuZG93bmxvYWRfX3RpdGxlLmhlYWRpbmctMSwgLmludHJvZHVjdGlvbl9fdGl0bGUsIC5uZXdzLWxhdGVzdF9fdGl0bGUsIC5uZXdzLWludHJvZHVjdGlvbl9fdGl0bGUsIC5uZXdzLXNpbmdsZV9fdGl0bGUsIC50ZXh0LWltYWdlX190aXRsZS5oZWFkaW5nLTEsIC52aXNpdF9fdGl0bGUge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4wNDE2N2VtO1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi5jbXMtb3V0cHV0IGgyLCAuY29udGVudC1kZWZhdWx0X190aXRsZS5oZWFkaW5nLTIsIC5kb3VibGUtY29sdW1uc19fdGl0bGUuaGVhZGluZy0yLCAuZG93bmxvYWRfX3RpdGxlLmhlYWRpbmctMiwgLmhlYWRlci1pbWFnZV9fdGV4dC10aXRsZSwgLnRleHQtaW1hZ2VfX3RpdGxlLmhlYWRpbmctMiB7XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgZm9udC1zaXplOiAzLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMwMzAzZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLmNtcy1vdXRwdXQgaDMsIC5jb250ZW50LWRlZmF1bHRfX3RpdGxlLmhlYWRpbmctMywgLmRvdWJsZS1jb2x1bW5zX190aXRsZS5oZWFkaW5nLTMsIC5kb3dubG9hZF9fdGl0bGUuaGVhZGluZy0zLCAudGV4dC1pbWFnZV9fdGl0bGUuaGVhZGluZy0zIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc3NzhlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCYXNlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxyXG4gKlxyXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cclxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXHJcbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIFNldCByb290IGZvbnQgc2l6ZSB0byAxMC5cclxuICovXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qKlxyXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cclxuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBGaXJlZm94IDI1Ky5cclxuICogMi4gQ2hyb21lIDUrLlxyXG4gKi9cbmJvZHkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVlbTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzQwNTk2YjtcbiAgZm9udC1mYW1pbHk6IFwiQXNzaXN0YW50XCI7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLyogMSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLyogMiAqLyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJlc2V0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cclxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXHJcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXHJcbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cclxuICovXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDEgKi9cbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG5ociB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxyXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxyXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMSAqLyB9XG5cbi8qKlxyXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXHJcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICovXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbnAge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXG50YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLyogMSAqLyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGFpbmVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVGhlIGNvbnRhaW5lciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cclxuICovXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMjRweCArIDUwLjY2NjY3cHgpO1xuICBwYWRkaW5nOiAwIDI1LjMzMzMzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IENvbnN0cmFpbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cbi5jb250ZW50LWNvbnN0cmFpbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZsZXhcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qKlxyXG4gKiBGbGV4IG9iamVjdCB3aXRoIGEgY29sdW1uIGJhc2VkIGxheW91dCBzeXN0ZW0uXHJcbiAqL1xuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IC0xMi42NjY2N3B4OyB9XG4gIC5yb3cud3JhcCB7XG4gICAgbWFyZ2luOiAwIC0xMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gKiBSZXZlcnNlIGZsZXggZGlyZWN0aW9uLlxyXG4gKi9cbi5yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qKlxyXG4gKiBDb2x1bW4uXHJcbiAqL1xuLmNvbCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXHJcbiAqL1xuLmJveCB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi8qKlxyXG4gKiBDb2x1bW5zLlxyXG4gKi9cbi5jb2wteHMtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4ub2Zmc2V0LXhzLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmNvbC14cy0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4ub2Zmc2V0LXhzLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5jb2wteHMtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uY29sLXhzLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmNvbC14cy01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4ub2Zmc2V0LXhzLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5jb2wteHMtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uY29sLXhzLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4ub2Zmc2V0LXhzLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5jb2wteHMtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uY29sLXhzLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4ub2Zmc2V0LXhzLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uY29sLXhzLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4ub2Zmc2V0LXhzLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uY29sLXhzLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnRvcC14cyB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5taWRkbGUteHMge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5ib3R0b20teHMge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLnN0cmV0Y2gteHMge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYmFzZWxpbmUteHMge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLnN0YXJ0LXhzIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5jZW50ZXIteHMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZW5kLXhzIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYmV0d2Vlbi14cyB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYXJvdW5kLXhzIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmZpcnN0LXhzIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi5sYXN0LXhzIHtcbiAgb3JkZXI6IDE7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuY29sLXNtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5jb2wtc20tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAub2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1zbS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5jb2wtc20tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAub2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC1zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5jb2wtc20tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAub2Zmc2V0LXNtLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jb2wtc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuY29sLXNtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudG9wLXNtIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAubWlkZGxlLXNtIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5ib3R0b20tc20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuc3RyZXRjaC1zbSB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJhc2VsaW5lLXNtIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLnN0YXJ0LXNtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNlbnRlci1zbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmVuZC1zbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuYmV0d2Vlbi1zbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5hcm91bmQtc20ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5maXJzdC1zbSB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC5sYXN0LXNtIHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmNvbC1tZC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNvbC1tZC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm9mZnNldC1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtbWQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1tZC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm9mZnNldC1tZC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wtbWQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LW1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1tZC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm9mZnNldC1tZC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wtbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5vZmZzZXQtbWQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC1tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRvcC1tZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLm1pZGRsZS1tZCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYm90dG9tLW1kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLnN0cmV0Y2gtbWQge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5iYXNlbGluZS1tZCB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC5zdGFydC1tZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jZW50ZXItbWQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5lbmQtbWQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmJldHdlZW4tbWQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuYXJvdW5kLW1kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAuZmlyc3QtbWQge1xuICAgIG9yZGVyOiAtMTsgfVxuICAubGFzdC1tZCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jb2wtbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtbGctMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1sZy0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY29sLWxnLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbGctNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LWxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1sZy02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5vZmZzZXQtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLWxnLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LWxnLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1sZy05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY29sLWxnLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAub2Zmc2V0LWxnLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbGctMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50b3AtbGcge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5taWRkbGUtbGcge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmJvdHRvbS1sZyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5zdHJldGNoLWxnIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYmFzZWxpbmUtbGcge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAuc3RhcnQtbGcge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY2VudGVyLWxnIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZW5kLWxnIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5iZXR3ZWVuLWxnIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmFyb3VuZC1sZyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmZpcnN0LWxnIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmxhc3QtbGcge1xuICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbC14bC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNvbC14bC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLXhsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm9mZnNldC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wteGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC14bC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLXhsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wteGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC14bC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLXhsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm9mZnNldC14bC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wteGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLXhsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC14bC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRvcC14bCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLm1pZGRsZS14bCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYm90dG9tLXhsIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLnN0cmV0Y2gteGwge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5iYXNlbGluZS14bCB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC5zdGFydC14bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jZW50ZXIteGwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5lbmQteGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmJldHdlZW4teGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuYXJvdW5kLXhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAuZmlyc3QteGwge1xuICAgIG9yZGVyOiAtMTsgfVxuICAubGFzdC14bCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWN0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBXcmFwcGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVGhlIHdyYXBwZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IGNhbGMoMTI0MHB4ICsgNjBweCk7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9IH1cblxuLndyYXBwZXItLXNtYWxsIHtcbiAgbWF4LXdpZHRoOiA5MDBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCcmVhZGNydW1ic1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICNhN2I4YzQ7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMDA5ZGRjO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmJyZWFkY3J1bWJzIHN2ZyB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgdmVydGljYWwtYWxpZ246IC0xcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQnV0dG9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYnV0dG9uLCAuY21zLW91dHB1dCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTcxNDNlbTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE4cHggMjVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyODBtcywgY29sb3IgMjgwbXM7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnV0dG9uIHN2ZywgLmNtcy1vdXRwdXQgLmJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDsgfVxuXG4vKipcclxuICogQmx1ZSBidXR0b24uXHJcbiAqL1xuLmJ1dHRvbi0tYmx1ZSwgLmNtcy1vdXRwdXQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDlkZGM7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAuYnV0dG9uLS1ibHVlOmhvdmVyLCAuY21zLW91dHB1dCAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4YmMzOyB9XG5cbi8qKlxyXG4gKiBUcmFuc3BhcmVudCB3aXRoIGJvcmRlci5cclxuICovXG4uYnV0dG9uLS10cmFucyB7XG4gIHBhZGRpbmc6IDZweCAzMHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjNDA1OTZiOyB9XG4gIC5idXR0b24tLXRyYW5zOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA1OTZiO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcclxuICogQWxlcnQgW2V4Y2xhbWF0aW9uXS5cclxuICovXG4uYnV0dG9uLS1hbGVydCB7XG4gIHBhZGRpbmc6IDdweCAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUwMDAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmJ1dHRvbi0tYWxlcnQgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmJ1dHRvbi0tYWxlcnQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTAwMDA7IH1cblxuLyoqXHJcbiAqIERvd25sb2FkLlxyXG4gKi9cbi5idXR0b24tLWRvd25sb2FkIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICAuYnV0dG9uLS1kb3dubG9hZCBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDTVMgT3V0cHV0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXG4uY21zLW91dHB1dCA+ICo6bm90KDpsYXN0LWNoaWxkKTpub3QoaDEpOm5vdChoMik6bm90KGgzKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbi5jbXMtb3V0cHV0IGgxIHtcbiAgbWFyZ2luLXRvcDogNzVweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5jbXMtb3V0cHV0IGgyIHtcbiAgbWFyZ2luLXRvcDogNzVweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5jbXMtb3V0cHV0IGgzIHtcbiAgbWFyZ2luLXRvcDogNzVweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5jbXMtb3V0cHV0IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY21zLW91dHB1dCB1bCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7IH1cbiAgICAuY21zLW91dHB1dCB1bCBsaSBzdmcge1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLmNtcy1vdXRwdXQgdWwgbGkgc3BhbiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjZweCk7IH1cblxuLmNtcy1vdXRwdXQgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7IH1cblxuLmNtcy1vdXRwdXQgcCA+IGEge1xuICBjb2xvcjogYmxhY2s7IH1cbiAgLmNtcy1vdXRwdXQgcCA+IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jbXMtb3V0cHV0IC5leGNlcnB0IHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTQ1NDVlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IGRlZmF1bHRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250ZW50LWRlZmF1bHQge1xuICBwYWRkaW5nOiA5MHB4IDA7IH1cbiAgLmNvbnRlbnQtZGVmYXVsdC5iYWNrZ3JvdW5kLWNvbG9yLWdyYWRpZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmIDAlLCAjZWZmNGY5IDEwMCUpOyB9XG5cbi5jb250ZW50LWRlZmF1bHRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKipcclxuICogQ29udGFjdCBpbmZvcm1hdGlvbi5cclxuICovXG4uY29udGFjdC1pbmZvIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uY29udGFjdC1pbmZvX19yb3cge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5jb250YWN0LWluZm9fX2xhYmVsIHtcbiAgd2lkdGg6IDE0MHB4OyB9XG5cbi5jb250YWN0LWluZm9fX3N0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLyoqXHJcbiAqIEJvcmRlciB0b3AuXHJcbiAqL1xuLmRvdWJsZS1jb2x1bW5zICsgLmNvbnRlbnQtZGVmYXVsdCB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjBmM2Y1OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRlbnQgZGVmYXVsdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRvdWJsZS1jb2x1bW5zIHtcbiAgcGFkZGluZzogOTBweCAwOyB9XG5cbi5kb3VibGUtY29sdW1uc19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIERvd25sb2FkXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZG93bmxvYWQge1xuICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICBwYWRkaW5nOiA1MHB4IDA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWZmMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5kb3dubG9hZF9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qKlxyXG4gKiBCdXR0b24uXHJcbiAqL1xuLmRvd25sb2FkX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBmb250LXdlaWdodDogODAwOyB9XG4gIC5kb3dubG9hZF9fYnV0dG9uIHN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLyoqXHJcbiAqXHJcbiAqL1xuLnZpc2l0ICsgLndyYXBwZXIgPiAuZG93bmxvYWQge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuXG4uYmFja2dyb3VuZC1jb2xvci1ncmFkaWVudCArIC53cmFwcGVyID4gLmRvd25sb2FkIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9vdGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9vdGVyLXRvcCB7XG4gIHBhZGRpbmc6IDkwcHggMDtcbiAgYm94LXNoYWRvdzogMCAycHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7IH1cblxuLyoqXHJcbiAqIFRpdGxlLlxyXG4gKi9cbi5mb290ZXJfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmZvb3Rlcl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH0gfVxuXG4vKipcclxuICogTGlua3MuXHJcbiAqL1xuLmZvb3Rlcl9fbGlua3MgYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDI4MG1zOyB9XG4gIC5mb290ZXJfX2xpbmtzIGEgc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuZm9vdGVyX19saW5rcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwOWRkYzsgfVxuXG4vKipcclxuICogT3BlbmluZyBob3Vycy5cclxuICovXG4uZm9vdGVyX19vcGVuaW5nLWhvdXJzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZm9vdGVyX19vcGVuaW5nLWhvdXJzLWxhYmVsIHtcbiAgd2lkdGg6IDExNXB4OyB9XG5cbi8qKlxyXG4gKiBGb290ZXIgYm90dG9tLlxyXG4gKi9cbi5mb290ZXItYm90dG9tIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2YwZjNmNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkZXIgaW1hZ2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBJbWFnZS5cclxuICovXG4uaGVhZGVyLWltYWdlX19pbWFnZSB7XG4gIGhlaWdodDogNDczcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5oZWFkZXItaW1hZ2VfX2ltYWdlIHtcbiAgICAgIGhlaWdodDogMjc2cHg7IH0gfVxuICAuaGVhZGVyLWltYWdlX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4vKipcclxuICogVGV4dCBibG9jay5cclxuICovXG4uaGVhZGVyLWltYWdlX190ZXh0IHtcbiAgYm90dG9tOiAtNzVweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICBwYWRkaW5nOiAzNXB4IDcwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDM1cHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5oZWFkZXItaW1hZ2VfX3RleHQge1xuICAgICAgbWF4LXdpZHRoOiA1MTVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuaGVhZGVyLWltYWdlX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5oZWFkZXItaW1hZ2VfX3RleHQge1xuICAgICAgYm90dG9tOiAtNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuaGVhZGVyLWltYWdlX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTMwcHg7IH0gfVxuXG4uaGVhZGVyLWltYWdlX190ZXh0LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uaGVhZGVyLWltYWdlX190ZXh0LWRvd25sb2FkLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5oZWFkZXItaW1hZ2VfX3RleHQtZG93bmxvYWQge1xuICByaWdodDogMDtcbiAgbGVmdDogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBIZWFkZXIuXHJcbiAqL1xuLmhlYWRlciB7XG4gIHotaW5kZXg6IDk7IH1cbiAgLmhlYWRlci5pcy1ob21lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmM2Y1OyB9XG4gIC5oZWFkZXI6bm90KC5pcy1ob21lKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7IH1cbiAgICAuaGVhZGVyOm5vdCguaXMtaG9tZSkgLm1haW4tbWVudSA+IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uaGVhZGVyLXRvcCB7XG4gIHBhZGRpbmc6IDI4cHggMCAyOXB4OyB9XG5cbi5oZWFkZXItcmlnaHQge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5oZWFkZXItcmlnaHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuLyoqXHJcbiAqIExvZ28uXHJcbiAqL1xuLmxvZ29fX2RvY3RvcnMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzM2VtO1xuICBjb2xvcjogIzAwOWRkYztcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubG9nb19fdGl0bGUge1xuICBmb250LXNpemU6IDMxcHg7XG4gIGZvbnQtc2l6ZTogMy4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4zMjI1OGVtO1xuICBjb2xvcjogIzQwNTk2YjtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmxvZ29fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTc2OTJlbTsgfSB9XG5cbi8qKlxyXG4gKiBQaG9uZSBidXR0b25zIFtkZXNrdG9wXS5cclxuICovXG4uaGVhZGVyLXBob25lLWJ1dHRvbnMtLWRlc2t0b3Age1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICBtYXJnaW4tbGVmdDogLTE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuaGVhZGVyLXBob25lLWJ1dHRvbnMtLWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuaGVhZGVyLXBob25lLWJ1dHRvbnMtLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItcGhvbmUtYnV0dG9ucy0tZGVza3RvcCAuaGVhZGVyLXBob25lLWJ1dHRvbnNfX3Bob25lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCAxNXB4OyB9XG4gICAgLmhlYWRlci1waG9uZS1idXR0b25zLS1kZXNrdG9wIC5oZWFkZXItcGhvbmUtYnV0dG9uc19fcGhvbmUgc3ZnIHtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5oZWFkZXItcGhvbmUtYnV0dG9ucy0tZGVza3RvcCAuaGVhZGVyLXBob25lLWJ1dHRvbnNfX3Bob25lOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6ICNhN2I4YzQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmhlYWRlci1waG9uZS1idXR0b25zLS1kZXNrdG9wIC5oZWFkZXItcGhvbmUtYnV0dG9uc19fcGhvbmU6bm90KC5idXR0b24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXItcGhvbmUtYnV0dG9ucy0tdGFibGV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSBhbmQgKG1pbi13aWR0aDogNzQ1cHgpIHtcbiAgICAuaGVhZGVyLXBob25lLWJ1dHRvbnMtLXRhYmxldCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDI3MHB4O1xuICAgICAgY29sb3I6ICNhN2I4YzQ7IH1cbiAgICAgIC5oZWFkZXItcGhvbmUtYnV0dG9ucy0tdGFibGV0IC5oZWFkZXItcGhvbmUtYnV0dG9uc19fcGhvbmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogODVweDsgfVxuICAgICAgICAuaGVhZGVyLXBob25lLWJ1dHRvbnMtLXRhYmxldCAuaGVhZGVyLXBob25lLWJ1dHRvbnNfX3Bob25lID4gc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7IH0gfVxuXG4uaGVhZGVyLXBob25lLWJ1dHRvbnMtLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5oZWFkZXItcGhvbmUtYnV0dG9ucy0tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuaGVhZGVyLXBob25lLWJ1dHRvbnMtLW1vYmlsZSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDMzLjMzMzQlO1xuICAgIGhlaWdodDogODVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjNmNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogI2E3YjhjNDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItcGhvbmUtYnV0dG9ucy0tbW9iaWxlIGEgPiBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgLmhlYWRlci1waG9uZS1idXR0b25zLS1tb2JpbGUgYSBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE1cHg7IH1cbiAgICAuaGVhZGVyLXBob25lLWJ1dHRvbnMtLW1vYmlsZSBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YwZjNmNTsgfVxuICAgIC5oZWFkZXItcGhvbmUtYnV0dG9ucy0tbW9iaWxlIGE6bGFzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogI2VlMDAwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyoqXHJcbiAqIEhlYWRlciBuYXZpZ2F0aW9uLlxyXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEludHJvZHVjdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmludHJvZHVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmYgMCUsICNlZmY0ZjkgMTAwJSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5pbnRyb2R1Y3Rpb24ge1xuICAgICAgcGFkZGluZzogMTUwcHggMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmludHJvZHVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuLmludHJvZHVjdGlvbl9fc3VidGl0bGUge1xuICBjb2xvcjogIzAwOWRkYztcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uaW50cm9kdWN0aW9uX190aXRsZSB7XG4gIG1hcmdpbjogMTVweCAwIDMwcHg7IH1cblxuLmludHJvZHVjdGlvbl9fY29sdW1ucyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaW50cm9kdWN0aW9uX19jb2x1bW5zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA1MHB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmludHJvZHVjdGlvbl9fY29sdW1ucyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5pbnRyb2R1Y3Rpb25fX2NvbHVtbiB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5pbnRyb2R1Y3Rpb25fX2NvbHVtbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5pbnRyb2R1Y3Rpb25fX2NvbHVtbi0tcmlnaHQge1xuICBtYXgtd2lkdGg6IDUyOHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmludHJvZHVjdGlvbl9fY29sdW1uLS1yaWdodCB7XG4gICAgICBwYWRkaW5nOiAxODBweCAwIDEwMHB4OyB9IH1cblxuLyoqXHJcbiAqIFRleHQuXHJcbiAqL1xuLmludHJvZHVjdGlvbl9fdGV4dC13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzc4cHg7IH1cbiAgLmludHJvZHVjdGlvbl9fdGV4dC13cmFwcGVyIC5idXR0b24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLmludHJvZHVjdGlvbl9fZWRpdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4vKipcclxuICogSW1hZ2VzLlxyXG4gKi9cbi5pbnRyb2R1Y3Rpb25fX2ltYWdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5pbnRyb2R1Y3Rpb25fX2ltYWdlcyB7XG4gICAgICBtYXJnaW46IC0yMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5pbnRyb2R1Y3Rpb25fX2ltYWdlcyAub3dsLXN0YWdlLW91dGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5pbnRyb2R1Y3Rpb25fX2ltYWdlcyAub3dsLXN0YWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmludHJvZHVjdGlvbl9faW1hZ2VzIC5vd2wtaXRlbSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzMHB4OyB9IH1cbiAgLmludHJvZHVjdGlvbl9faW1hZ2VzLm93bC1jYXJvdXNlbCAub3dsLWRvdHMge1xuICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9XG5cbi5pbnRyb2R1Y3Rpb25fX2ltYWdlLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDUwcHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmludHJvZHVjdGlvbl9faW1hZ2UtaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0Ny41JTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmludHJvZHVjdGlvbl9faW1hZ2UtaXRlbSB7XG4gICAgICBwYWRkaW5nOiAzcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmludHJvZHVjdGlvbl9faW1hZ2UtaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7IH0gfVxuICAuaW50cm9kdWN0aW9uX19pbWFnZS1pdGVtIGltZyB7XG4gICAgdG9wOiA0cHg7XG4gICAgcmlnaHQ6IDRweDtcbiAgICBib3R0b206IDRweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaW50cm9kdWN0aW9uX19pbWFnZS1pdGVtIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5pbnRyb2R1Y3Rpb25fX2ltYWdlLWl0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIG1hcmdpbi10b3A6IC01NXB4OyB9IH1cbiAgLmludHJvZHVjdGlvbl9faW1hZ2UtaXRlbTpob3ZlciAuaW50cm9kdWN0aW9uX19pbWFnZS10ZXh0IHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5pbnRyb2R1Y3Rpb25fX2ltYWdlLXRleHQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiAyODBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaW50cm9kdWN0aW9uX19pbWFnZS10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaW50cm9kdWN0aW9uX19pbWFnZS10ZXh0LXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uaW50cm9kdWN0aW9uX19pbWFnZS10ZXh0LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMwMDlkZGM7IH1cbiAgLmludHJvZHVjdGlvbl9faW1hZ2UtdGV4dC1saW5rIHN2ZyB7XG4gICAgd2lkdGg6IDEzcHg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IH1cblxuLmludHJvZHVjdGlvbl9fbGluay1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDIwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmludHJvZHVjdGlvbl9fbGluay1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuICAuaW50cm9kdWN0aW9uX19saW5rLWJ1dHRvbiBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTGFuZ3VhZ2UgbWVudVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxhbmd1YWdlLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duOmhvdmVyIC53cG1sLWxzLXN1Yi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC53cG1sLWxzLWl0ZW0tdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLndwbWwtbHMtaXRlbS10b2dnbGU6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBTb2xpZFwiO1xuICAgICAgY29udGVudDogJ1xcZjBkNyc7IH1cbiAgICAud3BtbC1scy1pdGVtLXRvZ2dsZSA+IC5pbmxpbmUtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAud3BtbC1scy1zdWItbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLndwbWwtbHMtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7IH1cbiAgLndwbWwtbHMtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXM7IH1cbiAgICAud3BtbC1scy1saW5rIC53cG1sLWxzLW5hdGl2ZSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLndwbWwtbHMtbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC53cG1sLWxzLW5hdGl2ZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgbWluLXdpZHRoOiA2NXB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5sYW5ndWFnZS1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmxhbmd1YWdlLW1lbnUuaXMtYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gIC53cG1sLWxzLWl0ZW0tbGVnYWN5LWRyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAud3BtbC1scy1pdGVtLXRvZ2dsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLndwbWwtbHMtc3ViLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC53cG1sLWxzLWxpbms6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY29udGVudDogJ3wnOyB9XG4gIC53cG1sLWxzLWZsYWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndwbWwtbHMtbmF0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOYXZpZ2F0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogTmF2aWdhdGlvbiB3cmFwcGVyLlxyXG4gKi9cbi5uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgLTEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4vKipcclxuICogTmF2aWdhdGlvbiBtZW51LlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5uYXZpZ2F0aW9uLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDlkZGM7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5uYXZpZ2F0aW9uLW1lbnUgLm1haW4tbWVudS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubmF2aWdhdGlvbi1tZW51LmlzLWFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAgICAgLm5hdmlnYXRpb24tbWVudS5pcy1hY3RpdmUgLm1haW4tbWVudSA+IC5tZW51LWl0ZW0ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXMgNzAwbXMsIHRyYW5zZm9ybSA1MDBtcyA3MDBtcztcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAubmF2aWdhdGlvbi1tZW51LmlzLWFjdGl2ZSAubWFpbi1tZW51ID4gLm1lbnUtaXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDkwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTEwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTMwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCg1KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTUwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCg2KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTcwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCg3KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTkwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCg4KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjEwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCg5KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjMwMG1zOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUuaXMtYWN0aXZlIC5tYWluLW1lbnUgPiAubWVudS1pdGVtOm50aC1jaGlsZCgxMCkge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MDBtczsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5uYXZpZ2F0aW9uLW1lbnVfX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyoqXHJcbiAqIE5hdmlnYXRpb24gYnV0dG9uLlxyXG4gKi9cbi5uYXZpZ2F0aW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubmF2aWdhdGlvbi1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5uYXZpZ2F0aW9uLWJ1dHRvbiAubmF2aWdhdGlvbi1idXR0b24taWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA1NHB4O1xuICAgIGhlaWdodDogNTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjAzKTsgfVxuICAgIC5uYXZpZ2F0aW9uLWJ1dHRvbiAubmF2aWdhdGlvbi1idXR0b24taWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7IH1cbiAgLm5hdmlnYXRpb24tYnV0dG9uIC5uYXZpZ2F0aW9uLWJ1dHRvbi10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gIC5uYXZpZ2F0aW9uLWJ1dHRvbiAubmF2aWdhdGlvbi1idXR0b24taWNvbi0tY2xvc2UsXG4gIC5uYXZpZ2F0aW9uLWJ1dHRvbiAubmF2aWdhdGlvbi1idXR0b24tdGV4dC0tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm5hdmlnYXRpb24tYnV0dG9uIC5uYXZpZ2F0aW9uLWJ1dHRvbi10ZXh0LS1jbG9zZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5uYXZpZ2F0aW9uLWJ1dHRvbi5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI1cHg7XG4gICAgcmlnaHQ6IDMwcHg7IH1cbiAgICAubmF2aWdhdGlvbi1idXR0b24uaXMtYWN0aXZlIC5uYXZpZ2F0aW9uLWJ1dHRvbi1pY29uLS1jbG9zZSxcbiAgICAubmF2aWdhdGlvbi1idXR0b24uaXMtYWN0aXZlIC5uYXZpZ2F0aW9uLWJ1dHRvbi10ZXh0LS1jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLm5hdmlnYXRpb24tYnV0dG9uLmlzLWFjdGl2ZSAubmF2aWdhdGlvbi1idXR0b24taWNvbi0tb3BlbixcbiAgICAubmF2aWdhdGlvbi1idXR0b24uaXMtYWN0aXZlIC5uYXZpZ2F0aW9uLWJ1dHRvbi10ZXh0LS1vcGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqIFdvcmRQcmVzcyBtYWluIG1lbnUuXHJcbiAqL1xuLyoqXHJcbiAqIE1haW4gbWVudS5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFpbi1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCAtNXB4OyB9IH1cblxuLyoqXHJcbiAqIE1haW4gbWVudSBpdGVtLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5tYWluLW1lbnUgPiAubWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IDBtcztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyoqXHJcbiAqIE1haW4gbWVudSBsaW5rLlxyXG4gKi9cbi5tYWluLW1lbnUgPiAubWVudS1pdGVtID4gYSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubWFpbi1tZW51ID4gLm1lbnUtaXRlbSA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDI4MG1zO1xuICAgICAgY29sb3I6ICM0MDU5NmI7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAubWFpbi1tZW51ID4gLm1lbnUtaXRlbSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwOWRkYzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm1haW4tbWVudSA+IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMDgzMzNlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgY29sb3I6IHdoaXRlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm1haW4tbWVudSAuc3VibWVudSA+IC5tZW51LWl0ZW0gPiBhIHtcbiAgICBsaW5lLWhlaWdodDogNDFweDsgfSB9XG5cbi8qKlxyXG4gKiBNYWluIG1lbnUgaXRlbSBoYXMgY2hpbGRyZW4uXHJcbiAqL1xuLm1haW4tbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLm1haW4tbWVudSA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIC5zdWJtZW51LWNvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAgIC5tYWluLW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBhIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDEwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5tYWluLW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBhIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDEwcHg7IH0gfVxuXG4vKipcclxuICogQ3VycmVudCBtZW51IGl0ZW0uXHJcbiAqL1xuLm1haW4tbWVudSA+IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDU5NmI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAycHggNDBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgLm1haW4tbWVudSA+IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOZXdzIGl0ZW1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uZXdzLWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgbWFyZ2luOiAzMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm5ld3MtaXRlbSB7XG4gICAgICBtYXJnaW46IDE1cHg7IH0gfVxuICAubmV3cy1pdGVtOmhvdmVyIC5uZXdzLWl0ZW1fX2ltYWdlIHtcbiAgICBvcGFjaXR5OiAwLjY7IH1cbiAgLm5ld3MtaXRlbTpob3ZlciAubmV3cy1pdGVtX19ib2R5IHtcbiAgICBjb2xvcjogIzAwOWRkYzsgfVxuXG4vKipcclxuICogSW1hZ2UuXHJcbiAqL1xuLm5ld3MtaXRlbV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjUlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubmV3cy1pdGVtX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4vKipcclxuICogQm9keS5cclxuICovXG4ubmV3cy1pdGVtX19ib2R5IHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuXG4vKipcclxuICogVGl0bGUuXHJcbiAqL1xuLm5ld3MtaXRlbV9fdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4zODg4OWVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5ld3MgbGF0ZXN0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubmV3cy1sYXRlc3Qge1xuICBwYWRkaW5nOiAxNTBweCAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmIDAlLCAjZWZmNGY5IDEwMCUpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubmV3cy1sYXRlc3Qge1xuICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7IH0gfVxuXG4vKipcclxuICogU3VidGl0bGUuXHJcbiAqL1xuLm5ld3MtbGF0ZXN0X19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI2NjY3ZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiAjMDA5ZGRjO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qKlxyXG4gKiBUaXRsZS5cclxuICovXG4ubmV3cy1sYXRlc3RfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4vKipcclxuICogQnV0dG9uLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm5ld3MtbGF0ZXN0X19idXR0b24td3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5uZXdzLWxhdGVzdF9fYnV0dG9uLXdyYXBwZXItLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubmV3cy1sYXRlc3RfX2J1dHRvbi13cmFwcGVyLS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubmV3cy1sYXRlc3RfX2J1dHRvbi13cmFwcGVyLS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLm5ld3MtbGF0ZXN0X19idXR0b24td3JhcHBlci0tbW9iaWxlIC5uZXdzLWxhdGVzdF9fYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLm5ld3MtbGF0ZXN0X19idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxyXG4gKiBJdGVtcy5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5uZXdzLWxhdGVzdF9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAtMTVweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzLWxhdGVzdF9faXRlbXMge1xuICAgIG1hcmdpbjogLTMwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5uZXdzLWxhdGVzdF9faXRlbXMge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLm5ld3MtbGF0ZXN0X19pdGVtcyAubmV3cy1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOZXdzIGxpc3RcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uZXdzLWxpc3RfX2l0ZW1zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0xNXB4O1xuICBwYWRkaW5nOiA3NXB4IDA7IH1cbiAgLm5ld3MtbGlzdF9faXRlbXMgLm5ld3MtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzNCUgLSAzMHB4KTtcbiAgICBtYXJnaW46IDE1cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5uZXdzLWxpc3RfX2l0ZW1zIC5uZXdzLWl0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAzMHB4KTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLm5ld3MtbGlzdF9faXRlbXMgLm5ld3MtaXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsgfSB9XG5cbi8qKlxyXG4gKiBJbnRyb2R1Y3Rpb24gYmxvY2suXHJcbiAqL1xuLm5ld3MtaW50cm9kdWN0aW9uIHtcbiAgcGFkZGluZzogOTBweCAwIDEwMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmIDAlLCAjZWZmNGY5IDEwMCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm5ld3MtaW50cm9kdWN0aW9uX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLm5ld3MtaW50cm9kdWN0aW9uX19lZGl0b3Ige1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDNweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4vKipcclxuICogQXJyb3cuXHJcbiAqL1xuLm5ld3MtaW50cm9kdWN0aW9uX19hcnJvdyB7XG4gIHdpZHRoOiA2OXB4O1xuICBoZWlnaHQ6IDY5cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTsgfVxuICAubmV3cy1pbnRyb2R1Y3Rpb25fX2Fycm93IHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGNvbG9yOiAjMDA5ZGRjOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5ld3Mgc2luZ2xlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogSW1hZ2UuXHJcbiAqL1xuLm5ld3Mtc2luZ2xlX19pbWFnZSB7XG4gIGhlaWdodDogNDYzcHg7IH1cbiAgLm5ld3Mtc2luZ2xlX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4vKipcclxuICogQm9keS5cclxuICovXG4ubmV3cy1zaW5nbGVfX2JvZHkge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2NjBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMTAwcHggMzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5ld3Mtc2luZ2xlX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDsgfSB9XG5cbi8qKlxyXG4gKiBUaXRsZS5cclxuICovXG4ubmV3cy1zaW5nbGVfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4vKipcclxuICogRWRpdG9yLlxyXG4gKi9cbi5uZXdzLXNpbmdsZV9fZWRpdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogNDVweDsgfVxuXG4vKipcclxuICogQnV0dG9uLlxyXG4gKi9cbi5uZXdzLXNpbmdsZV9fYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDY2NjdlbTtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5uZXdzLXNpbmdsZV9fYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBPd2wgY2Fyb3VzZWxcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDMwcHggLTVweCAtNXB4O1xuICB6LWluZGV4OiAxOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmQ1ZGI7IH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUsIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGFiYjI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUGFnaW5hdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMuY3VycmVudCB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjNDA1OTZiO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5wYWdpbmF0aW9uIC5uZXh0LFxuICAucGFnaW5hdGlvbiAucHJldiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWFyY2hcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWFyY2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwcHg7XG4gIHJpZ2h0OiAxMDBweDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qKlxyXG4gKiBGb3JtLlxyXG4gKi9cbi5zZWFyY2gtZm9ybSB7XG4gIGhlaWdodDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qKlxyXG4gKiBCdXR0b24uXHJcbiAqL1xuLnNlYXJjaF9fYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6IGJsYWNrO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyoqXHJcbiAqIElucHV0LlxyXG4gKi9cbi5zZWFyY2hfX2Zvcm0uaXMtYWN0aXZlIC5zZWFyY2hfX2lucHV0IHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLjYsIDAuMjUyLCAxLjIpLCBiYWNrZ3JvdW5kLWNvbG9yIDBtcyAwbXM7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBpbml0aWFsOyB9XG5cbi5zZWFyY2hfX2Zvcm0uaXMtYWN0aXZlIC5zZWFyY2hfX2lucHV0LWJhciB7XG4gIHRvcDogNXB4O1xuICByaWdodDogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2VhcmNoX19pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcGFkZGluZzogNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC42LCAwLjI1MiwgMS4yKSwgYmFja2dyb3VuZC1jb2xvciAxMDBtcyAxNTBtcztcbiAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zZWFyY2hfX2lucHV0LWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IC0ycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU3VibWVudVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFN1Ym1lbnUgYnV0dG9uLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zdWJtZW51LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuc3VibWVudS1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5zdWJtZW51LWJ1dHRvbi5pcy1hY3RpdmUgPiAuaW5saW5lLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH0gfVxuXG4vKipcclxuICogU3VibWVudSBjb250YWluZXIuXHJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnN1Ym1lbnUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSA0MDBtcyBlYXNlLW91dDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuc3VibWVudS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKipcclxuICogU3VibWVudS5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc3VibWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjNDA1OTZiO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnN1Ym1lbnUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbi8qKlxyXG4gKiBTdWJtZW51IGl0ZW0uXHJcbiAqL1xuLyoqXHJcbiAqIFN1Ym1lbnUgaXRlbSBsaW5rLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zdWJtZW51ID4gLm1lbnUtaXRlbSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NzE0M2VtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdWJtZW51ID4gLm1lbnUtaXRlbSA+IGE6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjNmNTtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLnN1Ym1lbnUgPiAubWVudS1pdGVtID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwOWRkYzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zdWJtZW51ID4gLm1lbnUtaXRlbTpsYXN0LWNoaWxkID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0IGltYWdlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1pbWFnZS5iYWNrZ3JvdW5kLWNvbG9yLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZiAwJSwgI2VmZjRmOSAxMDAlKTsgfVxuXG4udGV4dC1pbWFnZS5pbWFnZS1wb3NpdGlvbi1sZWZ0IC50ZXh0LWltYWdlX19jb2x1bW5zIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZS5pbWFnZS1wb3NpdGlvbi1sZWZ0IC50ZXh0LWltYWdlX19jb2x1bW5zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRleHQtaW1hZ2UuaW1hZ2UtcG9zaXRpb24tbGVmdCAudGV4dC1pbWFnZV9fY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1pbWFnZS5pbWFnZS1wb3NpdGlvbi1sZWZ0IC50ZXh0LWltYWdlX19jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC50ZXh0LWltYWdlLmltYWdlLXBvc2l0aW9uLWxlZnQgLnRleHQtaW1hZ2VfX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLnRleHQtaW1hZ2UuaW1hZ2UtcG9zaXRpb24tcmlnaHQgLnRleHQtaW1hZ2VfX2NvbHVtbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRleHQtaW1hZ2UuaW1hZ2UtcG9zaXRpb24tcmlnaHQgLnRleHQtaW1hZ2VfX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC50ZXh0LWltYWdlLmltYWdlLXBvc2l0aW9uLXJpZ2h0IC50ZXh0LWltYWdlX190ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9IH1cblxuLnRleHQtaW1hZ2VfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuXG4vKipcclxuICogQ29sdW1ucy5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50ZXh0LWltYWdlX19jb2x1bW4gaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XG4gICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuXG4vKipcclxuICogVGV4dC5cclxuICovXG4udGV4dC1pbWFnZV9fdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ4N3B4O1xuICBwYWRkaW5nOiA5MHB4IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LWltYWdlX190ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX190ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCA1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC50ZXh0LWltYWdlX190ZXh0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG4vKipcclxuICogQXJyb3cuXHJcbiAqL1xuLnRleHQtaW1hZ2VfX2Fycm93IHtcbiAgYm90dG9tOiAtMzVweDtcbiAgbGVmdDogY2FsYyg1MCUgLSAzNXB4KTtcbiAgd2lkdGg6IDY5cHg7XG4gIGhlaWdodDogNjlweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxOyB9XG4gIC50ZXh0LWltYWdlX19hcnJvdyBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBjb2xvcjogIzAwOWRkYzsgfVxuXG4vKipcclxuICogSW1hZ2UuXHJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAudGV4dC1pbWFnZV9faW1hZ2Uge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFZpc2l0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVmlzaXQuXHJcbiAqL1xuLnZpc2l0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWRkYzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnZpc2l0IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi52aXNpdC1sZWZ0IHtcbiAgd2lkdGg6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnZpc2l0LWxlZnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMwNHB4OyB9IH1cbiAgLnZpc2l0LWxlZnQgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLnZpc2l0LXJpZ2h0IHtcbiAgcGFkZGluZzogMTQ1cHggOTBweDtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMTQ1cHggMTE1cHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnZpc2l0LXJpZ2h0IHtcbiAgICAgIHBhZGRpbmc6IDk1cHggNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudmlzaXQtcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAzMHB4IDMwcHggOTBweDsgfSB9XG5cbi8qKlxyXG4gKiBTdWJ0aXRsZS5cclxuICovXG4udmlzaXRfX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjY2NjdlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKipcclxuICogVGl0bGUuXHJcbiAqL1xuLnZpc2l0X190aXRsZSB7XG4gIG1hcmdpbjogMTVweCAwIDMwcHg7XG4gIHRleHQtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEzKTsgfVxuXG4vKipcclxuICogQWRkcmVzcy5cclxuICovXG4udmlzaXRfX2FkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC52aXNpdF9fYWRkcmVzcyBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDsgfVxuXG4vKipcclxuICogT3BlbmluZyBob3Vycy5cclxuICovXG4udmlzaXRfX29wZW5pbmctaG91cnMtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi52aXNpdF9fb3BlbmluZy1ob3Vycy1sYWJlbCB7XG4gIHdpZHRoOiAxMTVweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb2xvclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXG4vKipcclxuICAgICAgICogYGNvbG9yYCBibGFjay0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItYmxhY2stMTAwIHtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgYmxhY2stMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYmxhY2stMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgd2hpdGUtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLXdoaXRlLTEwMCB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgIHdoaXRlLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICMwMDlkZGMtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsdWUtMTAwIHtcbiAgY29sb3I6ICMwMDlkZGM7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMDA5ZGRjLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsdWUtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWRkYzsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjNDA1OTZiLTIwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ibHVlLTIwMCB7XG4gIGNvbG9yOiAjNDA1OTZiOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzQwNTk2Yi0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibHVlLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDU5NmI7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2VlMDAwMC0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItcmVkLTEwMCB7XG4gIGNvbG9yOiAjZWUwMDAwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2VlMDAwMC0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1yZWQtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlMDAwMDsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZjBmM2Y1LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmV5LTEwMCB7XG4gIGNvbG9yOiAjZjBmM2Y1OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2YwZjNmNS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYzZjU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2E3YjhjNC0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItZ3JleS0yMDAge1xuICBjb2xvcjogI2E3YjhjNDsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNhN2I4YzQtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JleS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiOGM0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNlOWVmZjItMzAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWdyZXktMzAwIHtcbiAgY29sb3I6ICNlOWVmZjI7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZTllZmYyLTMwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZXktMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWZmMjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBPYmplY3QgRml0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogT2JqZWN0IGZpdC5cclxuICpcclxuICogMS4gRm9udCBmYW1pbHkgcG9seWZpbGwgd2l0aCAoaHR0cHM6Ly9naXRodWIuY29tL2JmcmVkLWl0L29iamVjdC1maXQtaW1hZ2VzKS5cclxuICovXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgZmlsbCB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLmZpbGwge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBmaWxsO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IGZpbGw7IH1cblxuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIGNvbnRhaW4gdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5jb250YWluIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY29udGFpbjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBjb3ZlciB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLmNvdmVyIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY292ZXI7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIG5vbmUgdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5ub25lIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogbm9uZTtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBub25lOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBzY2FsZS1kb3duIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4uc2NhbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IHNjYWxlLWRvd247XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogc2NhbGUtZG93bjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQb3NpdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXHJcbiAqL1xuLnN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLnJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGV4dFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEZvbnQgZmFtaWx5IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXG4udGV4dC14cy1kZWZhdWx0IHtcbiAgZm9udC1mYW1pbHk6IFwiQXNzaXN0YW50XCI7IH1cblxuLnRleHQtc20tZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkFzc2lzdGFudFwiOyB9XG5cbi50ZXh0LW1kLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJBc3Npc3RhbnRcIjsgfVxuXG4udGV4dC1sZy1kZWZhdWx0IHtcbiAgZm9udC1mYW1pbHk6IFwiQXNzaXN0YW50XCI7IH1cblxuLnRleHQteGwtZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkFzc2lzdGFudFwiOyB9XG5cbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LXhzLWgxIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDQxNjdlbTsgfVxuXG4udGV4dC14cy1oMiB7XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgZm9udC1zaXplOiAzLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMwMzAzZW07IH1cblxuLnRleHQteHMtaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNzc3OGVtOyB9XG5cbi50ZXh0LXhzLWg0IHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuXG4udGV4dC14cy1oNSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS42ZW07IH1cblxuLnRleHQteHMtaDYge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG5cbi50ZXh0LXhzLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVlbTsgfVxuXG4udGV4dC1zbS1oMSB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zaXplOiA0LjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA0MTY3ZW07IH1cblxuLnRleHQtc20taDIge1xuICBmb250LXNpemU6IDMzcHg7XG4gIGZvbnQtc2l6ZTogMy4zcmVtO1xuICBsaW5lLWhlaWdodDogMS4zMDMwM2VtOyB9XG5cbi50ZXh0LXNtLWgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc3NzhlbTsgfVxuXG4udGV4dC1zbS1oNCB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1NDU1ZW07IH1cblxuLnRleHQtc20taDUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG5cbi50ZXh0LXNtLWg2IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3NzhlbTsgfVxuXG4udGV4dC1zbS1wIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1ZW07IH1cblxuLnRleHQtbWQtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4wNDE2N2VtOyB9XG5cbi50ZXh0LW1kLWgyIHtcbiAgZm9udC1zaXplOiAzM3B4O1xuICBmb250LXNpemU6IDMuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzAzMDNlbTsgfVxuXG4udGV4dC1tZC1oMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI3Nzc4ZW07IH1cblxuLnRleHQtbWQtaDQge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS40NTQ1NWVtOyB9XG5cbi50ZXh0LW1kLWg1IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuXG4udGV4dC1tZC1oNiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc4ZW07IH1cblxuLnRleHQtbWQtcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNWVtOyB9XG5cbi50ZXh0LWxnLWgxIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDQxNjdlbTsgfVxuXG4udGV4dC1sZy1oMiB7XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgZm9udC1zaXplOiAzLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMwMzAzZW07IH1cblxuLnRleHQtbGctaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNzc3OGVtOyB9XG5cbi50ZXh0LWxnLWg0IHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuXG4udGV4dC1sZy1oNSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS42ZW07IH1cblxuLnRleHQtbGctaDYge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG5cbi50ZXh0LWxnLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVlbTsgfVxuXG4udGV4dC14bC1oMSB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zaXplOiA0LjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA0MTY3ZW07IH1cblxuLnRleHQteGwtaDIge1xuICBmb250LXNpemU6IDMzcHg7XG4gIGZvbnQtc2l6ZTogMy4zcmVtO1xuICBsaW5lLWhlaWdodDogMS4zMDMwM2VtOyB9XG5cbi50ZXh0LXhsLWgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc3NzhlbTsgfVxuXG4udGV4dC14bC1oNCB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1NDU1ZW07IH1cblxuLnRleHQteGwtaDUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG5cbi50ZXh0LXhsLWg2IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3NzhlbTsgfVxuXG4udGV4dC14bC1wIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1ZW07IH1cblxuLyoqXHJcbiAqIFRleHQgYWxpZ25tZW50IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXG4udGV4dC14cy1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC14cy1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXhzLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1zbS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1zbS1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXNtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1tZC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1tZC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LW1kLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1sZy1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1sZy1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWxnLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC14bC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC14bC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXhsLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xuLnRleHQteHMtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14cy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhzLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteHMtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14cy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhzLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteHMtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14cy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhzLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtc20tMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1zbS0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXNtLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtc20tNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1zbS01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXNtLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtc20tNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1zbS04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXNtLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbWQtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1tZC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LW1kLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbWQtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1tZC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LW1kLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbWQtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1tZC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LW1kLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbGctMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1sZy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LWxnLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbGctNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1sZy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LWxnLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbGctNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1sZy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LWxnLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQteGwtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14bC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhsLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteGwtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14bC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhsLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteGwtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14bC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhsLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLyoqXHJcbiAqIFRleHQgdHJhbnNmb3JtIHVpdGxpdHkgY2xhc3Nlcy5cclxuICovXG4udGV4dC14cy1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQteHMtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC14cy1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXhzLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC14cy1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQtc20tY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LXNtLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtc20tbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC1zbS1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQtc20tZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi50ZXh0LW1kLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC1tZC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LW1kLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtbWQtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LW1kLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC1sZy1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtbGctdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1sZy1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LWxnLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC1sZy1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQteGwtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LXhsLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQteGwtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC14bC1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQteGwtZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFZlcnRpY2FsIFJoeXRobVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnZyLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLnZyLTgge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLnZyLTE2IHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG4udnItMjQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbi52ci0zMiB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cblxuLnZyLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4udnItNDgge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XG5cbi52ci01NiB7XG4gIG1hcmdpbi1ib3R0b206IDU2cHg7IH1cblxuLnZyLTY0IHtcbiAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuXG4udnItNzIge1xuICBtYXJnaW4tYm90dG9tOiA3MnB4OyB9XG5cbi52ci04MCB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgWi1pbmRleFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFV0aWxpdHkgY2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIHN0YWNraW5nIG9yZGVyIGluIEhUTUwuXHJcbiAqL1xuLnotaW5kZXgtMCB7XG4gIHotaW5kZXg6IDA7IH1cblxuLnotaW5kZXgtMSB7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi56LWluZGV4LTIge1xuICB6LWluZGV4OiAyMDsgfVxuXG4uei1pbmRleC0zIHtcbiAgei1pbmRleDogMzA7IH1cblxuLnotaW5kZXgtNCB7XG4gIHotaW5kZXg6IDQwOyB9XG5cbi56LWluZGV4LTUge1xuICB6LWluZGV4OiA1MDsgfVxuXG4uei1pbmRleC02IHtcbiAgei1pbmRleDogNjA7IH1cblxuLnotaW5kZXgtNyB7XG4gIHotaW5kZXg6IDcwOyB9XG5cbi56LWluZGV4LTgge1xuICB6LWluZGV4OiA4MDsgfVxuXG4uei1pbmRleC05IHtcbiAgei1pbmRleDogOTA7IH1cblxuLnotaW5kZXgtMTAge1xuICB6LWluZGV4OiAxMDA7IH1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cblx0fVxuXG5cdC5vd2wtc3RhZ2U6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblxuXHQub3dsLXN0YWdlLW91dGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdH1cblx0Lm93bC1pdGVtIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQub3dsLW5hdi5kaXNhYmxlZCxcblx0Lm93bC1kb3RzLmRpc2FibGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgLm93bC1wcmV2LFxuXHQub3dsLW5hdiAub3dsLW5leHQsXG5cdC5vd2wtZG90IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcblx0YnV0dG9uLm93bC1kb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0fVxuXG5cdCYub3dsLWxvYWRlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYub3dsLWRyYWcgLm93bC1pdGVtIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXHR9XG5cblx0Ji5vd2wtcnRsIHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxuXG5cdCYub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbHtcblx0LmFuaW1hdGVkIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1vdXQge1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0LmZhZGVPdXQge1xuXHRcdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cblxuLm93bC1oZWlnaHQge1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG5cdC5vd2wtaXRlbSB7XG5cdFx0Lm93bC1sYXp5IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cblx0XHQub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1sYXp5Om5vdChbc3JjXSkge1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiI3skb3dsLWltYWdlLXBhdGh9b3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLXZpZGVvLXRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tZnJhbWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLy8gR2VuZXJhdGUgRHVyYXRpb24gJiYgRGVsYXlcbltkYXRhLWFvc10ge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYwIHtcbiAgICBib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICN7JGkgKiA1MH1tcztcbiAgICB9XG5cbiAgICBib2R5W2RhdGEtYW9zLWRlbGF5PScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG5cbiAgICAgICYuYW9zLWFuaW1hdGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogNTB9bXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkYW9zLWVhc2luZzogKFxuICBsaW5lYXI6IGN1YmljLWJlemllciguMjUwLCAuMjUwLCAuNzUwLCAuNzUwKSxcblxuICBlYXNlOiBjdWJpYy1iZXppZXIoLjI1MCwgLjEwMCwgLjI1MCwgMSksXG4gIGVhc2UtaW46IGN1YmljLWJlemllciguNDIwLCAwLCAxLCAxKSxcbiAgZWFzZS1vdXQ6IGN1YmljLWJlemllciguMDAwLCAwLCAuNTgwLCAxKSxcbiAgZWFzZS1pbi1vdXQ6IGN1YmljLWJlemllciguNDIwLCAwLCAuNTgwLCAxKSxcblxuICBlYXNlLWluLWJhY2s6IGN1YmljLWJlemllciguNiwgLS4yOCwgLjczNSwgLjA0NSksXG4gIGVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KSxcbiAgZWFzZS1pbi1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC42OCwgLS41NSwgLjI2NSwgMS41NSksXG5cbiAgZWFzZS1pbi1zaW5lOiBjdWJpYy1iZXppZXIoLjQ3LCAwLCAuNzQ1LCAuNzE1KSxcbiAgZWFzZS1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC4zOSwgLjU3NSwgLjU2NSwgMSksXG4gIGVhc2UtaW4tb3V0LXNpbmU6IGN1YmljLWJlemllciguNDQ1LCAuMDUsIC41NSwgLjk1KSxcblxuICBlYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YWQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpLFxuXG4gIGVhc2UtaW4tY3ViaWM6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtY3ViaWM6IGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICBlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSksXG5cbiAgZWFzZS1pbi1xdWFydDogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KVxuKTtcblxuLy8gRWFzaW5ncyBpbXBsZW1lbnRhdGlvbnNcbi8vIERlZmF1bHQgdGltaW5nIGZ1bmN0aW9uOiAnZWFzZSdcblxuW2RhdGEtYW9zXSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGFvcy1lYXNpbmcge1xuICAgIGJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cIiN7JGtleX1cIl0ge1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWw7XG4gICAgfVxuICB9XG59XG4iLCIvLyBBbmltYXRpb25zIHZhcmlhYmxlc1xuJGFvcy1kaXN0YW5jZTogMTAwcHggIWRlZmF1bHQ7XG5cblxuXG5cbi8qKlxuICogRmFkZSBhbmltYXRpb25zOlxuICogZmFkZVxuICogZmFkZS11cCwgZmFkZS1kb3duLCBmYWRlLWxlZnQsIGZhZGUtcmlnaHRcbiAqIGZhZGUtdXAtcmlnaHQsIGZhZGUtdXAtbGVmdCwgZmFkZS1kb3duLXJpZ2h0LCBmYWRlLWRvd24tbGVmdFxuICovXG5cbltkYXRhLWFvc149J2ZhZGUnXVtkYXRhLWFvc149J2ZhZGUnXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSdmYWRlLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgMCwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIDAsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhb3MtZGlzdGFuY2UsICRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAkYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhb3MtZGlzdGFuY2UsIC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAtJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cblxuXG5cbi8qKlxuICogWm9vbSBhbmltYXRpb25zOlxuICogem9vbS1pbiwgem9vbS1pbi11cCwgem9vbS1pbi1kb3duLCB6b29tLWluLWxlZnQsIHpvb20taW4tcmlnaHRcbiAqIHpvb20tb3V0LCB6b29tLW91dC11cCwgem9vbS1vdXQtZG93biwgem9vbS1vdXQtbGVmdCwgem9vbS1vdXQtcmlnaHRcbiAqL1xuXG5bZGF0YS1hb3NePSd6b29tJ11bZGF0YS1hb3NePSd6b29tJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICB9XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbiddIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0kYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgMCwgMCkgc2NhbGUoLjYpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20taW4tbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAwLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQnXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSgxLjIpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLSRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAwLCAwKSBzY2FsZSgxLjIpO1xufVxuXG5cblxuXG4vKipcbiAqIFNsaWRlIGFuaW1hdGlvbnNcbiAqL1xuXG5bZGF0YS1hb3NePSdzbGlkZSddW2RhdGEtYW9zXj0nc2xpZGUnXSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuXG5bZGF0YS1hb3M9J3NsaWRlLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cblxuXG5cbi8qKlxuICogRmxpcCBhbmltYXRpb25zOlxuICogZmxpcC1sZWZ0LCBmbGlwLXJpZ2h0LCBmbGlwLXVwLCBmbGlwLWRvd25cbiAqL1xuXG5bZGF0YS1hb3NePSdmbGlwJ11bZGF0YS1hb3NePSdmbGlwJ10ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbn1cblxuW2RhdGEtYW9zPSdmbGlwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKC0xMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7fVxufVxuXG5bZGF0YS1hb3M9J2ZsaXAtdXAnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKC0xMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgxMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTt9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkaW5nc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJWhlYWRpbmctMSB7XHJcbiAgQGluY2x1ZGUgZm9udChtYXAtZ2V0KCRmb250LXNpemUsICdoMScpLCBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJ2gxJykpO1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcbiVoZWFkaW5nLTIge1xyXG4gIEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAnaDInKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICdoMicpKTtcclxuICBmb250LXdlaWdodDogODAwO1xyXG59XHJcblxyXG4laGVhZGluZy0zIHtcclxuICBAaW5jbHVkZSBmb250KG1hcC1nZXQoJGZvbnQtc2l6ZSwgJ2gzJyksIG1hcC1nZXQoJGxpbmUtaGVpZ2h0LCAnaDMnKSk7XHJcbn1cclxuXHJcbiVhIHtcclxuICBjb2xvcjogJGNvbG9yLWJsdWUtMTAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gTWl4aW5zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBDb250YWluZXJcclxuLy8gQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wXHJcbi8vIGFuZCBib3R0b20uXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCwgMjBweCk7XHJcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XHJcbiAgQGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xyXG4gICAgQGlmICgkZ2FwICE9IDApIHtcclxuICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xyXG4gICAgICBwYWRkaW5nOiAwICRnYXA7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFNlY3Rpb25cclxuLy8gQWRkIHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgdG8gZWxlbWVudCB1c2luZyBwYWRkaW5ncy5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICR0b3AgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGJvdHRvbSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgc2VjdGlvbigxMDBweCwgMTAwcHgpO1xyXG5AbWl4aW4gc2VjdGlvbigkdG9wOiAwLCAkYm90dG9tOiAwKSB7XHJcbiAgQGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcclxuICAgIHBhZGRpbmc6ICR0b3AgMCAkYm90dG9tO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEZvbnRcclxuLy8gQWRkcyBgcmVtYCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYSBmYWxsYmFja1xyXG4vLyBgcHhgIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhbmQgYSBgZW1gIHVuaXQgYmFzZWQgbGluZSBoZWlnaHRcclxuLy8gcHJvcGVydHkgdG8gYW55IHJ1bGUuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZm9udC1zaXplIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRsaW5lLWhlaWdodCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcclxuICBAaWYgKHR5cGUtb2YoJGZvbnQtc2l6ZSkgPT0gbnVtYmVyIGFuZCB1bml0KCRmb250LXNpemUpID09ICdweCcpIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skZm9udC1zaXplfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuICB9XHJcbiAgQGlmICh0eXBlLW9mKCRsaW5lLWhlaWdodCkgPT0gbnVtYmVyIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gJ3B4Jykge1xyXG4gICAgbGluZS1oZWlnaHQ6ICgoJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgKiAxZW0pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYCN7JGxpbmUtaGVpZ2h0fWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUZXh0XHJcbi8vIFNob3J0aGFuZCBmb3IgdGhlIGZvbnQgbWl4aW4sIHJ1bnMgdGhlIGZvbnQgbWl4aW4gYmFzZWQgb24gYSBjb21tb25cclxuLy8gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXHJcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSB0ZXh0KCdwJyk7XHJcbkBtaXhpbiB0ZXh0KCR2YWx1ZSkge1xyXG4gIEBpZiAodHlwZS1vZigkdmFsdWUpID09IHN0cmluZykge1xyXG4gICAgQGluY2x1ZGUgZm9udChtYXAtZ2V0KCRmb250LXNpemUsICR2YWx1ZSksIG1hcC1nZXQoJGxpbmUtaGVpZ2h0LCAkdmFsdWUpKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnVmFsdWUgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb250IEF3ZXNvbWVcclxuLy8gQWRkIEZvbnQgQXdlc29tZSBpY29ucyBhcyBwc3VlZG8gZWxlbWVudHMgYnkgdXNpbmcgdGhlaXIgdW5pY29kZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSBmb250YXdlc29tZSgnZjEwMCcsICdMaWdodCcpO1xyXG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcclxuICBAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcclxuICAgIGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBNZWRpYVxyXG4vLyBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiXHJcbi8vIChodHRwczovL21lZGl1bS5mcmVlY29kZWNhbXAuY29tL3RoZS0xMDAtY29ycmVjdC13YXktdG8tZG8tY3NzLWJyZWFrcG9pbnRzLTg4ZDZhNWJhMTg2MikuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxyXG5AbWl4aW4gbWVkaWEoJHNpemUpIHtcclxuICBAaWYgKCRzaXplID09ICdkZXNrdG9wJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAncGhvbmUnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogNTk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVHlwb2dyYXBoeVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gRm9udCBmYW1pbHkgbWFwLlxyXG4kZm9udC1mYW1pbHk6IChcclxuICAnZGVmYXVsdCc6ICdBc3Npc3RhbnQnXHJcbik7XHJcblxyXG5cclxuLy8gRm9udCBzaXplIG1hcC5cclxuJGZvbnQtc2l6ZTogKFxyXG4gICdoMSc6IDQ4cHgsXHJcbiAgJ2gyJzogMzNweCxcclxuICAnaDMnOiAxOHB4LFxyXG4gICdoNCc6IDIycHgsXHJcbiAgJ2g1JzogMjBweCxcclxuICAnaDYnOiAxOHB4LFxyXG4gICdwJzogMTZweFxyXG4pO1xyXG5cclxuXHJcbi8vIExpbmUgaGVpZ2h0IG1hcC5cclxuJGxpbmUtaGVpZ2h0OiAoXHJcbiAgJ2gxJzogNTBweCxcclxuICAnaDInOiA0M3B4LFxyXG4gICdoMyc6IDIzcHgsXHJcbiAgJ2g0JzogMzJweCxcclxuICAnaDUnOiAzMnB4LFxyXG4gICdoNic6IDMycHgsXHJcbiAgJ3AnOiAyNnB4XHJcbik7XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZ1bmN0aW9uc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gVW5pY29kZVxyXG4vLyBQcmVzZXJ2ZSBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEFuIHVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcmV0dXJuIHtTdHJpbmd9IEEgcHJlc2VydmVkIGVzY2FwZWQgdW5pY29kZSBzdHJpbmdcclxuLy8gc2Fzcy1saW50OmRpc2FibGUgcXVvdGVzXHJcbkBmdW5jdGlvbiB1bmljb2RlKCRzdHJpbmcpIHtcclxuICBAcmV0dXJuIHVucXVvdGUoXCJcXCdcIikgKyB1bnF1b3RlKHN0ci1pbnNlcnQoJHN0cmluZywgJ1xcXFwnLCAxKSkgKyB1bnF1b3RlKFwiXFwnXCIpO1xyXG59XHJcbi8vIHNhc3MtbGludDplbmFibGUgcXVvdGVzXHJcblxyXG5cclxuLy8gUkVNXHJcbi8vIENvbnZlcnQgcGl4ZWwgdW5pdHMgdG8gUkVNIHVuaXRzLlxyXG4vLyBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxyXG4vLyBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXHJcbkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcclxuICB9XHJcbiAgQHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xyXG59XHJcblxyXG5cclxuLy8gQ29sdW1uXHJcbi8vIENhbGN1bGF0ZSBnaXZlbiBjb2x1bW4gd2lkdGguXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1uIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRvIHNwYW4uXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0aGF0IGNhbiBiZSBzcGFubmVkLlxyXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gUGVyY2VudGFnZSB2YWx1ZS5cclxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gIEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbi8vIENvbG9yXHJcbi8vIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXHJcbi8vIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIG9mIHRoZSBrZXkgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuLy8gQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxyXG5AZnVuY3Rpb24gY29sb3IoJGtleSwgJHZhbHVlKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJGtleSksICR2YWx1ZSk7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQmFzZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBldmVyeSBzZWxlY3RvciBpbmNsdWRpbmcgdGhlaXJcclxuICogcHN1ZWRvIHNlbGVjdG9ycy5cclxuICpcclxuICogMS4gTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveCBzaXppbmcuXHJcbiAqICAgIChjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UpLlxyXG4gKi9cclxuXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXQgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudCB0byBtYXhpdW0gdmlld3BvcnQgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBmb250LXNpemU6IDYyLjUlOyAvKiAxICovXHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cclxuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBGaXJlZm94IDI1Ky5cclxuICogMi4gQ2hyb21lIDUrLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG4gIEBpbmNsdWRlIHRleHQoJGJvZHktdGV4dCk7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZC1jb2xvcjtcclxuICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIENvbG9yXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBDb2xvciBtYXAuXHJcbiRjb2xvcnM6IChcclxuICAnYmxhY2snOiAoXHJcbiAgICAnMTAwJzogcmdiYSgwLCAwLCAwLCAxKVxyXG4gICksXHJcbiAgJ3doaXRlJzogKFxyXG4gICAgJzEwMCc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSlcclxuICApLFxyXG4gICdibHVlJzogKFxyXG4gICAgJzEwMCc6IHJnYmEoMCwgMTU3LCAyMjAsIDEpLFxyXG4gICAgJzIwMCc6IHJnYmEoNjQsIDg5LCAxMDcsIDEpXHJcbiAgKSxcclxuICAncmVkJzogKFxyXG4gICAgJzEwMCc6IHJnYmEoMjM4LCAwLCAwLCAxKVxyXG4gICksXHJcbiAgJ2dyZXknOiAoXHJcbiAgICAnMTAwJzogcmdiYSgyNDAsIDI0MywgMjQ1LCAxKSxcclxuICAgICcyMDAnOiByZ2JhKDE2NywgMTg0LCAxOTYsIDEpLFxyXG4gICAgJzMwMCc6IHJnYmEoMjMzLCAyMzksIDI0MiwgMSlcclxuICApXHJcbik7XHJcblxyXG4vLyBDb2xvciBzaG9ydGhhbmQgdmFyaWFibGVzLlxyXG4kY29sb3ItYmxhY2stMTAwOiAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XHJcblxyXG4kY29sb3Itd2hpdGUtMTAwOiAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnMTAwJyk7XHJcblxyXG4kY29sb3ItYmx1ZS0xMDA6ICAgICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsdWUnKSwgJzEwMCcpO1xyXG4kY29sb3ItYmx1ZS0yMDA6ICAgICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsdWUnKSwgJzIwMCcpO1xyXG5cclxuJGNvbG9yLXJlZC0xMDA6ICAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzEwMCcpO1xyXG5cclxuJGNvbG9yLWdyZXktMTAwOiAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICcxMDAnKTtcclxuJGNvbG9yLWdyZXktMjAwOiAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICcyMDAnKTtcclxuJGNvbG9yLWdyZXktMzAwOiAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICczMDAnKTtcclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUmVzZXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxyXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcclxuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cclxuICovXHJcblxyXG5hIHtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxyXG4gKi9cclxuXHJcbmJ1dHRvbiB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7IC8qIDEgKi9cclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5ociB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGluaGVyaXRlZCB1c2VyIGFnZW50IGFwcGVhcmFuY2UuXHJcbiAqL1xyXG5cclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXHJcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxudWwsXHJcbm9sIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbnAge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBDb2xsYXBzZSBib3JkZXJzIHRvIHByZXZlbnQgZG91YmxlIHNpZGVkIGJvcmRlcnMuXHJcbiAqL1xyXG5cclxudGFibGUge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAxICovXHJcbn1cclxuXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250YWluZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxyXG4gKi9cclxuXHJcbi5jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGNvbnRhaW5lcjtcclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBEZWZpbml0aW9uc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gR3JpZFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gR3JpZCB3aWR0aC5cclxuLy8gTWF4aW11bSBjb250YWluZXIgd2lkdGguXHJcbiRncmlkLXdpZHRoOiAxMDI0cHg7XHJcblxyXG4vLyBHcmlkIGNvbHVtbnMuXHJcbi8vIEFtb3VudCBvZiBncmlkIGNvbHVtbnMgdG8gY2FsY3VsYXRlIGEgY29sdW1uIHdpZHRoIHdpdGguXHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG5cclxuLy8gR3JpZCBjb2x1bW4uXHJcbi8vIENvbHVtbiB3aWR0aCBpbiBwaXhlbHMuXHJcbiRncmlkLWNvbHVtbjogNjBweDtcclxuXHJcbi8vIEdyaWQgZ2FwLlxyXG4vLyBTcGFjZSBiZXR3ZWVuIGdyaWQgY29sdW1ucywgYXV0b21hdGVkLlxyXG4kZ3JpZC1nYXA6ICgkZ3JpZC13aWR0aCAtICgkZ3JpZC1jb2x1bW4gKiAkZ3JpZC1jb2x1bW5zKSkgLyAkZ3JpZC1jb2x1bW5zO1xyXG5cclxuLy8gU2V0IHRoaXMgc2V0dGluZyB0byBgdHJ1ZWAgaWYgeW91IHdhbnQgdG8gZW5hYmxlIHRydWUgbmVzdGVkIGdyaWRzLiBUaGlzXHJcbi8vIHNldHRpbmcgaXMgc2V0IHRvIGBmYWxzZWAgYnkgZGVmYXVsdCBzaW5jZSBpdCBzaWduaWZpY2FudGx5IGluY3JlYXNlc1xyXG4vLyBDU1MgZmlsZSBzaXplLlxyXG4kZ3JpZC1uZXN0ZWQ6IGZhbHNlO1xyXG5cclxuXHJcbi8vIEFzc2V0c1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gSW1hZ2UgcGF0aC5cclxuJGltYWdlLXBhdGg6ICcuLi9pbWFnZXMvJztcclxuXHJcblxyXG4vLyBCb2R5XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBCb2R5IGJhY2tncm91bmQgY29sb3IuXHJcbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4vLyBCb2R5IGNvbG9yLlxyXG4kYm9keS1jb2xvcjogJGNvbG9yLWJsdWUtMjAwO1xyXG5cclxuLy8gQm9keSBmb250IGZhbWlseS5cclxuJGJvZHktZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnZGVmYXVsdCcpO1xyXG5cclxuLy8gQm9keSB0ZXh0LlxyXG4kYm9keS10ZXh0OiAncCc7XHJcblxyXG5cclxuLy8gT3RoZXJcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIExpbmsgY29sb3IuXHJcbiRsaW5rLWNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG5cclxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmIDAlLCAjZWZmNGY5IDEwMCUpO1xyXG5cclxuJGJveC1zaGFkb3ctYmlnOiAwIDJweCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KTtcclxuXHJcbi8vIFJlc3BvbnNpdmVcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIEdyaWQgYnJlYWtwb2ludCBhbGlhcy5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IG51bGwsXHJcbiAgc206ICdwaG9uZScsXHJcbiAgbWQ6ICd0YWJsZXQtcG9ydHJhaXQtdXAnLFxyXG4gIGxnOiAndGFibGV0LWxhbmRzY2FwZS11cCcsXHJcbiAgeGw6ICdkZXNrdG9wJ1xyXG4pO1xyXG5cclxuLy8gRmxleCBqdXN0aWZ5IGFsaWFzLlxyXG4kanVzdGlmeTogKFxyXG4gIGZsZXgtc3RhcnQ6ICdzdGFydCcsXHJcbiAgY2VudGVyOiAnY2VudGVyJyxcclxuICBmbGV4LWVuZDogJ2VuZCcsXHJcbiAgc3BhY2UtYmV0d2VlbjogJ2JldHdlZW4nLFxyXG4gIHNwYWNlLWFyb3VuZDogJ2Fyb3VuZCdcclxuKTtcclxuXHJcbi8vIEZsZXggYWxpZ24gYWxpYXMuXHJcbiRhbGlnbjogKFxyXG4gIGZsZXgtc3RhcnQ6ICd0b3AnLFxyXG4gIGNlbnRlcjogJ21pZGRsZScsXHJcbiAgZmxleC1lbmQ6ICdib3R0b20nLFxyXG4gIHN0cmV0Y2g6ICdzdHJldGNoJyxcclxuICBiYXNlbGluZTogJ2Jhc2VsaW5lJ1xyXG4pO1xyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IENvbnN0cmFpbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWNvbnN0cmFpbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGbGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxyXG4gKlxyXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXHJcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXHJcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xyXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cclxuICovXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3QuXHJcbiAqXHJcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5mbGV4IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cclxuICovXHJcblxyXG4ucm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDAgMSBhdXRvO1xyXG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgbWFyZ2luOiAtI3soJGdyaWQtZ2FwLzIpfTtcclxuXHJcbiAgJi53cmFwIHtcclxuICAgIG1hcmdpbjogMCAtI3soJGdyaWQtZ2FwLzIpfTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogUmV2ZXJzZSBmbGV4IGRpcmVjdGlvbi5cclxuICovXHJcblxyXG4ucmV2ZXJzZSB7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbi5cclxuICovXHJcblxyXG4uY29sIHtcclxuICBmbGV4OiAwIDEgYXV0bztcclxuICBwYWRkaW5nOiAoJGdyaWQtZ2FwLzIpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJveCwgdGhlIGluc2lkZSBvZiBhIGNvbHVtbi5cclxuICovXHJcblxyXG4uYm94IHtcclxuICBmbGV4OiAxIDAgYXV0bztcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb2x1bW5zLlxyXG4gKi9cclxuXHJcbkBlYWNoICRhbGlhcywgJHZhbHVlIGluICRicmVha3BvaW50cyB7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCR2YWx1ZSkge1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XHJcbiAgICAgIC5jb2wtI3skYWxpYXN9LSN7JGl9IHtcclxuICAgICAgICB3aWR0aDogY29sdW1uKCRpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICgkaSA8ICRncmlkLWNvbHVtbnMpIHtcclxuICAgICAgICAub2Zmc2V0LSN7JGFsaWFzfS0jeyRpfSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAoJGdyaWQtbmVzdGVkID09IHRydWUpIHtcclxuICAgICAgICBAZm9yICRhIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG4gICAgICAgICAgQGlmICgkaSA8PSAkYSkge1xyXG4gICAgICAgICAgICAubmVzdGVkLSN7JGFsaWFzfS0jeyRpfS0jeyRhfSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IGNvbHVtbigkaSwgJGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRhbGlnbiB7XHJcbiAgICAgIC4je3VucXVvdGUoJHZhbHVlKX0tI3skYWxpYXN9IHtcclxuICAgICAgICBhbGlnbi1pdGVtczogJGtleTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkanVzdGlmeSB7XHJcbiAgICAgIC4je3VucXVvdGUoJHZhbHVlKX0tI3skYWxpYXN9IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRrZXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmlyc3QtI3skYWxpYXN9IHtcclxuICAgICAgb3JkZXI6IC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC5sYXN0LSN7JGFsaWFzfSB7XHJcbiAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWN0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFdyYXBwZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBUaGUgd3JhcHBlciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cclxuICovXHJcblxyXG4vLyBcclxuJHdlYnNpdGUtd2lkdGg6ICAgMTI0MHB4O1xyXG4kd2Vic2l0ZS1wYWRkaW5nOiAzMHB4O1xyXG5cclxuLndyYXBwZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgY29udGFpbmVyKCR3ZWJzaXRlLXdpZHRoLCAkd2Vic2l0ZS1wYWRkaW5nKTtcclxufVxyXG5cclxuLndyYXBwZXItLXNtYWxsIHtcclxuICBtYXgtd2lkdGg6IDkwMHB4O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJyZWFkY3J1bWJzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYnJlYWRjcnVtYnMge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTIwMDtcclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsdWUtMTAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQnV0dG9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYnV0dG9uIHtcclxuICBAaW5jbHVkZSBmb250KDE0cHgsIDIycHgpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMThweCAyNXB4O1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjgwbXMsIGNvbG9yIDI4MG1zO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJsdWUgYnV0dG9uLlxyXG4gKi9cclxuXHJcbi5idXR0b24tLWJsdWUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLWJsdWUtMTAwLCA1JSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRyYW5zcGFyZW50IHdpdGggYm9yZGVyLlxyXG4gKi9cclxuXHJcbi5idXR0b24tLXRyYW5zIHtcclxuICBwYWRkaW5nOiA2cHggMzBweDtcclxuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItYmx1ZS0yMDA7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtMjAwO1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEFsZXJ0IFtleGNsYW1hdGlvbl0uXHJcbiAqL1xyXG5cclxuLmJ1dHRvbi0tYWxlcnQge1xyXG4gIHBhZGRpbmc6IDdweCAyNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQtMTAwO1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItcmVkLTEwMCwgNSUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBEb3dubG9hZC5cclxuICovXHJcblxyXG4uYnV0dG9uLS1kb3dubG9hZCB7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENNUyBPdXRwdXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBFdmVyeSBjb25jZWl2YWJsZSBIVE1MIGVsZW1lbnQgd2l0aGluIGEgYC5jbXMtb3V0cHV0YCB3cmFwcGVyLlxyXG4gKlxyXG4gKiAxLiBFeGNsdWRlIGxhc3QgY2hpbGRzLlxyXG4gKi9cclxuXHJcbi5jbXMtb3V0cHV0IHtcclxuXHJcbiAgPiAqIHtcclxuXHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KGgxKTpub3QoaDIpOm5vdChoMykge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgxIHtcclxuICAgIEBleHRlbmQgJWhlYWRpbmctMTtcclxuICAgIG1hcmdpbi10b3A6IDc1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTI7XHJcbiAgICBtYXJnaW4tdG9wOiA3NXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgQGV4dGVuZCAlaGVhZGluZy0zO1xyXG4gICAgbWFyZ2luLXRvcDogNzVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9sIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuICB9XHJcblxyXG4gIHAgPiBhIHtcclxuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXhjZXJwdCB7XHJcbiAgICBAaW5jbHVkZSBmb250KDIycHgsIDM0cHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgQGV4dGVuZCAuYnV0dG9uO1xyXG4gICAgQGV4dGVuZCAuYnV0dG9uLS1ibHVlO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IGRlZmF1bHRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jb250ZW50LWRlZmF1bHQge1xyXG4gIHBhZGRpbmc6IDkwcHggMDtcclxuXHJcbiAgJi5iYWNrZ3JvdW5kLWNvbG9yLWdyYWRpZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICRncmFkaWVudDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX3RpdGxlIHtcclxuICAmLmhlYWRpbmctMSB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTE7XHJcbiAgfVxyXG5cclxuICAmLmhlYWRpbmctMiB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTI7XHJcbiAgfVxyXG5cclxuICAmLmhlYWRpbmctMyB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTM7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbnRhY3QgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5cclxuLmNvbnRhY3QtaW5mbyB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLmNvbnRhY3QtaW5mb19fcm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uY29udGFjdC1pbmZvX19sYWJlbCB7XHJcbiAgd2lkdGg6IDE0MHB4O1xyXG59XHJcblxyXG4uY29udGFjdC1pbmZvX19zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm9yZGVyIHRvcC5cclxuICovXHJcblxyXG4uZG91YmxlLWNvbHVtbnMgKyAuY29udGVudC1kZWZhdWx0IHtcclxuICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRlbnQgZGVmYXVsdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmRvdWJsZS1jb2x1bW5zIHtcclxuICBwYWRkaW5nOiA5MHB4IDA7XHJcbn1cclxuXHJcbi5kb3VibGUtY29sdW1uc19fdGl0bGUge1xyXG4gICYuaGVhZGluZy0xIHtcclxuICAgIEBleHRlbmQgJWhlYWRpbmctMTtcclxuICB9XHJcblxyXG4gICYuaGVhZGluZy0yIHtcclxuICAgIEBleHRlbmQgJWhlYWRpbmctMjtcclxuICB9XHJcblxyXG4gICYuaGVhZGluZy0zIHtcclxuICAgIEBleHRlbmQgJWhlYWRpbmctMztcclxuICB9XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRG93bmxvYWRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5kb3dubG9hZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNzVweDtcclxuICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LTMwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4uZG93bmxvYWRfX3RpdGxlIHtcclxuICAmLmhlYWRpbmctMSB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTE7XHJcbiAgfVxyXG5cclxuICAmLmhlYWRpbmctMiB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTI7XHJcbiAgfVxyXG5cclxuICAmLmhlYWRpbmctMyB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTM7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbi5cclxuICovXHJcblxyXG4uZG93bmxvYWRfX2J1dHRvbiB7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG5cclxuICBzdmcge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqXHJcbiAqL1xyXG5cclxuLnZpc2l0ICsgLndyYXBwZXIgPiAuZG93bmxvYWQge1xyXG4gIG1hcmdpbi10b3A6IDEwMHB4O1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC1jb2xvci1ncmFkaWVudCArIC53cmFwcGVyID4gLmRvd25sb2FkIHtcclxuICBtYXJnaW4tdG9wOiAxMDBweDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGb290ZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb290ZXItdG9wIHtcclxuICBwYWRkaW5nOiA5MHB4IDA7XHJcbiAgYm94LXNoYWRvdzogMCAycHggMjBweCAwIHJnYmEoJGNvbG9yLWJsYWNrLTEwMCwgMC4wNik7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGl0bGUuXHJcbiAqL1xyXG5cclxuLmZvb3Rlcl9fdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gIH1cclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTGlua3MuXHJcbiAqL1xyXG5cclxuLmZvb3Rlcl9fbGlua3Mge1xyXG4gIGEge1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMjgwbXM7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS0xMDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE9wZW5pbmcgaG91cnMuXHJcbiAqL1xyXG5cclxuLmZvb3Rlcl9fb3BlbmluZy1ob3VycyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmZvb3Rlcl9fb3BlbmluZy1ob3Vycy1sYWJlbCB7XHJcbiAgd2lkdGg6IDExNXB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvb3RlciBib3R0b20uXHJcbiAqL1xyXG5cclxuLmZvb3Rlci1ib3R0b20ge1xyXG4gIHBhZGRpbmc6IDIwcHggMDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEhlYWRlciBpbWFnZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEltYWdlLlxyXG4gKi9cclxuXHJcbi5oZWFkZXItaW1hZ2VfX2ltYWdlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBoZWlnaHQ6IDI3NnB4O1xyXG4gIH1cclxuICBoZWlnaHQ6IDQ3M3B4O1xyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgYmxvY2suXHJcbiAqL1xyXG5cclxuLmhlYWRlci1pbWFnZV9fdGV4dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICBtYXgtd2lkdGg6IDUxNXB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgYm90dG9tOiAtNzVweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICB9XHJcbiAgYm90dG9tOiAtNzVweDtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XHJcbiAgcGFkZGluZzogMzVweCA3MHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDM1cHggMCByZ2JhKCRjb2xvci1ibGFjay0xMDAsIDAuMSk7XHJcbn1cclxuXHJcbi5oZWFkZXItaW1hZ2VfX3RleHQtdGl0bGUge1xyXG4gIEBleHRlbmQgJWhlYWRpbmctMjtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uaGVhZGVyLWltYWdlX190ZXh0LWRvd25sb2FkLXdyYXBwZXIge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5oZWFkZXItaW1hZ2VfX3RleHQtZG93bmxvYWQge1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVhZGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRlci5cclxuICovXHJcblxyXG4uaGVhZGVyIHtcclxuICB6LWluZGV4OiA5O1xyXG5cclxuICAmLmlzLWhvbWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktMTAwO1xyXG4gIH1cclxuXHJcbiAgJjpub3QoLmlzLWhvbWUpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSgkY29sb3ItYmxhY2stMTAwLCAwLjA2KTtcclxuXHJcbiAgICAubWFpbi1tZW51ID4gLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyLXRvcCB7XHJcbiAgcGFkZGluZzogMjhweCAwIDI5cHg7XHJcbn1cclxuXHJcbi5oZWFkZXItcmlnaHQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgfVxyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIExvZ28uXHJcbiAqL1xyXG5cclxuLmxvZ29fX2RvY3RvcnMge1xyXG4gIEBpbmNsdWRlIGZvbnQoMThweCwgMjRweCk7XHJcbiAgY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4ubG9nb19fdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjZweCwgNDFweCk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGZvbnQoMzFweCwgNDFweCk7XHJcbiAgY29sb3I6ICRjb2xvci1ibHVlLTIwMDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFBob25lIGJ1dHRvbnMgW2Rlc2t0b3BdLlxyXG4gKi9cclxuXHJcbi5oZWFkZXItcGhvbmUtYnV0dG9ucy0tZGVza3RvcCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcclxuICBtYXJnaW4tbGVmdDogLTE1cHg7XHJcblxyXG4gIC5oZWFkZXItcGhvbmUtYnV0dG9uc19fcGhvbmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDE1cHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhlYWRlci1waG9uZS1idXR0b25zX19waG9uZTpub3QoLmJ1dHRvbikge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleS0yMDA7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxufVxyXG5cclxuLmhlYWRlci1waG9uZS1idXR0b25zLS10YWJsZXQge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIGFuZCAobWluLXdpZHRoOiA3NDVweCkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAyNzBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleS0yMDA7XHJcblxyXG4gICAgLmhlYWRlci1waG9uZS1idXR0b25zX19waG9uZSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiA4NXB4O1xyXG5cclxuICAgICAgPiBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uaGVhZGVyLXBob25lLWJ1dHRvbnMtLW1vYmlsZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMy4zMzM0JTtcclxuICAgIGhlaWdodDogODVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5LTIwMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1yZWQtMTAwO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkZXIgbmF2aWdhdGlvbi5cclxuICovXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEludHJvZHVjdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmludHJvZHVjdGlvbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBwYWRkaW5nOiAxNTBweCAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgcGFkZGluZzogOTBweCAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbiAgYmFja2dyb3VuZDogJGdyYWRpZW50O1xyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX19zdWJ0aXRsZSB7XHJcbiAgY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX190aXRsZSB7XHJcbiAgQGV4dGVuZCAlaGVhZGluZy0xO1xyXG4gIG1hcmdpbjogMTVweCAwIDMwcHg7XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2NvbHVtbnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xyXG4gIG1hcmdpbi1yaWdodDogLTMwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2NvbHVtbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2NvbHVtbi0tcmlnaHQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogMTgwcHggMCAxMDBweDtcclxuICB9XHJcbiAgbWF4LXdpZHRoOiA1MjhweDtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dC5cclxuICovXHJcblxyXG4uaW50cm9kdWN0aW9uX190ZXh0LXdyYXBwZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogMzc4cHg7XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgcGFkZGluZy1yaWdodDogNTVweDtcclxuICAgIHBhZGRpbmctbGVmdDogNTVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgfVxyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX19lZGl0b3Ige1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSW1hZ2VzLlxyXG4gKi9cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2ltYWdlcyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICBtYXJnaW46IC0yMHB4O1xyXG4gIH1cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgLm93bC1zdGFnZS1vdXRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm93bC1zdGFnZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3dsLWl0ZW0ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBwYWRkaW5nOiAgMCAwIDAgMzBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYub3dsLWNhcm91c2VsIC5vd2wtZG90cyB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2ltYWdlLWl0ZW0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNDBweCk7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBtYXJnaW46IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNDcuNSU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcclxuICB9XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDUwcHggMCByZ2JhKCRjb2xvci1ibGFjay0xMDAsIDAuMDYpO1xyXG5cclxuICBpbWcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIHRvcDogNHB4O1xyXG4gICAgcmlnaHQ6IDRweDtcclxuICAgIGJvdHRvbTogNHB4O1xyXG4gICAgbGVmdDogNHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgfVxyXG5cclxuICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTU1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIC5pbnRyb2R1Y3Rpb25fX2ltYWdlLXRleHQge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmludHJvZHVjdGlvbl9faW1hZ2UtdGV4dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB0cmFuc2l0aW9uOiAyODBtcztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2ltYWdlLXRleHQtdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2ltYWdlLXRleHQtbGluayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBjb2xvcjogJGNvbG9yLWJsdWUtMTAwO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEzcHg7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmludHJvZHVjdGlvbl9fbGluay1idXR0b24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgfVxyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMjBweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExhbmd1YWdlIG1lbnVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiRib3JkZXItY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcblxyXG5AaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAubGFuZ3VhZ2UtbWVudSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC53cG1sLWxzLXN1Yi1tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndwbWwtbHMtaXRlbS10b2dnbGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBmb250YXdlc29tZSgnZjBkNycsICdTb2xpZCcpO1xyXG4gICAgfVxyXG5cclxuICAgID4gLmlubGluZS1pY29uIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMTBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndwbWwtbHMtc3ViLW1lbnUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAud3BtbC1scy1pdGVtIHtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndwbWwtbHMtbGluayB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXM7XHJcblxyXG4gICAgLndwbWwtbHMtbmF0aXZlIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItYmxhY2stMTAwLCA5MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndwbWwtbHMtbmF0aXZlIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMTJweCwgMjRweCk7XHJcbiAgICBtaW4td2lkdGg6IDY1cHg7IC8vICdOZWRlcmxhbmRzJyBpcyBhIGxvbmcgd29yZC5cclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgLmxhbmd1YWdlLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3BtbC1scy1pdGVtLWxlZ2FjeS1kcm9wZG93biB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAud3BtbC1scy1pdGVtLXRvZ2dsZSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIC53cG1sLWxzLXN1Yi1tZW51IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG5cclxuICAud3BtbC1scy1saW5rIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIG1hcmdpbjogMCAycHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgICBjb250ZW50OiAnfCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3BtbC1scy1mbGFnIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAud3BtbC1scy1uYXRpdmUge1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5hdmlnYXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBOYXZpZ2F0aW9uIHdyYXBwZXIuXHJcbiAqL1xyXG5cclxuLm5hdmlnYXRpb24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgLTEwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTmF2aWdhdGlvbiBtZW51LlxyXG4gKi9cclxuXHJcbi5uYXZpZ2F0aW9uLW1lbnUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAubWFpbi1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuXHJcbiAgICAgIC5tYWluLW1lbnUgPiAubWVudS1pdGVtIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyA3MDBtcywgdHJhbnNmb3JtIDUwMG1zIDcwMG1zO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDkwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTEwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTMwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNSkge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTUwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNikge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTcwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNykge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTkwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoOCkge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjEwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoOSkge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjMwMG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMTApIHtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MDBtcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uLW1lbnVfX3dyYXBwZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBOYXZpZ2F0aW9uIGJ1dHRvbi5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbi1idXR0b24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG5cclxuICAubmF2aWdhdGlvbi1idXR0b24taWNvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDU0cHg7XHJcbiAgICBoZWlnaHQ6IDU0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgkY29sb3ItYmxhY2stMTAwLCAwLjAzKTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICB3aWR0aDogMjRweDtcclxuICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdmlnYXRpb24tYnV0dG9uLXRleHQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIH1cclxuXHJcbiAgLm5hdmlnYXRpb24tYnV0dG9uLWljb24tLWNsb3NlLFxyXG4gIC5uYXZpZ2F0aW9uLWJ1dHRvbi10ZXh0LS1jbG9zZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAubmF2aWdhdGlvbi1idXR0b24tdGV4dC0tY2xvc2Uge1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDI1cHg7XHJcbiAgICByaWdodDogMzBweDtcclxuXHJcbiAgICAubmF2aWdhdGlvbi1idXR0b24taWNvbi0tY2xvc2UsXHJcbiAgICAubmF2aWdhdGlvbi1idXR0b24tdGV4dC0tY2xvc2Uge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZpZ2F0aW9uLWJ1dHRvbi1pY29uLS1vcGVuLFxyXG4gICAgLm5hdmlnYXRpb24tYnV0dG9uLXRleHQtLW9wZW4ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBXb3JkUHJlc3MgbWFpbiBtZW51LlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogTWFpbiBtZW51LlxyXG4gKi9cclxuXHJcbi5tYWluLW1lbnUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgLTVweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWFpbiBtZW51IGl0ZW0uXHJcbiAqL1xyXG5cclxuLm1haW4tbWVudSA+IC5tZW51LWl0ZW0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogMG1zO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBNYWluIG1lbnUgbGluay5cclxuICovXHJcblxyXG4ubWFpbi1tZW51ID4gLm1lbnUtaXRlbSA+IGEge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDI4MG1zO1xyXG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjRweCwgMjZweCk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIH1cclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubWFpbi1tZW51IC5zdWJtZW51ID4gLm1lbnUtaXRlbSA+IGEge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBsaW5lLWhlaWdodDogNDFweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWFpbiBtZW51IGl0ZW0gaGFzIGNoaWxkcmVuLlxyXG4gKi9cclxuXHJcbi5tYWluLW1lbnUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICAmOmhvdmVyIC5zdWJtZW51LWNvbnRhaW5lciB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgcGFkZGluZzogMCAxNXB4IDAgMTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIGEge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ3VycmVudCBtZW51IGl0ZW0uXHJcbiAqL1xyXG5cclxuLm1haW4tbWVudSA+IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZS0yMDA7XHJcbiAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctYmlnO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOZXdzIGl0ZW1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5uZXdzLWl0ZW0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBtYXJnaW46IDE1cHg7XHJcbiAgfVxyXG4gIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xyXG4gIG1hcmdpbjogMzBweDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAubmV3cy1pdGVtX19pbWFnZSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIH1cclxuXHJcbiAgICAubmV3cy1pdGVtX19ib2R5IHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSW1hZ2UuXHJcbiAqL1xyXG5cclxuLm5ld3MtaXRlbV9faW1hZ2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA2NSU7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJvZHkuXHJcbiAqL1xyXG5cclxuLm5ld3MtaXRlbV9fYm9keSB7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUaXRsZS5cclxuICovXHJcblxyXG4ubmV3cy1pdGVtX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyNXB4KTtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTmV3cyBsYXRlc3RcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5uZXdzLWxhdGVzdCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDkwcHg7XHJcbiAgfVxyXG4gIHBhZGRpbmc6IDE1MHB4IDA7XHJcbiAgYmFja2dyb3VuZDogJGdyYWRpZW50O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFN1YnRpdGxlLlxyXG4gKi9cclxuXHJcbi5uZXdzLWxhdGVzdF9fc3VidGl0bGUge1xyXG4gIEBpbmNsdWRlIGZvbnQoMTVweCwgMTlweCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBjb2xvcjogJGNvbG9yLWJsdWUtMTAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGl0bGUuXHJcbiAqL1xyXG5cclxuLm5ld3MtbGF0ZXN0X190aXRsZSB7XHJcbiAgQGV4dGVuZCAlaGVhZGluZy0xO1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQnV0dG9uLlxyXG4gKi9cclxuXHJcbi5uZXdzLWxhdGVzdF9fYnV0dG9uLXdyYXBwZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fYnV0dG9uLXdyYXBwZXItLWRlc2t0b3Age1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ubmV3cy1sYXRlc3RfX2J1dHRvbi13cmFwcGVyLS1tb2JpbGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLm5ld3MtbGF0ZXN0X19idXR0b24ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fYnV0dG9uIHtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBJdGVtcy5cclxuICovXHJcblxyXG4ubmV3cy1sYXRlc3RfX2l0ZW1zIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogLTE1cHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgbWFyZ2luOiAtMzBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLm5ld3MtaXRlbSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5ld3MgbGlzdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm5ld3MtbGlzdF9faXRlbXMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbjogLTE1cHg7XHJcbiAgcGFkZGluZzogNzVweCAwO1xyXG5cclxuICAubmV3cy1pdGVtIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XHJcbiAgICB9XHJcbiAgICB3aWR0aDogY2FsYygzMy4zMzM0JSAtIDMwcHgpO1xyXG4gICAgbWFyZ2luOiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBJbnRyb2R1Y3Rpb24gYmxvY2suXHJcbiAqL1xyXG5cclxuLm5ld3MtaW50cm9kdWN0aW9uIHtcclxuICBwYWRkaW5nOiA5MHB4IDAgMTAwcHg7XHJcbiAgYmFja2dyb3VuZDogJGdyYWRpZW50O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm5ld3MtaW50cm9kdWN0aW9uX190aXRsZSB7XHJcbiAgQGV4dGVuZCAlaGVhZGluZy0xO1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5uZXdzLWludHJvZHVjdGlvbl9fZWRpdG9yIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDYwM3B4O1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogQXJyb3cuXHJcbiAqL1xyXG5cclxuLm5ld3MtaW50cm9kdWN0aW9uX19hcnJvdyB7XHJcbiAgd2lkdGg6IDY5cHg7XHJcbiAgaGVpZ2h0OiA2OXB4O1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTmV3cyBzaW5nbGVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5uZXdzLXNpbmdsZSB7XHJcbiAgXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSW1hZ2UuXHJcbiAqL1xyXG5cclxuLm5ld3Mtc2luZ2xlX19pbWFnZSB7XHJcbiAgaGVpZ2h0OiA0NjNweDtcclxuXHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCb2R5LlxyXG4gKi9cclxuXHJcbi5uZXdzLXNpbmdsZV9fYm9keSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xyXG4gIH1cclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDY2MHB4O1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBwYWRkaW5nOiAxMDBweCAzMHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRpdGxlLlxyXG4gKi9cclxuXHJcbi5uZXdzLXNpbmdsZV9fdGl0bGUge1xyXG4gIEBleHRlbmQgJWhlYWRpbmctMTtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEVkaXRvci5cclxuICovXHJcblxyXG4ubmV3cy1zaW5nbGVfX2VkaXRvciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24uXHJcbiAqL1xyXG5cclxuLm5ld3Mtc2luZ2xlX19idXR0b24ge1xyXG4gIEBpbmNsdWRlIGZvbnQoMTVweCwgMjJweCk7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE93bCBjYXJvdXNlbFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm93bC1jYXJvdXNlbCB7XHJcbiAgLm93bC1kb3RzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMzBweCAtNXB4IC01cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIC5vd2wtZG90IHtcclxuICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgIGhlaWdodDogMTFweDtcclxuICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NiZDVkYjtcclxuXHJcbiAgICAgICYuYWN0aXZlLFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBhYmIyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFBhZ2luYXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5wYWdpbmF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuICAucGFnZS1udW1iZXJzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogNDVweDtcclxuICAgIGhlaWdodDogNDVweDtcclxuXHJcbiAgICAmLmN1cnJlbnQge1xyXG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAkYm9keS1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5leHQsXHJcbiAgLnByZXYge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU2VhcmNoXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uc2VhcmNoIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC01MHB4O1xyXG4gIHJpZ2h0OiAxMDBweDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9ybS5cclxuICovXHJcblxyXG4uc2VhcmNoLWZvcm0ge1xyXG4gIGhlaWdodDogMzBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQnV0dG9uLlxyXG4gKi9cclxuXHJcbi5zZWFyY2hfX2J1dHRvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHdpZHRoOiAzNHB4O1xyXG4gIGhlaWdodDogMzRweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIElucHV0LlxyXG4gKi9cclxuXHJcblxyXG4uc2VhcmNoX19mb3JtIHtcclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAuc2VhcmNoX19pbnB1dCB7XHJcbiAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC42LCAwLjI1MiwgMS4yKSwgYmFja2dyb3VuZC1jb2xvciAwbXMgMG1zO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgICBjdXJzb3I6IGluaXRpYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaF9faW5wdXQtYmFyIHtcclxuICAgICAgdG9wOiA1cHg7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNlYXJjaF9faW5wdXQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLjYsIDAuMjUyLCAxLjIpLCBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIDE1MG1zO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjay0xMDA7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc2VhcmNoX19pbnB1dC1iYXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDIwcHg7XHJcbiAgcmlnaHQ6IC0ycHg7XHJcbiAgd2lkdGg6IDEycHg7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrLTEwMDtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFN1Ym1lbnVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBTdWJtZW51IGJ1dHRvbi5cclxuICovXHJcblxyXG4uc3VibWVudS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4gICAgJi5pcy1hY3RpdmUgPiAuaW5saW5lLWljb24ge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU3VibWVudSBjb250YWluZXIuXHJcbiAqL1xyXG5cclxuLnN1Ym1lbnUtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDQwMG1zIGVhc2Utb3V0O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFN1Ym1lbnUuXHJcbiAqL1xyXG5cclxuLnN1Ym1lbnUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIGNvbG9yOiAkY29sb3ItYmx1ZS0yMDA7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgkY29sb3ItYmxhY2stMTAwLCAwLjE2KTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTdWJtZW51IGl0ZW0uXHJcbiAqL1xyXG5cclxuLy8gLnN1Ym1lbnUgPiAubWVudS1pdGVtIHtcclxuXHJcbi8vIH1cclxuXHJcblxyXG4vKipcclxuICogU3VibWVudSBpdGVtIGxpbmsuXHJcbiAqL1xyXG5cclxuLnN1Ym1lbnUgPiAubWVudS1pdGVtID4gYSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICBAaW5jbHVkZSBmb250KDE0cHgsIDIycHgpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMTBweDtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xyXG4gICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibHVlLTEwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zdWJtZW51ID4gLm1lbnUtaXRlbTpsYXN0LWNoaWxkID4gYSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHQgaW1hZ2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50ZXh0LWltYWdlIHtcclxuICAmLmJhY2tncm91bmQtY29sb3ItZ3JhZGllbnQge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYWRpZW50O1xyXG4gIH1cclxuXHJcbiAgJi5pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcclxuICAgIC50ZXh0LWltYWdlX19jb2x1bW5zIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgfVxyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtaW1hZ2VfX2NvbHVtbjpudGgtY2hpbGQoMSkge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1pbWFnZV9fY29sdW1uOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWltYWdlX190ZXh0IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcclxuICAgIC50ZXh0LWltYWdlX19jb2x1bW5zIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWltYWdlX19jb2x1bW46bnRoLWNoaWxkKDIpIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWltYWdlX190ZXh0IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRleHQtaW1hZ2VfX3RpdGxlIHtcclxuICAmLmhlYWRpbmctMSB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTE7XHJcbiAgfVxyXG5cclxuICAmLmhlYWRpbmctMiB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTI7XHJcbiAgfVxyXG5cclxuICAmLmhlYWRpbmctMyB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLTM7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbnMuXHJcbiAqL1xyXG5cclxuLnRleHQtaW1hZ2VfX2NvbHVtbiBpbWcge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XHJcbiAgICAtby1vYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0LlxyXG4gKi9cclxuXHJcbi50ZXh0LWltYWdlX190ZXh0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHBhZGRpbmc6IDUwcHggMDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMCA1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gIH1cclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDQ4N3B4O1xyXG4gIHBhZGRpbmc6IDkwcHggMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBcnJvdy5cclxuICovXHJcblxyXG4udGV4dC1pbWFnZV9fYXJyb3cge1xyXG4gIGJvdHRvbTogLTM1cHg7XHJcbiAgbGVmdDogY2FsYyg1MCUgLSAzNXB4KTtcclxuICB3aWR0aDogNjlweDtcclxuICBoZWlnaHQ6IDY5cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHotaW5kZXg6IDE7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIGNvbG9yOiAkY29sb3ItYmx1ZS0xMDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEltYWdlLlxyXG4gKi9cclxuXHJcbi50ZXh0LWltYWdlX19pbWFnZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVmlzaXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBWaXNpdC5cclxuICovXHJcblxyXG4udmlzaXQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtMTAwO1xyXG59XHJcblxyXG4udmlzaXQtbGVmdCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMwNHB4O1xyXG4gIH1cclxuICB3aWR0aDogNTAlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIGlmcmFtZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi52aXNpdC1yaWdodCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcC1kb3duJykge1xyXG4gICAgcGFkZGluZzogMTQ1cHggOTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgcGFkZGluZzogOTVweCA1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDMwcHggMzBweCA5MHB4O1xyXG4gIH1cclxuICB3aWR0aDogNTAlO1xyXG4gIHBhZGRpbmc6IDE0NXB4IDExNXB4O1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFN1YnRpdGxlLlxyXG4gKi9cclxuXHJcbi52aXNpdF9fc3VidGl0bGUge1xyXG4gIEBpbmNsdWRlIGZvbnQoMTVweCwgMTlweCk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUaXRsZS5cclxuICovXHJcblxyXG4udmlzaXRfX3RpdGxlIHtcclxuICBAZXh0ZW5kICVoZWFkaW5nLTE7XHJcbiAgbWFyZ2luOiAxNXB4IDAgMzBweDtcclxuICB0ZXh0LXNoYWRvdzogMCAycHggNHB4IHJnYmEoJGNvbG9yLWJsYWNrLTEwMCwgMC4xMyk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQWRkcmVzcy5cclxuICovXHJcblxyXG4udmlzaXRfX2FkZHJlc3Mge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogT3BlbmluZyBob3Vycy5cclxuICovXHJcblxyXG4udmlzaXRfX29wZW5pbmctaG91cnMtdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxufVxyXG5cclxuLnZpc2l0X19vcGVuaW5nLWhvdXJzLWxhYmVsIHtcclxuICB3aWR0aDogMTE1cHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29sb3JcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuLy8gQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBjbGFzc2VzIGJhc2VkIG9uXHJcbi8vIGV2ZXJ5IGNvbG9yIGRlZmluaXRpb24gaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuLy9cclxuLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGAka2V5YCBhbmQgYCRtYXBgIGluIHRoZSBgJGNvbG9yc2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW5cclxuLy8gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuQGVhY2ggJGtleSwgJG1hcCBpbiAkY29sb3JzIHtcclxuXHJcbiAgLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGAkc2hhZGVgIGFuZCBgJHJnYmAgaW4gYCRtYXBgLlxyXG4gIEBlYWNoICRzaGFkZSwgJHJnYiBpbiAkbWFwIHtcclxuXHJcbiAgICAvLyBMb29wIHRocm91Z2ggZXZlcnkgYGNvbG9yYCBhbmQgYGJhY2tncm91bmQtY29sb3JgIHJ1bGVzLlxyXG4gICAgQGVhY2ggJHJ1bGUgaW4gY29sb3IsIGJhY2tncm91bmQtY29sb3Ige1xyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIGAjeyRydWxlfWAgI3skcmdifS0jeyRzaGFkZX0gY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXHJcblxyXG4gICAgICAuI3skcnVsZX0tI3t1bnF1b3RlKCRrZXkpfS0je3VucXVvdGUoJHNoYWRlKX0ge1xyXG4gICAgICAgICN7JHJ1bGV9OiAkcmdiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE9iamVjdCBGaXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBPYmplY3QgZml0LlxyXG4gKlxyXG4gKiAxLiBGb250IGZhbWlseSBwb2x5ZmlsbCB3aXRoIChodHRwczovL2dpdGh1Yi5jb20vYmZyZWQtaXQvb2JqZWN0LWZpdC1pbWFnZXMpLlxyXG4gKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcclxuXHJcbiAgLyoqXHJcbiAgICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xyXG5cclxuICAuI3skdmFsdWV9IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogI3skdmFsdWV9Oyc7IC8qIDEgKi9cclxuICAgIG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUG9zaXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBQb3NpdGlvbiB1dGlsaXR5IGNsYXNzLlxyXG4gKi9cclxuXHJcbkBlYWNoICR2YWx1ZSBpbiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSB7XHJcbiAgLiN7JHZhbHVlfSB7XHJcbiAgICBwb3NpdGlvbjogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRm9udCBmYW1pbHkgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtc2l6ZSB7XHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0KCRwcm9wZXJ0eSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCwgY2VudGVyIHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZGlyZWN0aW9uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogMS4gTXVsdGlwbHkgbG9vcGVkIGludGVnZXIgYnkgMTAwIGZvciBjb3JyZWN0IGZvbnQgd2VpZ2h0IHZhbHVlLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuICAgICAgJGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgka2V5KSB7XHJcbiAgICBAZWFjaCAkdHJhbnNmb3JtIGluIGNhcGl0YWxpemUsIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBub25lLCBmdWxsLXdpZHRoIHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyR0cmFuc2Zvcm19IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBWZXJ0aWNhbCBSaHl0aG1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xyXG4gICRpOiAkaSAqIDg7XHJcblxyXG4gIC52ci0jeyRpfSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBaLWluZGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHotaW5kZXgge1xyXG4gIC56LWluZGV4LSN7JGtleX0ge1xyXG4gICAgei1pbmRleDogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBaLWluZGV4XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBBIGxpbWl0ZWQgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYHotaW5kZXhgIHByb3BlcnR5IHRvIHByZXZlbnRcclxuLy8gZXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cclxuXHJcbiR6LWluZGV4OiAoXHJcbiAgJzAnOiAgMCxcclxuICAnMSc6ICAxMCxcclxuICAnMic6ICAyMCxcclxuICAnMyc6ICAzMCxcclxuICAnNCc6ICA0MCxcclxuICAnNSc6ICA1MCxcclxuICAnNic6ICA2MCxcclxuICAnNyc6ICA3MCxcclxuICAnOCc6ICA4MCxcclxuICAnOSc6ICA5MCxcclxuICAnMTAnOiAxMDBcclxuKTtcclxuIl19 */
