@charset "UTF-8";
/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Color Map (https://convertacolor.com/).
 */
/**
 * Colors Variables.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
*::selection {
  background-color: #00b3ad;
  color: white; }

/**
 * Responsive.
 */
/**
 * Vendor.
 */
/*! 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 */
  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;
    -ms-touch-action: pan-Y;
    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;
    -khtml-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: 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 {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@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 {
    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: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  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%; }

/**
 * Tools.
 */
/**
 * Tools.
 */
/**
 * Unicode.
 *
 * Preserve escaped unicode string.
 * @param {String} $string - An unicode string.
 * @return {String} A preserved escaped unicode string
 */
/**
 * REM.
 *
 * Convert pixel units to REM units.
 * @param {Number} $pixels - Pixel value.
 * @return {*} - A converted `rem` unit.
 */
/**
 * Column.
 *
 * Calculate given column width.
 * @param {Number} $column - The amount of columns to span.
 * @param {Number} $columns - The amount of columns that can be spanned.
 * @return {String} - Percentage value.
 */
/**
 * Color.
 *
 * Get a color value from two levels deep in the `$color` map.
 * @param {$string} $key - Key of the color to get from the map.
 * @param {Number} $value - Value of the key to get from the map.
 * @return {*} A HSLA color value.
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/**
 * Container
 * 
 * Center aligns element with given maximum width, padding, and margins top and bottom.
 * @param {String} $width - Pixel unit value.
 * @param {String} $gap - Pixel unit value.
 * @example @include container(1024px, 20px);
 */
/**
 * Section
 *
 * Add top and bottom spacing to element using paddings.
 * @param {String} $top - Pixel unit value.
 * @param {String} $bottom - Pixel unit value.
 * @example @include section(100px, 100px);
 */
/**
 * Font.
 *
 * Adds `rem` unit based font size property, a fallback `px` unit based font size property, and a `em` unit based line height property to any rule.
 * @param {String} $font-size - Pixel unit value.
 * @param {String} $line-height - Pixel unit value.
 * @example @include font-size(16px, 24px);
 */
/**
 * Text.
 *
 * Shorthand for the font mixin, runs the font mixin based on a common demeanour existing both in the `$font-size` and the `$line-height` maps.
 * @param {string} $value - String
 * @example @include text('p');
 */
/**
 * Font Awesome.
 *
 * Add Font Awesome icons as psuedo elements by using their unicode.
 * @param {String} $content - Unicode string.
 * @param {String} $family - Font Awesome font family string.
 * @example @include fontawesome('f100', 'Light');
 */
/**
 * Media.
 *
 * Media queries according to "The 100% Correct Way To Do CSS Breakpoints" (https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862).
 * @param {String} $breakpoint - Breakpoint pixel unit value.
 * @example @include media('phone') {}
 */
/**
 * Elements.
 */
/**
 * General.
 */
/**
 * 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: #fafcff;
  color: #0c235f;
  font-family: "Source sans pro";
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

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

/**
 * Objects.
 */

.button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.375em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  padding: 16px 32px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 250ms ease;
  cursor: pointer;
  font-weight: 600; }
  @media only screen and (max-width: 899px) {
    
    .button {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 1.33333em;
      height: 44px;
      padding: 12px 18px; } }
  
  .button svg {
    width: 21px;
    height: 20px; }
  
  .button.has-svg-right svg {
    margin-left: 10px; }
  
  .button.has-svg-left svg {
    margin-right: 10px; }

/**
 * Button (default).
 */

.button--default {
  background-color: #00b3ad;
  color: white;
  font-family: "Oxygen"; }
  
  .button--default svg {
    opacity: 0;
    height: 20px;
    width: 20px;
    margin-left: -20px;
    margin-bottom: -2px;
    transition: all 300ms ease; }
  @media only screen and (min-width: 600px) {
    
    .button--default:hover {
      background-color: #028d88;
      color: white;
      padding: 16px 17px; }
      
      .button--default:hover svg {
        opacity: 100%;
        margin-left: 10px; } }
  
  .button--default.is-white {
    background-color: white;
    color: #00b3ad; }
    
    .button--default.is-white:hover {
      background-color: white;
      color: #028d88; }

/**
 * Button (border).
 */

.button--border {
  background-color: white;
  color: #0c235f;
  border: 2px solid #00b3ad;
  font-family: "Oxygen"; }
  @media only screen and (min-width: 600px) {
    
    .button--border:hover {
      background-color: white;
      color: #028d88;
      border: 2px solid #028d88; } }

/**
 * Button (small).
 */

.button--small {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  background-color: #0c235f;
  color: white;
  padding: 5px 25px;
  text-transform: uppercase;
  border-radius: 12px;
  height: 28px; }
  @media only screen and (min-width: 600px) {
    
    .button--small {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.33333em; } }
  
  .button--small svg {
    margin-left: 30px;
    height: 24px;
    width: 13px; }
  @media only screen and (min-width: 600px) {
    
    .button--small:hover {
      background-color: rgba(12, 35, 95, 0.5);
      color: white; } }

/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
@media only screen and (max-width: 899px) {
  .cms-output {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; } }

.cms-output p:not(:last-child) {
  margin-bottom: 2em; }

.cms-output h1,
.cms-output h2,
.cms-output h3,
.cms-output h4 {
  margin-bottom: 20px; }

.cms-output .is-intro {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.44444em; }
  @media only screen and (max-width: 899px) {
    .cms-output .is-intro {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.25em; } }

.cms-output img.aligncenter {
  display: block;
  margin: 0 auto; }

.cms-output img.alignright {
  display: block;
  margin: 0 0 0 auto; }

.cms-output table {
  word-break: break-word; }
  .cms-output table td {
    vertical-align: top; }

.cms-output ul,
.cms-output ol {
  list-style-type: disc;
  margin-left: 10px;
  margin-bottom: 1em; }

.cms-output ul li {
  display: flex;
  margin-bottom: 15px;
  position: relative;
  margin-left: 15px; }
  .cms-output ul li::before {
    margin-top: 8px;
    height: 10px;
    left: -25px;
    width: 10px;
    position: absolute;
    background-color: #00b3ad;
    border-radius: 50%;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .cms-output ul li::before {
        background-color: rgba(0, 179, 173, 0.6); } }
  .cms-output ul li::marker {
    display: none; }

.cms-output ol {
  list-style-type: decimal; }

.cms-output strong {
  font-weight: bold; }

.cms-output a {
  text-decoration: underline;
  color: #00b3ad;
  transition: all 250ms ease; }
  @media only screen and (min-width: 600px) {
    .cms-output a:hover {
      color: #028d88; } }

.cms-output blockquote {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.44444em;
  margin: 50px 0;
  padding: 20px 50px;
  position: relative;
  text-align: center;
  width: fit-content; }
  @media only screen and (max-width: 899px) {
    .cms-output blockquote {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.21429em;
      font-weight: 700; } }
  .cms-output blockquote::before {
    font-size: 100px;
    font-size: 10rem;
    line-height: 1em;
    font-weight: 700;
    font-style: normal;
    content: "“";
    color: #00b3ad;
    position: absolute;
    left: -5px;
    top: -30px; }
    @media only screen and (max-width: 899px) {
      .cms-output blockquote::before {
        font-size: 78px;
        font-size: 7.8rem;
        line-height: 1em; } }
  .cms-output blockquote::after {
    font-size: 100px;
    font-size: 10rem;
    line-height: 1em;
    font-weight: 700;
    font-style: normal;
    content: "”";
    color: #00b3ad;
    position: absolute;
    right: -5px;
    bottom: -70px; }
    @media only screen and (max-width: 899px) {
      .cms-output blockquote::after {
        font-size: 78px;
        font-size: 7.8rem;
        line-height: 1em; } }

.cms-output .wp-caption {
  margin-bottom: 20px; }
  .cms-output .wp-caption img {
    border-radius: 10px; }
  .cms-output .wp-caption .wp-caption-text {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25em;
    color: #eb811e;
    letter-spacing: 0.44px;
    margin-top: 10px; }

/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto; }

/**
 * 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;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .content-constraint {
      margin-top: 60px; } }

/**
 * 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-wrap {
  flex-wrap: wrap; }

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -10px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
			 * Column 1 for the `xs` breakpoint.
			 */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 10px; }

/**
				 * Offset 1 for the `xs` breakpoint.
				 */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
			 * Column 2 for the `xs` breakpoint.
			 */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 10px; }

/**
				 * Offset 2 for the `xs` breakpoint.
				 */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
			 * Column 3 for the `xs` breakpoint.
			 */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 10px; }

/**
				 * Offset 3 for the `xs` breakpoint.
				 */
.offset-xs-3 {
  margin-left: 25%; }

/**
			 * Column 4 for the `xs` breakpoint.
			 */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 10px; }

/**
				 * Offset 4 for the `xs` breakpoint.
				 */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
			 * Column 5 for the `xs` breakpoint.
			 */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 10px; }

/**
				 * Offset 5 for the `xs` breakpoint.
				 */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
			 * Column 6 for the `xs` breakpoint.
			 */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 10px; }

/**
				 * Offset 6 for the `xs` breakpoint.
				 */
.offset-xs-6 {
  margin-left: 50%; }

/**
			 * Column 7 for the `xs` breakpoint.
			 */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 10px; }

/**
				 * Offset 7 for the `xs` breakpoint.
				 */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
			 * Column 8 for the `xs` breakpoint.
			 */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 10px; }

/**
				 * Offset 8 for the `xs` breakpoint.
				 */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
			 * Column 9 for the `xs` breakpoint.
			 */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 10px; }

/**
				 * Offset 9 for the `xs` breakpoint.
				 */
.offset-xs-9 {
  margin-left: 75%; }

/**
			 * Column 10 for the `xs` breakpoint.
			 */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 10px; }

/**
				 * Offset 10 for the `xs` breakpoint.
				 */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
			 * Column 11 for the `xs` breakpoint.
			 */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 10px; }

/**
				 * Offset 11 for the `xs` breakpoint.
				 */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
			 * Column 12 for the `xs` breakpoint.
			 */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 10px; }

/**
			 * Align `stretch` for the xs breakpoint.
			 */
.align-xs-stretch {
  align-items: stretch; }

/**
			 * Align `center` for the xs breakpoint.
			 */
.align-xs-center {
  align-items: center; }

/**
			 * Align `flex-start` for the xs breakpoint.
			 */
.align-xs-flex-start {
  align-items: flex-start; }

/**
			 * Align `flex-end` for the xs breakpoint.
			 */
.align-xs-flex-end {
  align-items: flex-end; }

/**
			 * Align `baseline` for the xs breakpoint.
			 */
.align-xs-baseline {
  align-items: baseline; }

/**
			 * Justify `start` for the xs breakpoint.
			 */
.justify-xs-start {
  justify-content: start; }

/**
			 * Justify `center` for the xs breakpoint.
			 */
.justify-xs-center {
  justify-content: center; }

/**
			 * Justify `space-between` for the xs breakpoint.
			 */
.justify-xs-space-between {
  justify-content: space-between; }

/**
			 * Justify `space-around` for the xs breakpoint.
			 */
.justify-xs-space-around {
  justify-content: space-around; }

/**
			 * Justify `space-evenly` for the xs breakpoint.
			 */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
			 * Bleed left for the xs breakpoint.
			 */
.bleed-xs-left {
  padding-left: 0; }

/**
			 * Bleed right for the xs breakpoint.
			 */
.bleed-xs-right {
  padding-right: 0; }

/**
		 * Order first for the `xs` breakpoint.
		 */
.first-xs {
  order: -1; }

/**
		 * Order last for the `xs` breakpoint.
		 */
.last-xs {
  order: 1; }

/**
		 * Reverse order for the `xs` breakpoint.
		 */
.reverse-xs {
  flex-direction: row-reverse; }

@media only screen and (max-width: 599px) {
  /**
			 * Column 1 for the `sm` breakpoint.
			 */
  .col-sm-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `sm` breakpoint.
				 */
  .offset-sm-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `sm` breakpoint.
			 */
  .col-sm-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `sm` breakpoint.
				 */
  .offset-sm-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `sm` breakpoint.
			 */
  .col-sm-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `sm` breakpoint.
				 */
  .offset-sm-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `sm` breakpoint.
			 */
  .col-sm-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `sm` breakpoint.
				 */
  .offset-sm-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `sm` breakpoint.
			 */
  .col-sm-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `sm` breakpoint.
				 */
  .offset-sm-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `sm` breakpoint.
			 */
  .col-sm-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `sm` breakpoint.
				 */
  .offset-sm-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `sm` breakpoint.
			 */
  .col-sm-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `sm` breakpoint.
				 */
  .offset-sm-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `sm` breakpoint.
			 */
  .col-sm-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `sm` breakpoint.
				 */
  .offset-sm-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `sm` breakpoint.
			 */
  .col-sm-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `sm` breakpoint.
				 */
  .offset-sm-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `sm` breakpoint.
			 */
  .col-sm-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `sm` breakpoint.
				 */
  .offset-sm-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `sm` breakpoint.
			 */
  .col-sm-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `sm` breakpoint.
				 */
  .offset-sm-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `sm` breakpoint.
			 */
  .col-sm-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the sm breakpoint.
			 */
  .align-sm-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the sm breakpoint.
			 */
  .align-sm-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the sm breakpoint.
			 */
  .align-sm-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the sm breakpoint.
			 */
  .align-sm-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the sm breakpoint.
			 */
  .align-sm-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the sm breakpoint.
			 */
  .justify-sm-start {
    justify-content: start; }
  /**
			 * Justify `center` for the sm breakpoint.
			 */
  .justify-sm-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the sm breakpoint.
			 */
  .justify-sm-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the sm breakpoint.
			 */
  .justify-sm-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the sm breakpoint.
			 */
  .justify-sm-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the sm breakpoint.
			 */
  .bleed-sm-left {
    padding-left: 0; }
  /**
			 * Bleed right for the sm breakpoint.
			 */
  .bleed-sm-right {
    padding-right: 0; }
  /**
		 * Order first for the `sm` breakpoint.
		 */
  .first-sm {
    order: -1; }
  /**
		 * Order last for the `sm` breakpoint.
		 */
  .last-sm {
    order: 1; }
  /**
		 * Reverse order for the `sm` breakpoint.
		 */
  .reverse-sm {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 600px) {
  /**
			 * Column 1 for the `md` breakpoint.
			 */
  .col-md-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `md` breakpoint.
				 */
  .offset-md-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `md` breakpoint.
			 */
  .col-md-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `md` breakpoint.
				 */
  .offset-md-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `md` breakpoint.
			 */
  .col-md-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `md` breakpoint.
				 */
  .offset-md-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `md` breakpoint.
			 */
  .col-md-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `md` breakpoint.
				 */
  .offset-md-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `md` breakpoint.
			 */
  .col-md-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `md` breakpoint.
				 */
  .offset-md-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `md` breakpoint.
			 */
  .col-md-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `md` breakpoint.
				 */
  .offset-md-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `md` breakpoint.
			 */
  .col-md-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `md` breakpoint.
				 */
  .offset-md-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `md` breakpoint.
			 */
  .col-md-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `md` breakpoint.
				 */
  .offset-md-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `md` breakpoint.
			 */
  .col-md-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `md` breakpoint.
				 */
  .offset-md-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `md` breakpoint.
			 */
  .col-md-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `md` breakpoint.
				 */
  .offset-md-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `md` breakpoint.
			 */
  .col-md-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `md` breakpoint.
				 */
  .offset-md-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `md` breakpoint.
			 */
  .col-md-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the md breakpoint.
			 */
  .align-md-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the md breakpoint.
			 */
  .align-md-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the md breakpoint.
			 */
  .align-md-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the md breakpoint.
			 */
  .align-md-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the md breakpoint.
			 */
  .align-md-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the md breakpoint.
			 */
  .justify-md-start {
    justify-content: start; }
  /**
			 * Justify `center` for the md breakpoint.
			 */
  .justify-md-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the md breakpoint.
			 */
  .justify-md-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the md breakpoint.
			 */
  .justify-md-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the md breakpoint.
			 */
  .justify-md-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the md breakpoint.
			 */
  .bleed-md-left {
    padding-left: 0; }
  /**
			 * Bleed right for the md breakpoint.
			 */
  .bleed-md-right {
    padding-right: 0; }
  /**
		 * Order first for the `md` breakpoint.
		 */
  .first-md {
    order: -1; }
  /**
		 * Order last for the `md` breakpoint.
		 */
  .last-md {
    order: 1; }
  /**
		 * Reverse order for the `md` breakpoint.
		 */
  .reverse-md {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 900px) {
  /**
			 * Column 1 for the `lg` breakpoint.
			 */
  .col-lg-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `lg` breakpoint.
				 */
  .offset-lg-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `lg` breakpoint.
			 */
  .col-lg-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `lg` breakpoint.
				 */
  .offset-lg-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `lg` breakpoint.
			 */
  .col-lg-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `lg` breakpoint.
				 */
  .offset-lg-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `lg` breakpoint.
			 */
  .col-lg-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `lg` breakpoint.
				 */
  .offset-lg-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `lg` breakpoint.
			 */
  .col-lg-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `lg` breakpoint.
				 */
  .offset-lg-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `lg` breakpoint.
			 */
  .col-lg-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `lg` breakpoint.
				 */
  .offset-lg-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `lg` breakpoint.
			 */
  .col-lg-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `lg` breakpoint.
				 */
  .offset-lg-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `lg` breakpoint.
			 */
  .col-lg-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `lg` breakpoint.
				 */
  .offset-lg-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `lg` breakpoint.
			 */
  .col-lg-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `lg` breakpoint.
				 */
  .offset-lg-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `lg` breakpoint.
			 */
  .col-lg-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `lg` breakpoint.
				 */
  .offset-lg-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `lg` breakpoint.
			 */
  .col-lg-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `lg` breakpoint.
				 */
  .offset-lg-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `lg` breakpoint.
			 */
  .col-lg-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the lg breakpoint.
			 */
  .align-lg-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the lg breakpoint.
			 */
  .align-lg-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the lg breakpoint.
			 */
  .align-lg-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the lg breakpoint.
			 */
  .align-lg-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the lg breakpoint.
			 */
  .align-lg-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the lg breakpoint.
			 */
  .justify-lg-start {
    justify-content: start; }
  /**
			 * Justify `center` for the lg breakpoint.
			 */
  .justify-lg-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the lg breakpoint.
			 */
  .justify-lg-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the lg breakpoint.
			 */
  .justify-lg-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the lg breakpoint.
			 */
  .justify-lg-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the lg breakpoint.
			 */
  .bleed-lg-left {
    padding-left: 0; }
  /**
			 * Bleed right for the lg breakpoint.
			 */
  .bleed-lg-right {
    padding-right: 0; }
  /**
		 * Order first for the `lg` breakpoint.
		 */
  .first-lg {
    order: -1; }
  /**
		 * Order last for the `lg` breakpoint.
		 */
  .last-lg {
    order: 1; }
  /**
		 * Reverse order for the `lg` breakpoint.
		 */
  .reverse-lg {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 1200px) {
  /**
			 * Column 1 for the `xl` breakpoint.
			 */
  .col-xl-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `xl` breakpoint.
				 */
  .offset-xl-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `xl` breakpoint.
			 */
  .col-xl-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `xl` breakpoint.
				 */
  .offset-xl-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `xl` breakpoint.
			 */
  .col-xl-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `xl` breakpoint.
				 */
  .offset-xl-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `xl` breakpoint.
			 */
  .col-xl-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `xl` breakpoint.
				 */
  .offset-xl-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `xl` breakpoint.
			 */
  .col-xl-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `xl` breakpoint.
				 */
  .offset-xl-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `xl` breakpoint.
			 */
  .col-xl-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `xl` breakpoint.
				 */
  .offset-xl-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `xl` breakpoint.
			 */
  .col-xl-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `xl` breakpoint.
				 */
  .offset-xl-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `xl` breakpoint.
			 */
  .col-xl-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `xl` breakpoint.
				 */
  .offset-xl-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `xl` breakpoint.
			 */
  .col-xl-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `xl` breakpoint.
				 */
  .offset-xl-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `xl` breakpoint.
			 */
  .col-xl-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `xl` breakpoint.
				 */
  .offset-xl-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `xl` breakpoint.
			 */
  .col-xl-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `xl` breakpoint.
				 */
  .offset-xl-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `xl` breakpoint.
			 */
  .col-xl-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the xl breakpoint.
			 */
  .align-xl-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the xl breakpoint.
			 */
  .align-xl-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the xl breakpoint.
			 */
  .align-xl-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the xl breakpoint.
			 */
  .align-xl-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the xl breakpoint.
			 */
  .align-xl-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the xl breakpoint.
			 */
  .justify-xl-start {
    justify-content: start; }
  /**
			 * Justify `center` for the xl breakpoint.
			 */
  .justify-xl-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the xl breakpoint.
			 */
  .justify-xl-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the xl breakpoint.
			 */
  .justify-xl-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the xl breakpoint.
			 */
  .justify-xl-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the xl breakpoint.
			 */
  .bleed-xl-left {
    padding-left: 0; }
  /**
			 * Bleed right for the xl breakpoint.
			 */
  .bleed-xl-right {
    padding-right: 0; }
  /**
		 * Order first for the `xl` breakpoint.
		 */
  .first-xl {
    order: -1; }
  /**
		 * Order last for the `xl` breakpoint.
		 */
  .last-xl {
    order: 1; }
  /**
		 * Reverse order for the `xl` breakpoint.
		 */
  .reverse-xl {
    flex-direction: row-reverse; } }

/**
 * Default fields.
 */
legend,
label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
  color: #0c235f;
  margin-left: 15px; }
  legend a,
  label a {
    text-decoration: underline; }


select,
input,
textarea {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375em;
  width: 100%;
  height: 42px;
  border-radius: 4px;
  padding: 11px 15px;
  background-color: white;
  font-weight: 500;
  border: 1px solid #0c235f;
  color: #0c235f; }
  
  select:focus,
  input:focus,
  textarea:focus {
    background-color: white; }
  
  select ::placeholder,
  input ::placeholder,
  textarea ::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgba(12, 35, 95, 0.2);
    opacity: 1;
    /* Firefox */ }
  
  select :-ms-input-placeholder,
  input :-ms-input-placeholder,
  textarea :-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: rgba(12, 35, 95, 0.2); }
  
  select ::-ms-input-placeholder,
  input ::-ms-input-placeholder,
  textarea ::-ms-input-placeholder {
    /* Microsoft Edge */
    color: rgba(12, 35, 95, 0.2); }

textarea {
  height: 230px;
  padding-top: 15px; }

.gfield_required {
  color: #00b3ad; }

.gfield_label {
  opacity: 80%; }

.gchoice {
  display: flex; }
  .gchoice input {
    position: relative;
    top: 6px; }
  .gchoice label {
    font-weight: 400; }

.gfield.hidden_label .gfield_label_before_complex {
  display: none; }

.gfield .has_first_name {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .gfield .has_first_name span {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    width: calc(50% - 15px); }
    @media only screen and (max-width: 599px) {
      .gfield .has_first_name span {
        width: 100%; }
        .gfield .has_first_name span:first-of-type {
          margin-bottom: 30px; } }
    .gfield .has_first_name span label {
      opacity: 80%; }
      .gfield .has_first_name span label::after {
        content: '*';
        color: #00b3ad; }

.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid #0c235f; }
  .ginput_container_select svg {
    position: absolute;
    top: 14px;
    right: 20px;
    width: 9px;
    height: 13px;
    z-index: 1; }
  .ginput_container_select select {
    position: relative;
    width: calc(100% + 50px);
    max-width: none;
    margin: -2px;
    background-color: transparent;
    border: 0;
    z-index: 2; }

input[type='radio'],
input[type='checkbox'] {
  width: 15px;
  height: 15px;
  border: 2px solid #0c235f;
  border-radius: 2px;
  background-color: white;
  transition: all 250ms ease; }
  input[type='radio']:checked,
  input[type='checkbox']:checked {
    background-color: #0c235f; }

input[type='radio'] {
  border-radius: 20px; }

/**
 * Gravity Forms.
 */
.gfield {
  margin-bottom: 30px; }

.gform_validation_container {
  display: none; }

.hidden_label > label {
  display: none; }

.validation_message {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.64286em;
  margin-top: 5px;
  border-radius: 8px;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  width: 100%;
  color: #eb811e;
  background-color: rgba(235, 129, 30, 0.1); }
  .validation_message > svg {
    width: 16px;
    height: 16px;
    margin-right: 5px;
    margin-top: -2px; }


.validation_error {
  display: none;
  position: relative;
  margin: 0 0 50px;
  padding: 25px 25px 25px 75px;
  background: rgba(235, 129, 30, 0.1);
  color: #eb811e; }
  
  .validation_error > svg {
    position: absolute;
    top: calc(50% - 15px);
    left: 30px;
    width: 31px;
    height: 30px;
    color: #eb811e; }
  
  .validation_error .close-button {
    position: absolute;
    top: 5px;
    right: 5px;
    cursor: pointer; }
    
    .validation_error .close-button svg {
      width: 16px;
      height: 16px;
      color: #0c235f; }

.gform_confirmation_message {
  width: 100%;
  padding: 50px;
  background: #eb811e; }
  .gform_confirmation_message br {
    display: none; }
  .gform_confirmation_message h4 {
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    .gform_confirmation_message h4 svg {
      width: 28px;
      height: 28px;
      margin-right: 20px;
      border-radius: 20px;
      background-color: white;
      padding: 5px;
      color: #0c235f; }

.gform_footer {
  padding-top: 10px;
  padding-bottom: 175px; }
  @media only screen and (max-width: 899px) {
    .gform_footer {
      padding-bottom: 56px;
      margin-top: 0; } }

.gfield_required_text {
  margin-left: 5px; }

.ginput_container_date .screen-reader-text {
  display: none; }

/* General GF Date Picker */
#ui-datepicker-div {
  background: #FFF;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0px 3px 5px 0px rgba(50, 50, 50, 0.75);
  display: none;
  padding: 20px;
  width: 300px; }
  #ui-datepicker-div .ui-icon {
    color: transparent;
    cursor: pointer;
    font-size: 0px; }
  #ui-datepicker-div .ui-icon:before {
    color: white;
    font-family: "FontAwesome";
    font-size: 18px; }
  #ui-datepicker-div .ui-datepicker-prev {
    float: left;
    width: 10%; }
    #ui-datepicker-div .ui-datepicker-prev .ui-icon:before {
      content: '\f060'; }
    #ui-datepicker-div .ui-datepicker-prev.ui-state-disabled {
      display: none; }
  #ui-datepicker-div .ui-datepicker-next {
    float: right;
    width: 10%; }
    #ui-datepicker-div .ui-datepicker-next .ui-icon:before {
      content: '\f061';
      float: right; }
    #ui-datepicker-div .ui-datepicker-next.ui-state-disabled {
      display: none; }
  #ui-datepicker-div .ui-datepicker-title select {
    float: left;
    width: 70%; }
  #ui-datepicker-div .ui-datepicker-title .ui-datepicker-month {
    margin: 0px 5% 6px; }
  #ui-datepicker-div .ui-datepicker-title .ui-datepicker-year {
    margin: 0px 15% 6px; }
  #ui-datepicker-div .ui-datepicker-today {
    background-color: #00b3ad;
    border-radius: 4px; }
    #ui-datepicker-div .ui-datepicker-today a {
      color: #FFF; }
  #ui-datepicker-div table {
    width: 100%; }
    #ui-datepicker-div table td, #ui-datepicker-div table th {
      text-align: center; }
    #ui-datepicker-div table td a {
      display: block;
      padding: 5px; }

/**
 * Heading.
 */
h1,
h2,
h3,
h4 {
  font-family: "Oxygen";
  color: #0c235f; }
  h1.is-white,
  h2.is-white,
  h3.is-white,
  h4.is-white {
    color: white; }

/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 52px;
  font-size: 5.2rem;
  line-height: 1.25em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 42px;
      font-size: 4.2rem;
      line-height: 1.2381em; } }
  @media only screen and (max-width: 599px) {
    h1,
    .heading-1 {
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1em; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1.23529em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 39px;
      font-size: 3.9rem;
      line-height: 1em; } }
  @media only screen and (max-width: 599px) {
    h2,
    .heading-2 {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1em; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.33333em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    h3,
    .heading-3 {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.2em;
      font-weight: 700; } }
  @media only screen and (max-width: 599px) {
    h3,
    .heading-3 {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1em; } }

/**
 * Subheading.
 */
.subheading {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.21429em;
  font-weight: 300; }
  @media only screen and (max-width: 899px) {
    .subheading {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.33333em; } }
  .subheading.is-white {
    color: white; }

.has-lazy-load {
  position: relative;
  top: -150px;
  transition: all 750ms ease;
  transition-delay: 500ms;
  opacity: 0; }
  .has-lazy-load.header {
    transition-delay: 750ms;
    transition: all 500ms ease; }

.has-lazy-load[loaded='true'] {
  top: 0;
  opacity: 1; }

.pagination {
  width: 100%;
  padding-top: 20px; }
  @media only screen and (max-width: 899px) {
    .pagination {
      padding-top: 45px; } }
  .pagination .wrapper {
    justify-content: center; }
  .pagination .page-numbers {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    transition: all 250ms ease;
    color: rgba(12, 35, 95, 0.5);
    font-weight: 400; }
    .pagination .page-numbers:hover, .pagination .page-numbers.current {
      color: #0c235f;
      font-weight: 700; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      margin-right: 15px; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        position: relative;
        top: 0;
        width: 16px;
        height: 36px;
        color: #0c235f;
        transition: all 250ms ease; }
      .pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover {
        color: #eb811e; }
    .pagination .page-numbers.dots {
      color: #00b3ad;
      font-weight: 400; }
    .pagination .page-numbers.next {
      margin-right: 0;
      margin-left: 5px; }

/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1240px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper {
      max-width: calc(1240px + 80px);
      padding: 0 40px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper {
      max-width: calc(1240px + 40px);
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Wrapper (medium)
 */
.wrapper--medium {
  max-width: calc(1028px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper--medium {
      max-width: calc(1028px + 80px);
      padding: 0 40px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper--medium {
      max-width: calc(1028px + 40px);
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Wrapper (small)
 */
.wrapper--small {
  max-width: calc(816px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper--small {
      max-width: calc(816px + 80px);
      padding: 0 40px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper--small {
      max-width: calc(816px + 40px);
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Components.
 */
.footer {
  background-color: #00b3ad;
  color: white;
  margin-top: 250px;
  position: relative; }
  .footer:before {
    position: absolute;
    content: '';
    width: 1962px;
    height: 240px;
    left: calc(50% - 981px);
    right: calc(50% - 981px);
    top: -111px;
    z-index: -1;
    background: url("./../images/footeroranje.svg");
    background-repeat: no-repeat;
    background-size: cover; }
    @media only screen and (max-width: 1199px) {
      .footer:before {
        width: 1440px;
        height: 337px;
        left: calc(50% - 720px);
        right: calc(50% - 720px); } }

.footer__columns-wrap {
  padding-top: 60px;
  margin-bottom: 100px; }

.footer__columns {
  width: calc(75% - 50px);
  justify-content: space-between;
  margin-left: 50px; }
  @media only screen and (max-width: 599px) {
    .footer__columns {
      width: 100%;
      margin-left: 0; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .footer__columns {
      width: 50%;
      margin-left: 0; } }
  .footer__columns .footer__column {
    width: 33.3%;
    margin: 0; }
    @media only screen and (max-width: 599px) {
      .footer__columns .footer__column {
        width: 100%;
        padding: 0;
        margin-bottom: 0; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .footer__columns .footer__column {
        width: 100%;
        padding: 0; } }

.footer__link-title {
  margin-bottom: 40px; }
  @media only screen and (max-width: 899px) {
    .footer__link-title {
      margin-bottom: 30px; } }

.footer__column-button {
  margin-top: 10px; }

.footer__column-title-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px; }
  .footer__column-title-wrap svg {
    transition: all 300ms ease;
    display: none; }
    @media only screen and (max-width: 899px) {
      .footer__column-title-wrap svg {
        width: 7px;
        height: 24px;
        display: block; } }
  .footer__column-title-wrap.is-active svg {
    transition: all 300ms ease;
    transform: rotate(90deg); }

.footer__column {
  width: 25%; }
  @media only screen and (max-width: 599px) {
    .footer__column {
      width: 100%;
      margin-bottom: 80px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .footer__column {
      width: 50%;
      padding-right: 30px; } }

.footer__links {
  justify-content: space-between; }

.footer__social a {
  margin-left: 20px; }
  .footer__social a svg {
    width: 20px;
    height: 20px; }
  .footer__social a:hover {
    opacity: 70%; }

.footer__terms a {
  margin-right: 23px; }
  .footer__terms a:hover {
    opacity: 70%; }

@media only screen and (max-width: 899px) {
  .footer__column-editor {
    display: none; } }

.footer__column-editor p {
  margin-bottom: 16px; }

.footer__column-editor a {
  color: white;
  text-decoration: none; }
  .footer__column-editor a:hover {
    color: white;
    opacity: 70%; }

.footer__column-editor p:not(:last-child) {
  margin-bottom: 16px; }

.footer__links {
  margin-bottom: 60px; }

.footer__bottom {
  padding: 18px 0;
  background-color: #028d88; }
  .footer__bottom a:hover {
    opacity: 70%; }

.header {
  height: 90px;
  background-color: white;
  position: relative;
  width: 100%;
  z-index: 99;
  box-shadow: 0px 3.09013px 3.09013px rgba(12, 36, 96, 0.05); }
  @media only screen and (max-width: 599px) {
    .header {
      position: fixed;
      top: 0;
      background-color: #fafafa; } }
  @media only screen and (max-width: 899px) {
    .header {
      height: 60px; } }
  .header .wrapper {
    align-items: center;
    justify-content: space-between;
    transition: all 300ms ease;
    height: 90px;
    overflow: hidden; }
    @media only screen and (max-width: 899px) {
      .header .wrapper {
        height: 60px; } }
    .header .wrapper:hover {
      overflow: visible; }
    .header .wrapper.is-active {
      flex-direction: row-reverse; }

.header__logo img {
  width: 300px;
  height: auto; }
  @media only screen and (max-width: 1199px) {
    .header__logo img {
      width: 220px; } }

.header__wrap {
  display: flex;
  align-items: center; }

.header__contact {
  margin-left: 40px; }
  @media only screen and (max-width: 599px) {
    .header__contact {
      display: none; } }
  @media only screen and (max-width: 899px) {
    .header__contact {
      margin-left: 25px; } }

@media only screen and (max-width: 1000px) {
  .header__menu {
    display: none; } }

.header__menu > li {
  position: relative;
  margin-right: 20px; }
  .header__menu > li > a {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em;
    font-family: "Oxygen";
    color: #0c235f;
    transition: all 500ms ease; }
    .header__menu > li > a svg {
      position: relative;
      top: 3px;
      width: 9px;
      height: 15px;
      margin-left: 8px;
      transition: transform 500ms ease; }
  .header__menu > li:last-of-type {
    margin: 0; }
  .header__menu > li:hover > a {
    color: #00b3ad; }
  .header__menu > li:hover > a svg {
    transform: rotate(180deg);
    color: #00b3ad; }
  .header__menu > li:hover .submenu-container {
    opacity: 1;
    top: 100%; }
  .header__menu > li.current-menu-item > a:after {
    content: '';
    width: 7px;
    height: 7px;
    background-color: #00b3ad;
    position: absolute;
    border-radius: 50%;
    right: calc(50% - 3.5px);
    bottom: -14px; }
  .header__menu > li > .submenu-container {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translate(-50%, 0%);
    width: max-content;
    min-width: 175px;
    padding-top: 30px;
    opacity: 0;
    transition: all 500ms ease; }
    .header__menu > li > .submenu-container > .submenu {
      padding: 20px 12px 5px;
      box-shadow: 0px 3.09013px 3.09013px rgba(12, 36, 96, 0.05);
      background-color: white; }
      .header__menu > li > .submenu-container > .submenu li a {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.5em;
        display: flex;
        width: 100%;
        font-weight: 400;
        margin-bottom: 15px;
        transition: all 400ms ease;
        color: #0c235f; }
        .header__menu > li > .submenu-container > .submenu li a:hover {
          border-left: 2px solid #00b3ad;
          padding-left: 8px; }
      .header__menu > li > .submenu-container > .submenu li li a {
        padding-left: 20px;
        font-weight: 400; }
      .header__menu > li > .submenu-container > .submenu li .submenu {
        padding: 5px 0 20px 0; }
      .header__menu > li > .submenu-container > .submenu li.current-page-ancestor > a, .header__menu > li > .submenu-container > .submenu li.current-menu-item > a {
        color: #00b3ad; }

/**
 * Menu Button.
 */
@media only screen and (max-width: 1000px) {
  .header__menu-button {
    display: flex;
    position: relative;
    width: 21px;
    height: 21px;
    z-index: 100; }
    .header__menu-button span {
      display: inline-block;
      position: absolute;
      right: 0;
      left: 0;
      width: 21px;
      height: 3px;
      border-radius: 2px;
      margin: auto;
      background-color: #0c235f; }
      .header__menu-button span:nth-child(1) {
        top: 3px;
        transition: background-color 300ms, top 300ms 300ms, transform 300ms 0s; }
      .header__menu-button span:nth-child(2) {
        top: calc(50% - 0px);
        transition: background-color 300ms, opacity 0ms 300ms;
        background-color: #0c235f;
        opacity: 1; }
      .header__menu-button span:nth-child(3) {
        bottom: 0px;
        transition: background-color 300ms, bottom 300ms 300ms, transform 300ms 0s;
        background-color: #0c235f; }
    .header__menu-button.is-active span:nth-child(1) {
      top: calc(50% - 0.5px);
      transform: rotate(-45deg);
      transition: background-color 300ms, top 300ms, transform 300ms 300ms; }
    .header__menu-button.is-active span:nth-child(2) {
      opacity: 0; }
    .header__menu-button.is-active span:nth-child(3) {
      bottom: calc(50% - 2.5px);
      transform: rotate(45deg);
      transition: background-color 300ms, bottom 300ms, transform 300ms 300ms; } }

.navigation-mobile {
  position: fixed;
  top: 100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 90px);
  margin-top: 90px;
  transition: all 500ms ease;
  background: #fafcff;
  opacity: 0;
  z-index: 999;
  overflow-x: hidden; }
  @media only screen and (max-width: 899px) {
    .navigation-mobile {
      height: calc(100% - 60px);
      margin-top: 60px; } }
  .navigation-mobile.is-active {
    top: 0;
    opacity: 1; }
  .navigation-mobile::-webkit-scrollbar {
    display: none; }

/**
 * Main menu.
 */
.navigation-mobile__main {
  width: 100%;
  margin: 20px 0; }
  .navigation-mobile__main > li {
    position: relative;
    width: 100%; }
    .navigation-mobile__main > li > a {
      padding: 12px 0; }
    .navigation-mobile__main > li.current_page_ancestor > a, .navigation-mobile__main > li.current-menu-item > a {
      color: #0c235f;
      font-weight: 700;
      display: flex;
      justify-content: space-between; }
    .navigation-mobile__main > li.is-active {
      background-color: rgba(0, 179, 173, 0.1); }
      .navigation-mobile__main > li.is-active > a {
        color: white;
        background-color: #00b3ad;
        padding-left: 60px;
        margin-left: -60px;
        width: calc(100% + 60px); }
        .navigation-mobile__main > li.is-active > a > span svg {
          color: white;
          transform: rotate(0deg); }
    .navigation-mobile__main > li > a {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.5em;
      display: block;
      position: relative;
      width: 100%;
      font-family: "Oxygen";
      color: #0c235f;
      font-weight: 700; }
      .navigation-mobile__main > li > a > span {
        padding: 0 20px 0 5px;
        cursor: pointer; }
        .navigation-mobile__main > li > a > span svg {
          position: absolute;
          top: calc(50% - 10px);
          right: 0;
          width: 10px;
          height: 22px;
          transition: all 500ms ease;
          color: #0c235f;
          transform: rotate(-90deg);
          margin-right: 10px; }
    .navigation-mobile__main > li .submenu-container {
      display: none;
      position: relative;
      margin-left: 10px;
      padding-bottom: 2px; }
      .navigation-mobile__main > li .submenu-container li {
        padding: 11px 0; }
        .navigation-mobile__main > li .submenu-container li a {
          position: relative;
          display: block;
          color: #00b3ad; }
          .navigation-mobile__main > li .submenu-container li a svg {
            display: none; }
        .navigation-mobile__main > li .submenu-container li .submenu-container {
          margin-bottom: 30px;
          padding: 10px 0 0 0;
          border: 0; }
          .navigation-mobile__main > li .submenu-container li .submenu-container li a {
            font-weight: 400;
            padding-left: 20px; }
        .navigation-mobile__main > li .submenu-container li.is-active > a > span svg {
          transform: rotate(-90deg); }

/**
 * Disable scroll.
 */
body.is-active {
  overflow: hidden; }
  body.is-active .header::before {
    bottom: 0; }

.news-latest {
  position: relative;
  margin-top: 120px; }
  .news-latest::after {
    content: '';
    position: absolute;
    top: 10px;
    right: 0;
    width: 77px;
    height: 95px;
    background: url("./../images/vorm3.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .news-latest .owl-nav button.owl-prev,
  .news-latest .owl-nav button.owl-next {
    width: 40px;
    height: 40px;
    background-color: #0c235f;
    border-radius: 50%;
    transition: all 250ms ease; }
    .news-latest .owl-nav button.owl-prev.disabled,
    .news-latest .owl-nav button.owl-next.disabled {
      background-color: rgba(12, 35, 95, 0.2); }
      .news-latest .owl-nav button.owl-prev.disabled svg,
      .news-latest .owl-nav button.owl-next.disabled svg {
        color: rgba(12, 35, 95, 0.5); }
    @media only screen and (max-width: 899px) {
      .news-latest .owl-nav button.owl-prev:hover,
      .news-latest .owl-nav button.owl-next:hover {
        opacity: 0.7; } }
    .news-latest .owl-nav button.owl-prev:before,
    .news-latest .owl-nav button.owl-next:before {
      display: none; }
    .news-latest .owl-nav button.owl-prev svg,
    .news-latest .owl-nav button.owl-next svg {
      position: relative;
      top: 4px;
      width: 21px;
      height: 24px;
      color: white; }
  .news-latest .owl-nav button.owl-next {
    top: -80px;
    right: 0;
    position: absolute; }
    @media only screen and (max-width: 599px) {
      .news-latest .owl-nav button.owl-next {
        top: -60px; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .news-latest .owl-nav button.owl-next {
        top: -90px; } }
  .news-latest .owl-nav button.owl-prev {
    top: -80px;
    right: 55px;
    position: absolute; }
    @media only screen and (max-width: 599px) {
      .news-latest .owl-nav button.owl-prev {
        top: -60px; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .news-latest .owl-nav button.owl-prev {
        top: -90px; } }
  .news-latest .owl-stage-outer {
    overflow: visible; }
  .news-latest .news-item {
    width: 450px; }
    @media only screen and (max-width: 599px) {
      .news-latest .news-item {
        max-width: auto; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .news-latest .news-item {
        max-width: 350px; } }
  .news-latest .news-item__image {
    height: 270px; }
    @media only screen and (max-width: 599px) {
      .news-latest .news-item__image {
        height: 210px; } }

.news-latest__title {
  margin-bottom: 60px; }
  @media only screen and (max-width: 899px) {
    .news-latest__title {
      margin-bottom: 30px; } }

.news-latest__link {
  margin-bottom: 55px; }
  @media only screen and (max-width: 599px) {
    .news-latest__link {
      margin-bottom: 85px; } }

.news-list {
  position: relative; }
  .news-list .news-item {
    width: calc((100% - 60px) / 3);
    margin-bottom: 100px; }
    @media only screen and (max-width: 599px) {
      .news-list .news-item {
        width: calc(100% / 1);
        margin-bottom: 50px; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .news-list .news-item {
        width: calc((100% - 30px) / 2);
        margin-bottom: 50px; } }
  .news-list .news-item__image {
    height: 350px; }
  .news-list .wrapper::after {
    content: '';
    position: absolute;
    top: 1242px;
    right: -60px;
    width: 150px;
    height: 150px;
    background: url("./../images/circle3.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .news-list .wrapper::before {
    content: '';
    position: absolute;
    top: 1447px;
    left: -40px;
    width: 150px;
    height: 150px;
    background: url("./../images/circle3.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .news-list:before {
    position: absolute;
    content: '';
    width: 1962px;
    height: 580px;
    left: calc(50% - 981px);
    right: calc(50% - 981px);
    top: -100px;
    z-index: -1;
    background: url("./../images/groterblauw.svg");
    background-repeat: no-repeat;
    background-size: cover; }

.news-list__title {
  margin-top: 92px;
  margin-bottom: 100px; }

.news-list__wrap {
  justify-content: space-between; }

.news-single {
  position: relative;
  margin-top: 110px; }
  .news-single:before {
    position: absolute;
    content: '';
    width: 1155px;
    height: 350px;
    left: calc(50% - 577px);
    right: calc(50% - 577px);
    top: 25px;
    z-index: -1;
    background: url("./../images/kleinblauw.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .news-single .wrapper--small {
    position: relative; }
    .news-single .wrapper--small::after {
      content: '';
      position: absolute;
      top: 0;
      right: -140px;
      width: 273px;
      height: 95px;
      background: url("./../images/vorm6.svg");
      background-repeat: no-repeat;
      background-size: cover;
      z-index: -2; }
    .news-single .wrapper--small::before {
      content: '';
      position: absolute;
      top: 315px;
      left: -140px;
      width: 273px;
      height: 95px;
      background: url("./../images/vorm6.svg");
      background-repeat: no-repeat;
      background-size: cover;
      z-index: -2; }

.news-single__image {
  position: relative;
  width: 100%;
  height: 400px;
  margin-bottom: 40px;
  margin-top: -25px;
  border-radius: 8px;
  box-shadow: 0px 20px 60px rgba(17, 68, 128, 0.12); }
  .news-single__image img {
    border-radius: 8px; }

.news-single__title {
  margin-bottom: 55px; }

.news-single__editor {
  margin-bottom: 65px; }

.news-single__back {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  font-weight: 600;
  transition: all 300ms ease;
  color: #00b3ad; }
  .news-single__back svg {
    height: 24px;
    width: 13px;
    margin-right: 30px;
    transition: all 300ms ease; }
  @media only screen and (min-width: 600px) {
    .news-single__back:hover svg {
      margin-left: -5px;
      margin-right: 25px; } }

.news-item a:hover .news-item__more svg {
  margin-left: 50px; }

.news-item a:hover .news-item__image img {
  transform: scale(1); }

.news-item__image {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0px 4px 4px rgba(12, 36, 96, 0.1); }
  .news-item__image img {
    transform: scale(1.1);
    transition: all 500ms ease;
    border-radius: 4px; }

.news-item__date {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.41667em;
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 5px 20px;
  color: #00b3ad;
  border: 2px solid #00b3ad;
  border-radius: 5px;
  background-color: white;
  font-family: "Oxygen";
  z-index: 1; }

.news-item__title {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.125em;
  font-weight: 700;
  margin-bottom: 10px; }
  @media only screen and (max-width: 899px) {
    .news-item__title {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.14286em; } }

.news-item__teaser {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.125em;
  margin-bottom: 30px; }
  @media only screen and (max-width: 899px) {
    .news-item__teaser {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.14286em; } }

.news-item__more {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #00b3ad; }
  .news-item__more svg {
    margin-left: 40px;
    height: 24px;
    width: 13px;
    transition: all 300ms ease; }

.default {
  position: relative;
  margin-top: 110px; }
  .default.background--green:before, .default.background--pink:before, .default.background--orange:before {
    position: absolute;
    content: '';
    width: 1155px;
    height: 350px;
    left: calc(50% - 577px);
    right: calc(50% - 577px);
    top: 25px;
    z-index: -1; }
  .default.background--orange:before {
    background: url("./../images/kleinoranje.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .default.background--pink:before {
    background: url("./../images/kleinroze.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .default.background--green:before {
    background: url("./../images/kleinblauw.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .default .wrapper--small {
    position: relative; }
    .default .wrapper--small::after {
      content: '';
      position: absolute;
      top: 0;
      right: -140px;
      width: 273px;
      height: 95px;
      background: url("./../images/vorm6.svg");
      background-repeat: no-repeat;
      background-size: cover;
      z-index: -2; }
    .default .wrapper--small::before {
      content: '';
      position: absolute;
      top: 315px;
      left: -140px;
      width: 273px;
      height: 95px;
      background: url("./../images/vorm6.svg");
      background-repeat: no-repeat;
      background-size: cover;
      z-index: -2; }

.default__wrapper.background--grey {
  background-color: transparent; }

.default__wrapper.background--white {
  background-color: white; }

.default__image {
  position: relative;
  width: 100%;
  height: 400px;
  margin-top: -25px;
  border-radius: 8px;
  box-shadow: 0px 20px 60px rgba(17, 68, 128, 0.12); }
  @media only screen and (max-width: 899px) {
    .default__image {
      border-radius: none; } }
  .default__image img {
    border-radius: 8px; }

.default__head {
  padding-top: 25px; }

.default__icon {
  margin-top: -115px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  margin-bottom: 30px;
  height: 180px;
  border-radius: 50%;
  background-color: #00b3ad;
  z-index: 60; }
  .default__icon img {
    height: 160px;
    width: 160px; }

.default__title {
  margin-left: 30px;
  margin-bottom: 30px; }
  @media only screen and (max-width: 599px) {
    .default__title {
      margin-left: 0; } }

.default__editor {
  margin-bottom: 40px; }

.default__link-wrap {
  width: 100%;
  display: flex;
  justify-content: center; }
  @media only screen and (max-width: 599px) {
    .default__link-wrap {
      justify-content: flex-start; } }

.reviews {
  margin-top: 120px;
  position: relative; }
  .reviews::after {
    content: '';
    position: absolute;
    top: 125px;
    right: -60px;
    width: 150px;
    height: 150px;
    background: url("./../images/circle1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .reviews::before {
    content: '';
    position: absolute;
    bottom: -90px;
    left: -40px;
    width: 150px;
    height: 150px;
    background: url("./../images/circle1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }

.reviews__title {
  margin-bottom: 100px; }

.reviews__wrap .owl-stage-outer {
  max-height: 250px;
  overflow: visible; }
  @media only screen and (max-width: 599px) {
    .reviews__wrap .owl-stage-outer {
      max-height: 220px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .reviews__wrap .owl-stage-outer {
      max-height: 200px; } }

.reviews__wrap .owl-nav {
  display: none; }

.reviews__wrap .owl-dots {
  position: absolute;
  top: -30px;
  justify-content: flex-end;
  margin-top: 50px;
  display: flex;
  margin: auto;
  width: 100%; }
  @media only screen and (max-width: 899px) {
    .reviews__wrap .owl-dots {
      top: -50px; } }
  .reviews__wrap .owl-dots button {
    display: block;
    width: 8px;
    height: 8px;
    margin-left: 8px;
    background-color: rgba(12, 35, 95, 0.2);
    border-radius: 2px;
    transition: all 250ms ease; }
    .reviews__wrap .owl-dots button:hover, .reviews__wrap .owl-dots button.active {
      background-color: #0c235f; }
    .reviews__wrap .owl-dots button:only-child {
      display: none; }

.reviews__review {
  box-shadow: 0px 4px 4px rgba(12, 36, 96, 0.1);
  max-width: 500px;
  padding: 45px 30px;
  transition: all 300ms ease;
  background-color: white; }
  @media only screen and (max-width: 599px) {
    .reviews__review {
      box-shadow: 0px 40px 80px rgba(12, 36, 96, 0.2);
      padding: 35px 25px;
      max-width: 280px; }
      .reviews__review::before, .reviews__review::after {
        color: #00b3ad; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .reviews__review {
      padding: 35px 25px;
      max-width: 400px; } }
  .reviews__review::before {
    font-size: 78px;
    font-size: 7.8rem;
    line-height: 1em;
    font-weight: 700;
    font-style: normal;
    content: "“";
    color: rgba(12, 35, 95, 0.5);
    position: absolute;
    left: 8px;
    top: -20px; }
  .reviews__review::after {
    font-size: 78px;
    font-size: 7.8rem;
    line-height: 1em;
    font-weight: 700;
    font-style: normal;
    content: "”";
    color: rgba(12, 35, 95, 0.5);
    position: absolute;
    right: 8px;
    bottom: -52px; }
  @media only screen and (min-width: 600px) {
    .reviews__review:hover {
      box-shadow: 0px 40px 80px rgba(12, 36, 96, 0.2); }
      .reviews__review:hover::before, .reviews__review:hover::after {
        color: #00b3ad; } }

.reviews__review-quote {
  margin-bottom: 40px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.375em; }
  @media only screen and (max-width: 899px) {
    .reviews__review-quote {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.33333em;
      margin-bottom: 30px; } }

.reviews__review-author {
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.44444em; }
  @media only screen and (max-width: 899px) {
    .reviews__review-author {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.28571em; } }

.text-slideshow {
  position: relative;
  margin-top: 80px;
  margin-bottom: 20px; }
  @media only screen and (max-width: 700px) {
    .text-slideshow {
      margin-top: 0; }
      .text-slideshow .wrapper {
        flex-direction: column-reverse; } }
  .text-slideshow.background--green .wrapper:before, .text-slideshow.background--pink .wrapper:before, .text-slideshow.background--orange .wrapper:before {
    position: absolute;
    content: '';
    width: 1118px;
    height: 1118px;
    left: calc(50% + 65px);
    top: -580px;
    z-index: -1; }
    @media only screen and (max-width: 899px) {
      .text-slideshow.background--green .wrapper:before, .text-slideshow.background--pink .wrapper:before, .text-slideshow.background--orange .wrapper:before {
        width: 650px;
        height: 650px;
        top: -240px; } }
  .text-slideshow.background--orange .wrapper:before {
    background: url("./../images/oranje.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .text-slideshow.background--pink .wrapper:before {
    background: url("./../images/roze.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .text-slideshow.background--green .wrapper:before {
    background: url("./../images/gradient.svg");
    background-repeat: no-repeat;
    background-size: cover; }

.text-slideshow__column-text {
  width: 50%;
  padding-right: 140px; }
  @media only screen and (max-width: 700px) {
    .text-slideshow__column-text {
      width: 100%;
      padding-right: 0; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .text-slideshow__column-text {
      padding-right: 50px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-slideshow__column-text {
      padding-right: 100px; } }

.text-slideshow__image {
  position: relative;
  width: 100%;
  height: 470px;
  border-radius: 8px;
  box-shadow: 0px 20px 60px rgba(17, 68, 128, 0.12); }
  @media only screen and (max-width: 700px) {
    .text-slideshow__image {
      height: 220px;
      border-radius: 4px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .text-slideshow__image {
      height: 312px; } }
  .text-slideshow__image img {
    background-size: cover;
    width: 100%;
    height: 100%;
    border-radius: 8px; }

.text-slideshow__column-slideshow {
  position: relative;
  width: 50%;
  box-shadow: 0px 20px 60px rgba(12, 36, 96, 0.2);
  height: 100%; }
  @media only screen and (max-width: 700px) {
    .text-slideshow__column-slideshow {
      width: 100%;
      margin-bottom: 40px; } }
  .text-slideshow__column-slideshow::before {
    content: '';
    position: absolute;
    left: -65px;
    bottom: -35px;
    width: 147px;
    height: 130px;
    background: url("./../images/dotscircle.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
    @media only screen and (max-width: 700px) {
      .text-slideshow__column-slideshow::before {
        left: -70px;
        bottom: -30px; } }
  .text-slideshow__column-slideshow::after {
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 137px;
    height: 137px;
    background: url("./../images/blockgreen.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .text-slideshow__column-slideshow .owl-dots {
    position: absolute;
    bottom: 15px;
    right: 35px;
    justify-content: flex-end;
    margin-top: 50px;
    display: flex;
    margin: auto;
    width: 100%; }
    .text-slideshow__column-slideshow .owl-dots button {
      display: block;
      width: 16px;
      height: 8px;
      margin-left: 10px;
      background-color: transparent;
      border-radius: 10px;
      transition: all 250ms ease;
      border: 1px solid white; }
      .text-slideshow__column-slideshow .owl-dots button:hover, .text-slideshow__column-slideshow .owl-dots button.active {
        background-color: white; }
      .text-slideshow__column-slideshow .owl-dots button:only-child {
        display: none; }

.text-slideshow__subtitle {
  position: relative;
  margin-left: 15px;
  margin-bottom: 15px; }
  .text-slideshow__subtitle::before {
    content: '';
    position: absolute;
    width: 5px;
    height: 22px;
    top: -3px;
    background-color: #00b3ad;
    left: -15px;
    border-radius: 1px; }

.text-slideshow__title {
  margin-bottom: 30px; }

.text-slideshow__editor {
  margin-bottom: 40px; }
  @media only screen and (max-width: 700px) {
    .text-slideshow__editor {
      margin-bottom: 30px; } }

.text-slideshow__link {
  display: block;
  width: fit-content;
  margin-bottom: 10px; }

.team {
  position: relative;
  margin-top: 120px; }
  .team .wrapper--medium::before {
    content: '';
    position: absolute;
    bottom: 110px;
    left: 0;
    width: 67px;
    height: 98px;
    background: url("./../images/vorm1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -2; }
  .team .wrapper--medium::after {
    content: '';
    position: absolute;
    bottom: 110px;
    right: 0;
    width: 135px;
    height: 80px;
    background: url("./../images/vorm2.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -2; }
  .team.background--green:before, .team.background--pink:before, .team.background--orange:before {
    position: absolute;
    content: '';
    width: 1962px;
    height: 240px;
    left: calc(50% - 981px);
    right: calc(50% - 981px);
    bottom: 160px;
    z-index: -1; }
  .team.background--orange:before {
    background: url("./../images/rechthoekoranje.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .team.background--pink:before {
    background: url("./../images/rechthoekroze.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .team.background--green:before {
    background: url("./../images/rechthoekblauw.svg");
    background-repeat: no-repeat;
    background-size: cover; }

.team__member-photo {
  border-radius: 4px;
  max-height: 300px; }
  .team__member-photo img {
    border-radius: 4px; }

.team__title {
  margin-bottom: 40px;
  text-align: center; }

.team__description {
  margin-bottom: 50px;
  text-align: center; }

.team__link {
  margin-bottom: 40px; }

.team__wrap .owl-stage-outer {
  overflow: visible;
  max-height: 420px; }

.team__wrap .owl-nav button.owl-prev,
.team__wrap .owl-nav button.owl-next {
  width: 58px;
  height: 58px;
  background-color: #0c235f;
  border-radius: 50%;
  transition: all 250ms ease; }
  .team__wrap .owl-nav button.owl-prev.disabled,
  .team__wrap .owl-nav button.owl-next.disabled {
    background-color: rgba(12, 35, 95, 0.2); }
    .team__wrap .owl-nav button.owl-prev.disabled svg,
    .team__wrap .owl-nav button.owl-next.disabled svg {
      color: rgba(12, 35, 95, 0.5); }
  @media only screen and (max-width: 899px) {
    .team__wrap .owl-nav button.owl-prev:hover,
    .team__wrap .owl-nav button.owl-next:hover {
      opacity: 0.7; } }
  .team__wrap .owl-nav button.owl-prev:before,
  .team__wrap .owl-nav button.owl-next:before {
    display: none; }
  .team__wrap .owl-nav button.owl-prev svg,
  .team__wrap .owl-nav button.owl-next svg {
    position: relative;
    top: 4px;
    width: 32px;
    height: 24px;
    color: white; }

.team__wrap .owl-nav button.owl-next {
  top: 120px;
  right: -29px;
  position: absolute; }
  @media only screen and (max-width: 599px) {
    .team__wrap .owl-nav button.owl-next {
      right: -15px; } }

.team__wrap .owl-nav button.owl-prev {
  top: 120px;
  left: -29px;
  position: absolute; }
  @media only screen and (max-width: 599px) {
    .team__wrap .owl-nav button.owl-prev {
      left: -15px; } }

.team__wrap .owl-dots {
  position: absolute;
  top: -30px;
  justify-content: flex-end;
  margin-top: 50px;
  display: flex;
  margin: auto;
  width: 100%; }
  .team__wrap .owl-dots button {
    display: block;
    width: 8px;
    height: 8px;
    margin-left: 8px;
    background-color: rgba(12, 35, 95, 0.2);
    border-radius: 2px;
    transition: all 250ms ease; }
    .team__wrap .owl-dots button:hover, .team__wrap .owl-dots button.active {
      background-color: #0c235f; }
    .team__wrap .owl-dots button:only-child {
      display: none; }

.team__member {
  width: calc((1028px - 75px) / 4); }

.team__member-name {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.27273em;
  margin-bottom: 8px;
  font-weight: 600;
  margin-top: 30px; }
  @media only screen and (max-width: 899px) {
    .team__member-name {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.33333em;
      margin-top: 25px;
      margin-bottom: 6px; } }

.team__member-function {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  margin-bottom: 10px; }
  @media only screen and (max-width: 899px) {
    .team__member-function {
      font-size: 11px;
      font-size: 1.1rem;
      line-height: 1.36364em; } }

.team__member-action a svg {
  width: 18px;
  height: 18px;
  color: #00b3ad;
  margin-right: 10px; }

@media only screen and (min-width: 600px) {
  .team__member-action a:hover svg {
    opacity: 70%; } }

.teasers {
  position: relative;
  margin-top: 80px;
  min-height: 570px; }
  .teasers .wrapper--medium::before {
    content: '';
    position: absolute;
    bottom: -18px;
    left: 0;
    width: 126px;
    height: 92px;
    background: url("./../images/vorm7.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .teasers.background--green:before, .teasers.background--pink:before, .teasers.background--orange:before {
    position: absolute;
    content: '';
    width: 1962px;
    height: 460px;
    left: calc(50% - 981px);
    right: calc(50% - 981px);
    bottom: 0;
    z-index: -1; }
    @media only screen and (max-width: 599px) {
      .teasers.background--green:before, .teasers.background--pink:before, .teasers.background--orange:before {
        height: 1189px;
        width: 5068px;
        left: calc(50% - 2534px);
        right: calc(50% - 2534px); } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .teasers.background--green:before, .teasers.background--pink:before, .teasers.background--orange:before {
        height: 709px;
        width: 3024px;
        left: calc(50% - 1512px);
        right: calc(50% - 1512px); } }
  .teasers.background--orange:before {
    background: url("./../images/footeroranje.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .teasers.background--pink:before {
    background: url("./../images/footerroze.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .teasers.background--green:before {
    background: url("./../images/footerblauw.svg");
    background-repeat: no-repeat;
    background-size: cover; }

.teasers__title {
  text-align: center;
  margin-bottom: 20px; }

.teasers__description {
  text-align: center;
  margin-bottom: 60px; }
  @media only screen and (max-width: 899px) {
    .teasers__description {
      margin-bottom: 40px; } }

.teasers__wrap {
  padding-bottom: 20px;
  margin: -13px;
  justify-content: center; }
  @media only screen and (max-width: 599px) {
    .teasers__wrap {
      margin: -5px;
      padding-bottom: 45px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .teasers__wrap {
      padding-bottom: 15px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .teasers__wrap {
      padding-bottom: 45px; } }

.teasers__teaser-icon {
  width: calc(100% - 40px);
  margin: 0 20px;
  margin-top: 10px;
  transition: all 300ms ease; }
  @media only screen and (max-width: 599px) {
    .teasers__teaser-icon {
      margin-top: 0; } }

.teasers__teaser {
  border-radius: 3px;
  width: calc(20% - 26px);
  margin: 13px;
  background-color: #00b3ad;
  overflow: hidden;
  transition: all 300ms ease;
  text-align: center; }
  @media only screen and (max-width: 599px) {
    .teasers__teaser {
      width: calc(50% - 10px);
      margin: 5px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .teasers__teaser {
      width: calc(25% - 26px); } }
  @media only screen and (min-width: 600px) {
    .teasers__teaser:hover {
      background-color: #55c3c3;
      margin-top: 0;
      padding-top: 10px; }
      .teasers__teaser:hover .teasers__teaser-icon {
        margin-top: -20px; }
      .teasers__teaser:hover .teasers__teaser-title {
        margin-bottom: 10px; }
      .teasers__teaser:hover .teasers__teaser-link {
        margin-top: 0;
        margin-bottom: 0;
        opacity: 100%; } }

.teasers__teaser-title {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  color: white;
  font-weight: 700;
  margin-bottom: -20px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  transition: all 300ms ease; }
  @media only screen and (max-width: 899px) {
    .teasers__teaser-title {
      font-size: 11px;
      font-size: 1.1rem;
      line-height: 1.36364em; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .teasers__teaser-title {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.33333em; } }

.teasers__teaser-link {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  padding: 8px 0;
  opacity: 0;
  margin-top: 31px;
  margin-bottom: -34px;
  transition: all 300ms ease;
  color: white;
  background-color: #0c235f;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 899px) {
    .teasers__teaser-link {
      font-size: 11px;
      font-size: 1.1rem;
      line-height: 1.36364em; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .teasers__teaser-link {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.33333em; } }
  .teasers__teaser-link svg {
    transition: all 150ms ease;
    width: 13px;
    height: 24px;
    margin-left: 40px; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .teasers__teaser-link svg {
        margin-left: 20px; } }
  .teasers__teaser-link:hover {
    color: rgba(255, 255, 255, 0.7); }

.usps {
  position: relative;
  margin-top: 120px; }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .usps .wrapper {
      padding: 0 100px; } }

.usps__column-text {
  width: 50%;
  padding-right: 50px; }
  @media only screen and (max-width: 599px) {
    .usps__column-text {
      width: 100%;
      padding: 0;
      display: flex;
      flex-wrap: wrap; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .usps__column-text {
      width: 100%;
      padding-right: 0;
      display: flex;
      flex-wrap: wrap;
      padding: 0 60px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .usps__column-text {
      width: 60%; } }

.usps__column-slideshow {
  box-shadow: 0px 20px 60px rgba(12, 36, 96, 0.2);
  width: 50%;
  height: 375px;
  border-radius: 10px; }
  @media only screen and (max-width: 599px) {
    .usps__column-slideshow {
      width: 100%;
      padding: 0;
      height: 185px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .usps__column-slideshow {
      width: 100%; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .usps__column-slideshow {
      width: 40%; } }
  .usps__column-slideshow::after {
    content: '';
    position: absolute;
    top: 20px;
    right: -55px;
    width: 110px;
    height: 110px;
    background: url("./../images/circle1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .usps__column-slideshow::after {
        right: 10px; } }
  .usps__column-slideshow .owl-dots {
    position: absolute;
    bottom: 15px;
    right: 35px;
    justify-content: flex-end;
    margin-top: 50px;
    display: flex;
    margin: auto;
    width: 100%; }
    .usps__column-slideshow .owl-dots button {
      display: block;
      width: 16px;
      height: 8px;
      margin-left: 10px;
      background-color: transparent;
      border-radius: 10px;
      transition: all 250ms ease;
      border: 1px solid white; }
      .usps__column-slideshow .owl-dots button:hover, .usps__column-slideshow .owl-dots button.active {
        background-color: white; }
      .usps__column-slideshow .owl-dots button:only-child {
        display: none; }

.usps__title {
  margin-bottom: 20px; }
  @media only screen and (max-width: 899px) {
    .usps__title {
      text-align: center; } }

.usps__editor {
  margin-bottom: 50px; }
  @media only screen and (max-width: 899px) {
    .usps__editor {
      text-align: center; } }

.usps__usps {
  justify-content: space-between;
  margin-bottom: 80px; }
  @media only screen and (max-width: 599px) {
    .usps__usps {
      justify-content: center;
      margin-bottom: 50px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .usps__usps {
      margin-bottom: 50px; } }

.usps__usp {
  width: calc(50% - 20px); }
  @media only screen and (max-width: 599px) {
    .usps__usp {
      width: calc(100% - 70px);
      justify-content: center; } }

.usps__icon {
  position: relative; }
  .usps__icon svg {
    color: #00b3ad;
    fill: #00b3ad;
    height: 30px;
    width: 30px;
    margin-right: 10px; }
  .usps__icon::before {
    position: absolute;
    content: '';
    background-color: rgba(0, 179, 173, 0.1);
    width: 25px;
    height: 25px;
    border-radius: 50%;
    top: 12px;
    left: 7px; }

.usps__image {
  position: relative;
  width: 100%;
  height: 375px;
  border-radius: 4px; }
  @media only screen and (max-width: 599px) {
    .usps__image {
      height: 185px; } }
  .usps__image img {
    background-size: cover;
    width: 100%;
    height: 100%;
    border-radius: 8px; }

.usps__usp-body {
  margin-bottom: 20px; }

.usps__usp-title {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  font-weight: 700;
  margin-bottom: 10px; }

.usps__usp-description {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  font-weight: 200; }

@media only screen and (max-width: 899px) {
  .usps__link {
    margin: 0 auto 50px; } }

.contact {
  position: relative;
  margin-top: 120px; }
  .contact.background--green:before, .contact.background--pink:before, .contact.background--orange:before {
    position: absolute;
    content: '';
    width: 1155px;
    height: 350px;
    left: calc(50% - 577px);
    right: calc(50% - 577px);
    top: 25px;
    z-index: -1; }
  .contact.background--orange:before {
    background: url("./../images/kleinoranje.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .contact.background--pink:before {
    background: url("./../images/kleinroze.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .contact.background--green:before {
    background: url("./../images/kleinblauw.svg");
    background-repeat: no-repeat;
    background-size: cover; }
  .contact .wrapper {
    position: relative; }
    .contact .wrapper::after {
      content: '';
      position: absolute;
      top: 0;
      right: -140px;
      width: 273px;
      height: 95px;
      background: url("./../images/vorm6.svg");
      background-repeat: no-repeat;
      background-size: cover;
      z-index: -2; }
    .contact .wrapper::before {
      content: '';
      position: absolute;
      top: 315px;
      left: -140px;
      width: 273px;
      height: 95px;
      background: url("./../images/vorm6.svg");
      background-repeat: no-repeat;
      background-size: cover;
      z-index: -2; }

.contact__wrapper {
  background-color: white;
  padding: 0 100px; }
  @media only screen and (max-width: 599px) {
    .contact__wrapper {
      padding: 0 20px; } }

.contact__title {
  padding-top: 55px;
  margin-bottom: 40px; }

.contact__editor {
  margin-bottom: 40px; }

.contact__wrap {
  border-top: solid 1px rgba(12, 35, 95, 0.2);
  padding-top: 40px;
  padding-bottom: 40px; }

.contact__block {
  width: calc(100% / 3);
  border-left: 1px solid rgba(12, 35, 95, 0.2);
  padding: 0 20px; }
  @media only screen and (max-width: 899px) {
    .contact__block {
      padding: 0 10px;
      width: 100%;
      border-left: none;
      border-top: 1px solid rgba(12, 35, 95, 0.2);
      margin-bottom: 30px;
      padding-top: 30px; } }
  .contact__block:first-of-type {
    border: none; }
    @media only screen and (max-width: 599px) {
      .contact__block:first-of-type {
        margin-top: -10px;
        padding-top: 0; } }

.contact__button {
  margin-bottom: 40px; }

.contact__block-address {
  margin-bottom: 30px;
  color: #00b3ad; }
  @media only screen and (min-width: 600px) {
    .contact__block-address:hover {
      opacity: 70%; } }

.contact__block-email,
.contact__block-phone {
  color: #00b3ad; }
  @media only screen and (min-width: 600px) {
    .contact__block-email:hover,
    .contact__block-phone:hover {
      opacity: 70%; } }

.contact__block-item {
  display: flex;
  margin-bottom: 10px; }
  .contact__block-item svg {
    margin-top: 4px;
    width: 22px;
    height: 22px;
    min-width: 22px;
    color: #00b3ad;
    margin-right: 15px; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .contact__block-item svg {
        margin-right: 2px; } }

/**
 * Utilities.
 */
/**
 * Color utility classes.
 *
 * Automatically generated color and background color utility classes based on every color definition in `settings/_color.scss`.
 * Loop through every `$key` and `$map` in the `$colors` variable map defined in `settings/_color.scss`.
 */
/**
			 * `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` rgba(255, 255, 255, 0.7)-70 color utility.
			 */
.color-white-70 {
  color: rgba(255, 255, 255, 0.7); }

/**
			 * `background-color` rgba(255, 255, 255, 0.7)-70 color utility.
			 */
.background-color-white-70 {
  background-color: rgba(255, 255, 255, 0.7); }

/**
			 * `color` #00b3ad-100 color utility.
			 */
.color-cyan-100 {
  color: #00b3ad; }

/**
			 * `background-color` #00b3ad-100 color utility.
			 */
.background-color-cyan-100 {
  background-color: #00b3ad; }

/**
			 * `color` rgba(0, 179, 173, 0.6)-60 color utility.
			 */
.color-cyan-60 {
  color: rgba(0, 179, 173, 0.6); }

/**
			 * `background-color` rgba(0, 179, 173, 0.6)-60 color utility.
			 */
.background-color-cyan-60 {
  background-color: rgba(0, 179, 173, 0.6); }

/**
			 * `color` rgba(0, 179, 173, 0.2)-20 color utility.
			 */
.color-cyan-20 {
  color: rgba(0, 179, 173, 0.2); }

/**
			 * `background-color` rgba(0, 179, 173, 0.2)-20 color utility.
			 */
.background-color-cyan-20 {
  background-color: rgba(0, 179, 173, 0.2); }

/**
			 * `color` rgba(0, 179, 173, 0.1)-10 color utility.
			 */
.color-cyan-10 {
  color: rgba(0, 179, 173, 0.1); }

/**
			 * `background-color` rgba(0, 179, 173, 0.1)-10 color utility.
			 */
.background-color-cyan-10 {
  background-color: rgba(0, 179, 173, 0.1); }

/**
			 * `color` #028d88-100 color utility.
			 */
.color-dark-cyan-100 {
  color: #028d88; }

/**
			 * `background-color` #028d88-100 color utility.
			 */
.background-color-dark-cyan-100 {
  background-color: #028d88; }

/**
			 * `color` #55c3c3-100 color utility.
			 */
.color-light-cyan-100 {
  color: #55c3c3; }

/**
			 * `background-color` #55c3c3-100 color utility.
			 */
.background-color-light-cyan-100 {
  background-color: #55c3c3; }

/**
			 * `color` #0c235f-100 color utility.
			 */
.color-blue-100 {
  color: #0c235f; }

/**
			 * `background-color` #0c235f-100 color utility.
			 */
.background-color-blue-100 {
  background-color: #0c235f; }

/**
			 * `color` rgba(12, 35, 95, 0.5)-50 color utility.
			 */
.color-blue-50 {
  color: rgba(12, 35, 95, 0.5); }

/**
			 * `background-color` rgba(12, 35, 95, 0.5)-50 color utility.
			 */
.background-color-blue-50 {
  background-color: rgba(12, 35, 95, 0.5); }

/**
			 * `color` rgba(12, 35, 95, 0.2)-20 color utility.
			 */
.color-blue-20 {
  color: rgba(12, 35, 95, 0.2); }

/**
			 * `background-color` rgba(12, 35, 95, 0.2)-20 color utility.
			 */
.background-color-blue-20 {
  background-color: rgba(12, 35, 95, 0.2); }

/**
			 * `color` #fafcff-100 color utility.
			 */
.color-background-100 {
  color: #fafcff; }

/**
			 * `background-color` #fafcff-100 color utility.
			 */
.background-color-background-100 {
  background-color: #fafcff; }

/**
			 * `color` #fafafa-100 color utility.
			 */
.color-background-beige-100 {
  color: #fafafa; }

/**
			 * `background-color` #fafafa-100 color utility.
			 */
.background-color-background-beige-100 {
  background-color: #fafafa; }

/**
			 * `color` #e0005a-100 color utility.
			 */
.color-pink-100 {
  color: #e0005a; }

/**
			 * `background-color` #e0005a-100 color utility.
			 */
.background-color-pink-100 {
  background-color: #e0005a; }

/**
			 * `color` #eb811e-100 color utility.
			 */
.color-orange-100 {
  color: #eb811e; }

/**
			 * `background-color` #eb811e-100 color utility.
			 */
.background-color-orange-100 {
  background-color: #eb811e; }

/**
			 * `color` rgba(235, 129, 30, 0.1)-10 color utility.
			 */
.color-orange-10 {
  color: rgba(235, 129, 30, 0.1); }

/**
			 * `background-color` rgba(235, 129, 30, 0.1)-10 color utility.
			 */
.background-color-orange-10 {
  background-color: rgba(235, 129, 30, 0.1); }

/**
 * Visually hide any element from the user.
 */
.visually-hidden {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px); }

/**
 * Make lazyload placeholder 100% wide.
 */
.lazyload {
  width: 100%; }

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */

.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  object-fit: cover; }

/**
 * Align center.
 */
.align-center {
  text-align: center; }

/**
 * Align left.
 */
.align-left {
  text-align: left; }

/**
 * Align right.
 */
.align-right {
  text-align: right; }

/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 * Loop through every value for the `object-fit` property.
 */
/**
	 * `object-fit` fill utility class.
	 */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  object-fit: fill; }

/**
	 * `object-fit` contain utility class.
	 */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  object-fit: contain; }

/**
	 * `object-fit` cover utility class.
	 */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  object-fit: cover; }

/**
	 * `object-fit` none utility class.
	 */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  object-fit: none; }

/**
	 * `object-fit` scale-down utility class.
	 */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  object-fit: scale-down; }

/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Source sans pro"; }

.text-xs-heading {
  font-family: "Oxygen"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "Source sans pro"; }
  .text-sm-heading {
    font-family: "Oxygen"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "Source sans pro"; }
  .text-md-heading {
    font-family: "Oxygen"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "Source sans pro"; }
  .text-lg-heading {
    font-family: "Oxygen"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "Source sans pro"; }
  .text-xl-heading {
    font-family: "Oxygen"; } }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 52px;
  font-size: 5.2rem;
  line-height: 1.25em; }

.text-xs-h2 {
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.2381em; }

.text-xs-h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.33333em; }

.text-xs-h4 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.33333em; }

.text-xs-h5 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em; }

.text-xs-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em; }

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 52px;
    font-size: 5.2rem;
    line-height: 1.25em; }
  .text-sm-h2 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-sm-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.33333em; }
  .text-sm-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333em; }
  .text-sm-h5 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; }
  .text-sm-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 52px;
    font-size: 5.2rem;
    line-height: 1.25em; }
  .text-md-h2 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-md-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.33333em; }
  .text-md-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333em; }
  .text-md-h5 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; }
  .text-md-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 52px;
    font-size: 5.2rem;
    line-height: 1.25em; }
  .text-lg-h2 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-lg-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.33333em; }
  .text-lg-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333em; }
  .text-lg-h5 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; }
  .text-lg-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 52px;
    font-size: 5.2rem;
    line-height: 1.25em; }
  .text-xl-h2 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-xl-h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.33333em; }
  .text-xl-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333em; }
  .text-xl-h5 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; }
  .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; }

@media only screen and (max-width: 599px) {
  .text-sm-left {
    text-align: left; }
  .text-sm-right {
    text-align: right; }
  .text-sm-center {
    text-align: center; } }

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

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

@media only screen and (min-width: 1200px) {
  .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; }

@media only screen and (max-width: 599px) {
  .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; } }

@media only screen and (min-width: 600px) {
  .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; } }

@media only screen and (min-width: 900px) {
  .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; } }

@media only screen and (min-width: 1200px) {
  .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; }

@media only screen and (max-width: 599px) {
  .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; } }

@media only screen and (min-width: 600px) {
  .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; } }

@media only screen and (min-width: 900px) {
  .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; } }

@media only screen and (min-width: 1200px) {
  .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; }

/**
 * 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsImdlbmVyaWMvX2Jhc2Uuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJvYmplY3RzL19idXR0b25zLnNjc3MiLCJvYmplY3RzL19jbXMtb3V0cHV0LnNjc3MiLCJvYmplY3RzL19jb250YWluZXIuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9fZm9ybS5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2JhY2tncm91bmQuc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fcGFnaW5hdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX25hdmlnYXRpb24tbW9iaWxlLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxhdGVzdC5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1saXN0LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19kZWZhdWx0LnNjc3MiLCJjb21wb25lbnRzL19yZXZpZXdzLnNjc3MiLCJjb21wb25lbnRzL190ZXh0LXNsaWRlc2hvdy5zY3NzIiwiY29tcG9uZW50cy9fdGVhbS5zY3NzIiwiY29tcG9uZW50cy9fdGVhc2Vycy5zY3NzIiwiY29tcG9uZW50cy9fdXNwcy5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC5zY3NzIiwidXRpbGl0aWVzL19jb2xvci5zY3NzIiwidXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTZXR0aW5ncy5cclxuICovXHJcbkBpbXBvcnQgJ3NldHRpbmdzL2FsbCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFZlbmRvci5cclxuICovXHJcbkBpbXBvcnQgJy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZSc7XHJcbkBpbXBvcnQgJy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3Mvb3dsLmNhcm91c2VsJztcclxuXHJcbi8qKlxyXG4gKiBUb29scy5cclxuICovXHJcbkBpbXBvcnQgJ3Rvb2xzL2FsbCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEVsZW1lbnRzLlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogR2VuZXJhbC5cclxuICovXHJcbkBpbXBvcnQgJ2dlbmVyaWMvYmFzZSc7XHJcbkBpbXBvcnQgJ2dlbmVyaWMvcmVzZXQnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBPYmplY3RzLlxyXG4gKi9cclxuQGltcG9ydCAnb2JqZWN0cy9idXR0b25zJztcclxuQGltcG9ydCAnb2JqZWN0cy9jbXMtb3V0cHV0JztcclxuQGltcG9ydCAnb2JqZWN0cy9jb250YWluZXInO1xyXG5AaW1wb3J0ICdvYmplY3RzL2NvbnRlbnQtY29uc3RyYWludCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZmxleCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZm9ybSc7XHJcbkBpbXBvcnQgJ29iamVjdHMvaGVhZGluZ3MnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2JhY2tncm91bmQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2xhenktbG9hZCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvcGFnaW5hdGlvbic7XHJcbkBpbXBvcnQgJ29iamVjdHMvd3JhcHBlcic7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudHMuXHJcbiAqL1xyXG5cclxuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2aWdhdGlvbi1tb2JpbGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL25ld3MtbGF0ZXN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLWxpc3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL25ld3Mtc2luZ2xlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLWl0ZW0nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2RlZmF1bHQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Jldmlld3MnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RleHQtc2xpZGVzaG93JztcclxuQGltcG9ydCAnY29tcG9uZW50cy90ZWFtJztcclxuQGltcG9ydCAnY29tcG9uZW50cy90ZWFzZXJzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy91c3BzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWN0JztcclxuXHJcbi8qKlxyXG4gKiBVdGlsaXRpZXMuXHJcbiAqL1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvY29sb3InO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvaGVscGVycyc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9vYmplY3QtZml0JztcclxuQGltcG9ydCAndXRpbGl0aWVzL3Bvc2l0aW9uJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3RleHQnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdmVydGljYWwtcmh5dGhtJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3otaW5kZXgnO1xyXG4iLCIvKipcclxuICogU2V0dGluZ3MuXHJcbiAqL1xyXG4gXHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xyXG5AaW1wb3J0ICdjb2xvcic7XHJcbkBpbXBvcnQgJ3otaW5kZXgnO1xyXG5AaW1wb3J0ICdkZWZpbml0aW9ucyc7XHJcbiIsIi8qKlxyXG4gKiBGb250IGZhbWlseSBtYXAuXHJcbiAqL1xyXG5cclxuJGZvbnQtZmFtaWx5OiAoXHJcblx0J2RlZmF1bHQnOiAnU291cmNlIHNhbnMgcHJvJyxcclxuXHQnaGVhZGluZyc6ICdPeHlnZW4nLFxyXG4pO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IHNpemUgbWFwLlxyXG4gKi9cclxuXHJcbiRmb250LXNpemU6IChcclxuXHQnaDEnOiA1MnB4LFxyXG5cdCdoMic6IDQycHgsXHJcblx0J2gzJzogMjRweCxcclxuXHQnaDQnOiAxOHB4LFxyXG5cdCdoNSc6IDE0cHgsXHJcblx0J3AnOiAxNnB4XHJcbik7XHJcblxyXG5cclxuLyoqXHJcbiAqIExpbmUgaGVpZ2h0IG1hcC5cclxuICovXHJcblxyXG4kbGluZS1oZWlnaHQ6IChcclxuXHQnaDEnOiA2NXB4LFxyXG5cdCdoMic6IDUycHgsXHJcblx0J2gzJzogMzJweCxcclxuXHQnaDQnOiAyNHB4LFxyXG5cdCdoNSc6IDE4cHgsXHJcblx0J3AnOiAyNnB4XHJcbik7XHJcbiIsIi8qKlxyXG4gKiBDb2xvciBNYXAgKGh0dHBzOi8vY29udmVydGFjb2xvci5jb20vKS5cclxuICovXHJcblxyXG4kY29sb3JzOiAoXHJcblx0J2JsYWNrJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMCUsIDAlLCAxKSAvLyAjMDAwMDAwLCAxMDAlXHJcblx0KSxcclxuXHQnd2hpdGUnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMTAwJSwgMSksIC8vICNGRkZGRkYsIDEwMCVcclxuXHRcdCc3MCc6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNykgLy8gI0ZGRkZGRiwgNzAlXHJcblx0KSxcclxuXHQnY3lhbic6IChcclxuXHRcdCcxMDAnOiBoc2xhKDE3OCwgMTAwJSwgMzUlLCAxKSwgLy8gIzAwQjNBQywgMTAwJVxyXG5cdFx0JzYwJzogaHNsYSgxNzgsIDEwMCUsIDM1JSwgMC42KSwgLy8gIzAwQjNBQywgNjAlXHJcblx0XHQnMjAnOiBoc2xhKDE3OCwgMTAwJSwgMzUlLCAwLjIpLCAvLyAjMDBCM0FDLCAyMCVcclxuXHRcdCcxMCc6IGhzbGEoMTc4LCAxMDAlLCAzNSUsIDAuMSkgLy8gIzAwQjNBQywgMTAlXHJcblx0KSxcclxuXHQnZGFyay1jeWFuJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMTc4LCA5NyUsIDI4JSwgMSkgLy8gIzAyOEQ4OCwgMTAwJVxyXG5cdCksXHJcblx0J2xpZ2h0LWN5YW4nOiAoXHJcblx0XHQnMTAwJzogaHNsYSgxODAsIDQ4JSwgNTUlLCAxKSAvLyAjIzU1QzRDNCwgMTAwJVxyXG5cdCksXHJcblx0J2JsdWUnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgyMjMsIDc4JSwgMjElLCAxKSwgLy8gIzBDMjQ2MCwgMTAwJVxyXG5cdFx0JzUwJzogaHNsYSgyMjMsIDc4JSwgMjElLCAwLjUpLCAvLyAjMEMyNDYwLCA1MCVcclxuXHRcdCcyMCc6IGhzbGEoMjIzLCA3OCUsIDIxJSwgMC4yKSAvLyAjMEMyNDYwLCAyMCVcclxuXHQpLFxyXG5cdCdiYWNrZ3JvdW5kJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMjE0LCAxMDAlLCA5OSUsIDEpIC8vICNGOEZCRkYsIDEwMCVcclxuXHQpLFxyXG5cdCdiYWNrZ3JvdW5kLWJlaWdlJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMCUsIDk4JSwgMSkgLy8gI0ZCRkJGQiwgMTAwJVxyXG5cdCksXHJcblx0J3BpbmsnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgzMzYsIDEwMCUsIDQ0JSwgMSkgLy8gI0UwMDA1QSwgMTAwJVxyXG5cdCksXHJcblx0J29yYW5nZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDI5LCA4NCUsIDUyJSwgMSksIC8vICNFQjgzMjAsIDEwMCVcclxuXHRcdCcxMCc6IGhzbGEoMjksIDg0JSwgNTIlLCAwLjEpIC8vICNFQjgzMjAsIDEwJVxyXG5cdCksXHJcbik7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbG9ycyBWYXJpYWJsZXMuXHJcbiAqL1xyXG4kYmxhY2stMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcxMDAnKTtcclxuJHdoaXRlLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnMTAwJyk7XHJcbiR3aGl0ZS03MDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnNzAnKTtcclxuJGRhcmstY3lhbi0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZGFyay1jeWFuJyksICcxMDAnKTtcclxuJGxpZ2h0LWN5YW4tMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2xpZ2h0LWN5YW4nKSwgJzEwMCcpO1xyXG4kY3lhbi0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnY3lhbicpLCAnMTAwJyk7XHJcbiRjeWFuLTYwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2N5YW4nKSwgJzYwJyk7XHJcbiRjeWFuLTIwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2N5YW4nKSwgJzIwJyk7XHJcbiRjeWFuLTEwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2N5YW4nKSwgJzEwJyk7XHJcbiRibHVlLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlJyksICcxMDAnKTtcclxuJGJsdWUtNTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmx1ZScpLCAnNTAnKTtcclxuJGJsdWUtMjA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmx1ZScpLCAnMjAnKTtcclxuJG9yYW5nZS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICcxMDAnKTtcclxuJG9yYW5nZS0xMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdvcmFuZ2UnKSwgJzEwJyk7XHJcbiRwaW5rLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdwaW5rJyksICcxMDAnKTtcclxuJGJhY2tncm91bmQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmFja2dyb3VuZCcpLCAnMTAwJyk7XHJcbiRiYWNrZ3JvdW5kLWJlaWdlOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JhY2tncm91bmQtYmVpZ2UnKSwgJzEwMCcpO1xyXG5cclxuLy9HcmFkaWVudFxyXG4kZ3JhZGllbnQtYmx1ZS1vcmFuZ2U6IGxpbmVhci1ncmFkaWVudCgyMDEuNDZkZWcsICRjeWFuLTEwMCA0My42MiUsICNGRkNDQTggNzMuMjklLCAjRkZFRUNDIDg4LjU5JSk7XHJcbiRncmFkaWVudC1waW5rOiBsaW5lYXItZ3JhZGllbnQoMzI0Ljc1ZGVnLCAkcGluay0xMDAgLTI4LjU4JSwgJHdoaXRlLTEwMCAxMTQuNjYlKTtcclxuJGdyYWRpZW50LW9yYW5nZTogbGluZWFyLWdyYWRpZW50KDMyNC4xNGRlZywgI0ZGOTQ0OSAtMjAuOTYlLCAjRkZFM0NGIDkwLjglKTsiLCIvLyBBIGxpbWl0ZWQgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYHotaW5kZXhgIHByb3BlcnR5IHRvIHByZXZlbnRcclxuLy8gRXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cclxuXHJcbiR6LWluZGV4OiAoXHJcblx0JzAnOlx0MCxcclxuXHQnMSc6XHQxMCxcclxuXHQnMic6XHQyMCxcclxuXHQnMyc6XHQzMCxcclxuXHQnNCc6XHQ0MCxcclxuXHQnNSc6XHQ1MCxcclxuXHQnNic6XHQ2MCxcclxuXHQnNyc6XHQ3MCxcclxuXHQnOCc6XHQ4MCxcclxuXHQnOSc6XHQ5MCxcclxuXHQnMTAnOiAxMDBcclxuKTtcclxuIiwiLyoqXHJcbiAqIEdyaWQuXHJcbiAqL1xyXG5cclxuLy8gR3JpZCB3aWR0aC5cclxuLy8gTWF4aW11bSBjb250YWluZXIgd2lkdGguXHJcbiRncmlkLXdpZHRoOiAxMDI0cHg7XHJcblxyXG4vLyBHcmlkIGNvbHVtbnMuXHJcbi8vIEFtb3VudCBvZiBncmlkIGNvbHVtbnMgdG8gY2FsY3VsYXRlIGEgY29sdW1uIHdpZHRoIHdpdGguXHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG5cclxuLy8gR3JpZCBnYXAuXHJcbi8vIFNwYWNlIGJldHdlZW4gZ3JpZCBjb2x1bW5zLCBhdXRvbWF0ZWQuXHJcbiRncmlkLWdhcDogMjBweDtcclxuXHJcblxyXG4vKipcclxuICogQXNzZXRzLlxyXG4gKi9cclxuXHJcbi8vIEltYWdlIHBhdGguXHJcbiRpbWFnZS1wYXRoOiAnLi4vaW1hZ2VzLyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEJvZHkuXHJcbiAqL1xyXG5cclxuLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4kYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbi8vIEJvZHkgY29sb3IuXHJcbiRib2R5LWNvbG9yOiAkYmx1ZS0xMDA7XHJcblxyXG4vLyBCb2R5IGZvbnQgZmFtaWx5LlxyXG4kYm9keS1mb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdkZWZhdWx0Jyk7XHJcblxyXG4vLyBCb2R5IHRleHQuXHJcbiRib2R5LXRleHQ6ICdwJztcclxuXHJcblxyXG4vKipcclxuICogT3RoZXIuXHJcbiAqL1xyXG5cclxuLy8gTGluayBjb2xvci5cclxuJGxpbmstY29sb3I6ICRjeWFuLTEwMDtcclxuXHJcbi8vIFNlbGVjdCBjb2xvci5cclxuKjo6c2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbi0xMDA7XHJcbiAgY29sb3I6ICR3aGl0ZS0xMDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNwb25zaXZlLlxyXG4gKi9cclxuXHJcbi8vIEdyaWQgYnJlYWtwb2ludCBhbGlhcy5cclxuJGJyZWFrcG9pbnRzOiAoXHJcblx0eHM6IG51bGwsXHJcblx0c206ICdwaG9uZScsXHJcblx0bWQ6ICd0YWJsZXQtcG9ydHJhaXQtdXAnLFxyXG5cdGxnOiAndGFibGV0LWxhbmRzY2FwZS11cCcsXHJcblx0eGw6ICdkZXNrdG9wJ1xyXG4pO1xyXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdhbmltYXRlJztcbkBpbXBvcnQgJ2F1dG9oZWlnaHQnO1xuQGltcG9ydCAnbGF6eWxvYWQnO1xuQGltcG9ydCAndmlkZW8nO1xuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0LyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5vd2wtc3RhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqL1xuXHR9XG5cblx0Lm93bC1zdGFnZTphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcblx0fVxuXG5cdC5vd2wtd3JhcHBlcixcblx0Lm93bC1pdGVte1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG5cdC5vd2wtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDFweDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKipcclxuICogVG9vbHMuXHJcbiAqL1xyXG5cclxuQGltcG9ydCAnZnVuY3Rpb25zJztcclxuQGltcG9ydCAnbWFnbmlmaWMtcG9wdXAnO1xyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG4iLCIvKipcclxuICogVW5pY29kZS5cclxuICpcclxuICogUHJlc2VydmUgZXNjYXBlZCB1bmljb2RlIHN0cmluZy5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBBbiB1bmljb2RlIHN0cmluZy5cclxuICogQHJldHVybiB7U3RyaW5nfSBBIHByZXNlcnZlZCBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nXHJcbiAqL1xyXG4gXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIHF1b3Rlc1xyXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyaW5nKSB7XHJcblx0QHJldHVybiB1bnF1b3RlKFwiXFwnXCIpICsgdW5xdW90ZShzdHItaW5zZXJ0KCRzdHJpbmcsICdcXFxcJywgMSkpICsgdW5xdW90ZShcIlxcJ1wiKTtcclxufVxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIHF1b3Rlc1xyXG5cclxuXHJcbi8qKlxyXG4gKiBSRU0uXHJcbiAqXHJcbiAqIENvbnZlcnQgcGl4ZWwgdW5pdHMgdG8gUkVNIHVuaXRzLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxyXG4gKiBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XHJcblx0QGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JHBpeGVsc31gIHNob3VsZCBiZSBhIGBweGAgdW5pdC4nO1xyXG5cdH1cclxuXHRAcmV0dXJuICgoJHBpeGVscyAvIDEwcHgpICogMXJlbSk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sdW1uLlxyXG4gKlxyXG4gKiBDYWxjdWxhdGUgZ2l2ZW4gY29sdW1uIHdpZHRoLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbiAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0byBzcGFuLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdGhhdCBjYW4gYmUgc3Bhbm5lZC5cclxuICogQHJldHVybiB7U3RyaW5nfSAtIFBlcmNlbnRhZ2UgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG5cdEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb2xvci5cclxuICpcclxuICogR2V0IGEgY29sb3IgdmFsdWUgZnJvbSB0d28gbGV2ZWxzIGRlZXAgaW4gdGhlIGAkY29sb3JgIG1hcC5cclxuICogQHBhcmFtIHskc3RyaW5nfSAka2V5IC0gS2V5IG9mIHRoZSBjb2xvciB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcmV0dXJuIHsqfSBBIEhTTEEgY29sb3IgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbG9yKCRrZXksICR2YWx1ZSkge1xyXG5cdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRrZXkpLCAkdmFsdWUpO1xyXG59XHJcbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcblxyXG5cclxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXHJcbi5tZnAtYmcge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQyO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XHJcbiAgb3BhY2l0eTogMC44OyB9XHJcblxyXG4ubWZwLXdyYXAge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQzO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5tZnAtY29udGFpbmVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBwYWRkaW5nOiAwIDhweDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG5cclxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHotaW5kZXg6IDEwNDU7IH1cclxuXHJcbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXHJcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtYWpheC1jdXIge1xyXG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cclxuXHJcbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XHJcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cclxuXHJcbi5tZnAtem9vbSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gIGN1cnNvcjogLW1vei16b29tLWluO1xyXG4gIGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC1jbG9zZSxcclxuLm1mcC1hcnJvdyxcclxuLm1mcC1wcmVsb2FkZXIsXHJcbi5tZnAtY291bnRlciB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1oaWRlIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tZnAtcHJlbG9hZGVyIHtcclxuICBjb2xvcjogI0NDQztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcclxuICBsZWZ0OiA4cHg7XHJcbiAgcmlnaHQ6IDhweDtcclxuICB6LWluZGV4OiAxMDQ0OyB9XHJcbiAgLm1mcC1wcmVsb2FkZXIgYSB7XHJcbiAgICBjb2xvcjogI0NDQzsgfVxyXG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjRkZGOyB9XHJcblxyXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbmJ1dHRvbi5tZnAtY2xvc2UsXHJcbmJ1dHRvbi5tZnAtYXJyb3cge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICB6LWluZGV4OiAxMDQ2O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7IH1cclxuXHJcbi5tZnAtY2xvc2Uge1xyXG4gIHdpZHRoOiA0NHB4O1xyXG4gIGhlaWdodDogNDRweDtcclxuICBsaW5lLWhlaWdodDogNDRweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMC42NTtcclxuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XHJcbiAgLm1mcC1jbG9zZTpob3ZlcixcclxuICAubWZwLWNsb3NlOmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XHJcbiAgICB0b3A6IDFweDsgfVxyXG5cclxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICMzMzM7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXHJcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjb2xvcjogI0ZGRjtcclxuICByaWdodDogLTZweDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcbiAgd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtY291bnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBjb2xvcjogI0NDQztcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxyXG5cclxuLm1mcC1hcnJvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC01NXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDkwcHg7XHJcbiAgaGVpZ2h0OiAxMTBweDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphY3RpdmUge1xyXG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cclxuICAubWZwLWFycm93OmhvdmVyLFxyXG4gIC5tZnAtYXJyb3c6Zm9jdXMge1xyXG4gICAgb3BhY2l0eTogMTsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlLFxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphZnRlciB7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcclxuICAgIHRvcDogOHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XHJcbiAgICBvcGFjaXR5OiAwLjc7IH1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdCB7XHJcbiAgbGVmdDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XHJcblxyXG4ubWZwLWFycm93LXJpZ2h0IHtcclxuICByaWdodDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxyXG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogOTAwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IC00MHB4OyB9XHJcblxyXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cclxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XHJcblxyXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXHJcbmltZy5tZnAtaW1nIHtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xyXG4ubWZwLWZpZ3VyZSB7XHJcbiAgbGluZS1oZWlnaHQ6IDA7IH1cclxuICAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDQwcHg7XHJcbiAgICBib3R0b206IDQwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxyXG4gIC5tZnAtZmlndXJlIHNtYWxsIHtcclxuICAgIGNvbG9yOiAjQkRCREJEO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxyXG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7IH1cclxuXHJcbi5tZnAtYm90dG9tLWJhciB7XHJcbiAgbWFyZ2luLXRvcDogLTM2cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC10aXRsZSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBsaW5lLWhlaWdodDogMThweDtcclxuICBjb2xvcjogI0YzRjNGMztcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxyXG5cclxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICBtYXgtd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcclxuICAvKipcclxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxyXG4gICAgICAgKi9cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XHJcbiAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB0b3A6IDNweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzVweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7IH0gfVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAubWZwLWFycm93IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cclxuICAubWZwLWFycm93LWxlZnQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxyXG4gIC5tZnAtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cclxuXHJcbi8vIHNhc3MtbGludDplbmFibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcclxuIiwiLyoqXHJcbiAqIENvbnRhaW5lclxyXG4gKiBcclxuICogQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wIGFuZCBib3R0b20uXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGNvbnRhaW5lcigxMDI0cHgsIDIwcHgpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XHJcblx0QGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xyXG5cdFx0QGlmICgkZ2FwICE9IDApIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xyXG5cdFx0XHRwYWRkaW5nOiAwICRnYXA7XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAkd2lkdGg7XHJcblx0XHR9XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZWN0aW9uXHJcbiAqXHJcbiAqIEFkZCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIHRvIGVsZW1lbnQgdXNpbmcgcGFkZGluZ3MuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRib3R0b20gLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBzZWN0aW9uKDEwMHB4LCAxMDBweCk7XHJcbiAqLyBcclxuXHJcbkBtaXhpbiBzZWN0aW9uKCR0b3A6IDAsICRib3R0b206IDApIHtcclxuXHRAaWYgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRib3R0b20pID09IG51bWJlcikge1xyXG5cdFx0cGFkZGluZzogJHRvcCAwICRib3R0b207XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ0FyZ3VtZW50cyBgJHRvcGAgYW5kIGBib3R0b21gIHNob3VsZCBiZSBhIG51bWJlcic7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQuXHJcbiAqXHJcbiAqIEFkZHMgYHJlbWAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGEgZmFsbGJhY2sgYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0IHByb3BlcnR5IHRvIGFueSBydWxlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZvbnQtc2l6ZSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMjRweCk7XHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcblx0QGlmICh0eXBlLW9mKCRmb250LXNpemUpID09IG51bWJlciBhbmQgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnKSB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemU7XHJcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JGZvbnQtc2l6ZX1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG5cdEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09ICdweCcpIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAoKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICogMWVtKTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRsaW5lLWhlaWdodH1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQuXHJcbiAqXHJcbiAqIFNob3J0aGFuZCBmb3IgdGhlIGZvbnQgbWl4aW4sIHJ1bnMgdGhlIGZvbnQgbWl4aW4gYmFzZWQgb24gYSBjb21tb24gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcclxuICogQGV4YW1wbGUgQGluY2x1ZGUgdGV4dCgncCcpO1xyXG4gKi8gXHJcblxyXG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcclxuXHRAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAkdmFsdWUpLCBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJHZhbHVlKSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgQXdlc29tZS5cclxuICpcclxuICogQWRkIEZvbnQgQXdlc29tZSBpY29ucyBhcyBwc3VlZG8gZWxlbWVudHMgYnkgdXNpbmcgdGhlaXIgdW5pY29kZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udGF3ZXNvbWUoJ2YxMDAnLCAnTGlnaHQnKTtcclxuICovXHJcblxyXG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcclxuXHRAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcclxuXHRcdGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWVkaWEuXHJcbiAqXHJcbiAqIE1lZGlhIHF1ZXJpZXMgYWNjb3JkaW5nIHRvIFwiVGhlIDEwMCUgQ29ycmVjdCBXYXkgVG8gRG8gQ1NTIEJyZWFrcG9pbnRzXCIgKGh0dHBzOi8vbWVkaXVtLmZyZWVjb2RlY2FtcC5jb20vdGhlLTEwMC1jb3JyZWN0LXdheS10by1kby1jc3MtYnJlYWtwb2ludHMtODhkNmE1YmExODYyKS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gQnJlYWtwb2ludCBwaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxyXG4gKi8gXHJcbiBcclxuQG1peGluIG1lZGlhKCRzaXplKSB7XHJcblx0QGlmICgkc2l6ZSA9PSAnZGVza3RvcCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0Jykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3Bob25lJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3gtc2l6aW5nOiBpbmhlcml0OyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG5cdGhlaWdodDogMTAwdmg7XHJcblx0Zm9udC1zaXplOiA2Mi41JTsgLyogMSAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXHJcblxyXG5ib2R5IHtcclxuXHRAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XHJcblx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xyXG59XHJcbiIsIi8qKlxyXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxyXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcclxuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cclxuICovXHJcblxyXG5hIHtcclxuXHRjb2xvcjogaW5oZXJpdDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxyXG4gKi9cclxuXHJcbmJ1dHRvbiB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7IC8qIDEgKi9cclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiAwO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5ociB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGluaGVyaXRlZCB1c2VyIGFnZW50IGFwcGVhcmFuY2UuXHJcbiAqL1xyXG5cclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXHJcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcblx0cmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxudWwsXHJcbm9sIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbnAge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBDb2xsYXBzZSBib3JkZXJzIHRvIHByZXZlbnQgZG91YmxlIHNpZGVkIGJvcmRlcnMuXHJcbiAqL1xyXG5cclxudGFibGUge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAxICovXHJcbn1cclxuXHJcbnN0cm9uZyB7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4iLCJmLyoqXHJcbiAqIEJ1dHRvbi5cclxuICovXHJcblxyXG4lYnV0dG9uLFxyXG4uYnV0dG9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE1cHgsIDIwcHgpO1xyXG5cdFx0aGVpZ2h0OiA0NHB4O1xyXG5cdFx0cGFkZGluZzogMTJweCAxOHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMnB4KTtcclxuXHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRoZWlnaHQ6IDU0cHg7XHJcblx0cGFkZGluZzogMTZweCAzMnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMjFweDtcclxuXHRcdGhlaWdodDogMjBweDtcclxuXHR9XHJcblxyXG5cdCYuaGFzLXN2Zy1yaWdodCB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaGFzLXN2Zy1sZWZ0IHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24gKGRlZmF1bHQpLlxyXG4gKi9cclxuXHJcbiVidXR0b24tLWRlZmF1bHQsXHJcbi5idXR0b24tLWRlZmF1bHQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjeWFuLTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRtYXJnaW4tbGVmdDogLTIwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtMnB4O1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWN5YW4tMTAwO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0cGFkZGluZzogMTZweCAxN3B4O1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRjb2xvcjogJGN5YW4tMTAwO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRjb2xvcjogJGRhcmstY3lhbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogQnV0dG9uIChib3JkZXIpLlxyXG4gKi9cclxuXHJcbiVidXR0b24tLWJvcmRlcixcclxuLmJ1dHRvbi0tYm9yZGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGN5YW4tMTAwO1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2hlYWRpbmcnKTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRjb2xvcjogJGRhcmstY3lhbi0xMDA7XHJcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRkYXJrLWN5YW4tMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiAoc21hbGwpLlxyXG4gKi9cclxuXHJcbiVidXR0b24tLXNtYWxsLFxyXG4uYnV0dG9uLS1zbWFsbCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTJweCwgMTZweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRwYWRkaW5nOiA1cHggMjVweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XHJcblx0aGVpZ2h0OiAyOHB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XHJcblx0XHRoZWlnaHQ6IDI0cHg7XHJcblx0XHR3aWR0aDogMTNweDtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtNTA7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXHJcblxyXG4uY21zLW91dHB1dCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHR9XHJcblxyXG5cdHAge1xyXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aDEsXHJcblx0aDIsXHJcblx0aDMsXHJcblx0aDQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdC5pcy1pbnRybyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTZweCwgMjBweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyNnB4KTtcclxuXHR9XHJcblxyXG5cdGltZyB7XHJcblx0XHQmLmFsaWduY2VudGVyIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuYWxpZ25yaWdodCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0YWJsZSB7XHJcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cclxuXHRcdHRkIHtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVsLFxyXG5cdG9sIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdH1cclxuXHJcblx0dWwge1xyXG5cdFx0bGkge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcclxuXHJcblx0XHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGN5YW4tNjA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA4cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdGxlZnQ6IC0yNXB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOjptYXJrZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9sIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuXHR9XHJcblxyXG5cdHN0cm9uZyB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRjb2xvcjogJGN5YW4tMTAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWN5YW4tMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRibG9ja3F1b3RlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxN3B4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDI2cHgpO1xyXG5cdFx0bWFyZ2luOiA1MHB4IDA7XHJcblx0XHRwYWRkaW5nOiAyMHB4IDUwcHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoNzhweCwgNzhweCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTAwcHgsIDEwMHB4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRjb250ZW50OiBcIuKAnFwiO1xyXG5cdFx0XHRjb2xvcjogJGN5YW4tMTAwO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IC01cHg7XHJcblx0XHRcdHRvcDogLTMwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udCg3OHB4LCA3OHB4KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxMDBweCwgMTAwcHgpO1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHRcdGNvbnRlbnQ6IFwi4oCdXCI7XHJcblx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IC01cHg7XHJcblx0XHRcdGJvdHRvbTogLTcwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud3AtY2FwdGlvbiB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LndwLWNhcHRpb24tdGV4dCB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTZweCwgMjBweCk7XHJcblx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuNDRweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRhaW5lciB7XHJcblx0QGluY2x1ZGUgY29udGFpbmVyO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWNvbnN0cmFpbnQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG1hcmdpbi10b3A6IDYwcHg7XHJcblx0fVxyXG5cdFxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmZsZXgge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mbGV4LXdyYXAge1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdCB3aXRoIGEgY29sdW1uIGJhc2VkIGxheW91dCBzeXN0ZW0uXHJcbiAqL1xyXG5cclxuLnJvdyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4OiAwIDEgYXV0bztcclxuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG5cdG1hcmdpbjogMCAtI3soJGdyaWQtZ2FwLzIpfTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmJveCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGtleXMgaW4gdGhlIGAkYnJlYWtwb2ludHNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXHJcbi8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xyXG5cclxuXHQvLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZXZlcnkga2V5IGluIGAkYnJlYWtwb2ludHNgLlxyXG5cdEBpbmNsdWRlIG1lZGlhKCR2YWx1ZSkge1xyXG5cclxuXHRcdC8vIEl0ZXJhdGUgZnJvbSAxIHRocm91Z2ggdGhlIGFtb3VudCBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieVxyXG5cdFx0Ly8gYCRncmlkLWNvbHVtbnNgIGluIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIENvbHVtbiAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5jb2wtI3ska2V5fS0jeyRpfSB7XHJcblx0XHRcdFx0ZmxleDogMCAxIGF1dG87XHJcblx0XHRcdFx0d2lkdGg6IGNvbHVtbigkaSk7XHJcblx0XHRcdFx0cGFkZGluZzogMCAoJGdyaWQtZ2FwLzIpO1xyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0Ly8gT3V0cHV0IGFuIG9mZnNldCB1dGlsaXR5IGNsYXNzIGlmIHRoZSBpdGVyYXRvciBpcyBsZXNzIHRoYW4gdGhlIGFtb3VudFxyXG5cdFx0XHQvLyBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieSBgJGdyaWQtY29sdW1uc2AgaW5cclxuXHRcdFx0Ly8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuXHRcdFx0QGlmICgkaSA8ICRncmlkLWNvbHVtbnMpIHtcclxuXHJcblx0XHRcdFx0LyoqXHJcblx0XHRcdFx0ICogT2Zmc2V0ICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHRcdFx0ICovXHJcblxyXG5cdFx0XHRcdC5vZmZzZXQtI3ska2V5fS0jeyRpfSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogY29sdW1uKCRpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBgYWxpZ24taXRlbXNgIHByb3BlcnR5LlxyXG5cdFx0QGVhY2ggJHZhbHVlIGluIHN0cmV0Y2gsIGNlbnRlciwgZmxleC1zdGFydCwgZmxleC1lbmQsIGJhc2VsaW5lIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBBbGlnbiBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuYWxpZ24tI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBganVzdGlmeS1jb250ZW50YCBwcm9wZXJ0eS5cclxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdGFydCwgY2VudGVyLCBzcGFjZS1iZXR3ZWVuLCBzcGFjZS1hcm91bmQsIHNwYWNlLWV2ZW5seSB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogSnVzdGlmeSBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuanVzdGlmeS0jeyRrZXl9LSN7JHZhbHVlfSB7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGRpcmVjdGlvbiBmcm9tIGxlZnQgdG8gcmlnaHQuXHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0IHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBCbGVlZCAjeyRkaXJlY3Rpb259IGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5ibGVlZC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHQgKi9cclxuXHJcblx0XHQuZmlyc3QtI3ska2V5fSB7XHJcblx0XHRcdG9yZGVyOiAtMTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBPcmRlciBsYXN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHQgKi9cclxuXHJcblx0XHQubGFzdC0jeyRrZXl9IHtcclxuXHRcdFx0b3JkZXI6IDE7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0LnJldmVyc2UtI3ska2V5fSB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIERlZmF1bHQgZmllbGRzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCxcclxubGFiZWwge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxufVxyXG5cclxuJWlucHV0LFxyXG5zZWxlY3QsXHJcbmlucHV0LFxyXG50ZXh0YXJlYSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyM3B4KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHBhZGRpbmc6IDExcHggMTVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGJsdWUtMTAwO1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcblxyXG5cdDo6cGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cclxuXHRcdGNvbG9yOiAkYmx1ZS0yMDtcclxuXHRcdG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cclxuXHR9XHJcblxyXG5cdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xyXG5cdFx0Y29sb3I6ICRibHVlLTIwO1xyXG5cdH1cclxuXHJcblx0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBNaWNyb3NvZnQgRWRnZSAqL1xyXG5cdFx0Y29sb3I6ICRibHVlLTIwO1xyXG5cdH1cclxufVxyXG5cclxudGV4dGFyZWEge1xyXG5cdGhlaWdodDogMjMwcHg7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5nZmllbGRfcmVxdWlyZWQge1xyXG5cdGNvbG9yOiAkY3lhbi0xMDA7XHJcbn1cclxuXHJcbi5nZmllbGRfbGFiZWwge1xyXG5cdG9wYWNpdHk6IDgwJTtcclxufVxyXG5cclxuLmdjaG9pY2Uge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblxyXG5cdGlucHV0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogNnB4O1xyXG5cdH1cclxuXHJcblx0bGFiZWwge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5nZmllbGQge1xyXG5cdCYuaGlkZGVuX2xhYmVsIHtcclxuXHRcdC5nZmllbGRfbGFiZWxfYmVmb3JlX2NvbXBsZXgge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lmhhc19maXJzdF9uYW1lIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuXHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMTVweCk7XHJcblxyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0b3BhY2l0eTogODAlO1xyXG5cclxuXHRcdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnKic7XHJcblx0XHRcdFx0XHRjb2xvcjogJGN5YW4tMTAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkYmx1ZS0xMDA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDE0cHg7XHJcblx0XHRyaWdodDogMjBweDtcclxuXHRcdHdpZHRoOiA5cHg7XHJcblx0XHRoZWlnaHQ6IDEzcHg7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0c2VsZWN0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyA1MHB4KTtcclxuXHRcdG1heC13aWR0aDogbm9uZTtcclxuXHRcdG1hcmdpbjogLTJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10sXHJcbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG5cdHdpZHRoOiAxNXB4O1xyXG5cdGhlaWdodDogMTVweDtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAkYmx1ZS0xMDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdCY6Y2hlY2tlZCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcclxuXHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEdyYXZpdHkgRm9ybXMuXHJcbiAqL1xyXG5cclxuLmdmaWVsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uaGlkZGVuX2xhYmVsID4gbGFiZWwge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMjNweCk7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRwYWRkaW5nOiAxMHB4IDEwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLTEwO1xyXG5cclxuXHQ+IHN2ZyB7XHJcblx0XHR3aWR0aDogMTZweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogLTJweDtcclxuXHR9XHJcbn1cclxuXHJcbiV2YWxpZGF0aW9uX2Vycm9yLFxyXG4udmFsaWRhdGlvbl9lcnJvciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAwIDAgNTBweDtcclxuXHRwYWRkaW5nOiAyNXB4IDI1cHggMjVweCA3NXB4O1xyXG5cdGJhY2tncm91bmQ6ICRvcmFuZ2UtMTA7XHJcblx0Y29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cclxuXHQ+IHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gMTVweCk7XHJcblx0XHRsZWZ0OiAzMHB4O1xyXG5cdFx0d2lkdGg6IDMxcHg7XHJcblx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRjb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0fVxyXG5cclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNXB4O1xyXG5cdFx0cmlnaHQ6IDVweDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMTZweDtcclxuXHRcdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiA1MHB4O1xyXG5cdGJhY2tncm91bmQ6ICRvcmFuZ2UtMTAwO1xyXG5cclxuXHRiciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0aDQge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiAyOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDI4cHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0cGFkZGluZzogNXB4O1xyXG5cdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdmb3JtX2Zvb3RlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDU2cHg7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDE3NXB4O1xyXG59XHJcblxyXG4uZ2ZpZWxkX3JlcXVpcmVkX3RleHQge1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbi5naW5wdXRfY29udGFpbmVyX2RhdGUge1xyXG5cdC5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEdlbmVyYWwgR0YgRGF0ZSBQaWNrZXIgKi9cclxuI3VpLWRhdGVwaWNrZXItZGl2ICAgICAgICAgIHsgYmFja2dyb3VuZDogI0ZGRjsgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgYm9yZGVyLXJhZGl1czo0cHg7IGJveC1zaGFkb3c6KDBweCAzcHggNXB4IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpKTsgZGlzcGxheTpub25lOyBwYWRkaW5nOjIwcHg7IHdpZHRoOjMwMHB4OyBcclxuXHJcblx0LnVpLWljb24gICAgICAgICAgICAgICAgICB7IGNvbG9yOiB0cmFuc3BhcmVudDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDBweDsgfVxyXG5cdC51aS1pY29uOmJlZm9yZSAgICAgICAgICAgeyBjb2xvcjogd2hpdGU7IGZvbnQtZmFtaWx5OlwiRm9udEF3ZXNvbWVcIjsgZm9udC1zaXplOiAxOHB4OyB9XHJcbiAgXHJcblx0LnVpLWRhdGVwaWNrZXItcHJldiAgICAgICB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMTAlO1xyXG5cdCAgLnVpLWljb246YmVmb3JlICAgICAgICAgeyBjb250ZW50OidcXGYwNjAnOyB9XHJcblx0ICAmLnVpLXN0YXRlLWRpc2FibGVkICAgICB7IGRpc3BsYXk6bm9uZTsgfVxyXG5cdH1cclxuXHQudWktZGF0ZXBpY2tlci1uZXh0ICAgICAgIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMTAlO1xyXG5cdCAgLnVpLWljb246YmVmb3JlICAgICAgICAgeyBjb250ZW50OidcXGYwNjEnOyBmbG9hdDogcmlnaHQ7IH1cclxuXHQgICYudWktc3RhdGUtZGlzYWJsZWQgICAgIHsgZGlzcGxheTpub25lOyB9XHJcblx0fVxyXG4gIFxyXG5cdC51aS1kYXRlcGlja2VyLXRpdGxlICAgICAgeyBcclxuXHQgIHNlbGVjdCAgICAgICAgICAgICAgICAgIHsgZmxvYXQ6IGxlZnQ7ICB3aWR0aDogNzAlOyB9XHJcbiAgXHJcblx0ICAudWktZGF0ZXBpY2tlci1tb250aCAgICB7IG1hcmdpbjogMHB4IDUlIDZweDsgfVxyXG5cdCAgLnVpLWRhdGVwaWNrZXIteWVhciAgICAgeyBtYXJnaW46IDBweCAxNSUgNnB4OyB9XHJcblx0fVxyXG4gIFxyXG5cdC51aS1kYXRlcGlja2VyLXRvZGF5ICAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbi0xMDA7IGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHQgIGEgICAgICAgICAgICAgICAgICAgICAgIHsgY29sb3I6ICNGRkY7IH1cclxuXHR9XHJcbiAgXHJcblx0dGFibGUgICAgICAgICAgICAgICAgICAgICB7IHdpZHRoOiAxMDAlOyBcclxuXHQgIHRkLCB0aCAgICAgICAgICAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcblx0ICB0ZCAgICAgICAgICAgICAgICAgICAgICB7ICBcclxuXHRcdGEgICAgICAgICAgICAgICAgICAgICB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiA1cHg7IH1cclxuXHQgIH1cclxuXHR9XHJcbn0iLCIvKipcclxuICogSGVhZGluZy5cclxuICovXHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuJWhlYWRpbmcge1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2hlYWRpbmcnKTtcclxuXHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMS5cclxuICovXHJcblxyXG5oMSxcclxuLmhlYWRpbmctMSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCg0MnB4LCA1MnB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgyNnB4LCAyNnB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoNTJweCwgNjVweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMi5cclxuICovXHJcblxyXG5oMixcclxuJWhlYWRpbmctMixcclxuLmhlYWRpbmctMiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgzOXB4LCAzOXB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgyMHB4LCAyMHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoMzRweCwgNDJweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDMuXHJcbiAqL1xyXG5cclxuaDMsXHJcbiVoZWFkaW5nLTMsXHJcbi5oZWFkaW5nLTMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjBweCwgMjRweCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDE2cHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgyNHB4LCAzMnB4KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4vKipcclxuICogU3ViaGVhZGluZy5cclxuICovXHJcblxyXG4uc3ViaGVhZGluZyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxMnB4LCAxNnB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAxN3B4KTtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG4iLCIiLCIuaGFzLWxhenktbG9hZCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRvcDogLTE1MHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCA3NTBtcyBlYXNlO1xyXG5cdHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zO1xyXG5cdG9wYWNpdHk6IDA7XHJcblxyXG5cdCYuaGVhZGVyIHtcclxuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDc1MG1zO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0fVxyXG59XHJcblxyXG4uaGFzLWxhenktbG9hZFtsb2FkZWQ9J3RydWUnXSB7XHJcblx0dG9wOiAwO1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuIiwiLnBhZ2luYXRpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmctdG9wOiA0NXB4O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZy10b3A6IDIwcHg7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LnBhZ2UtbnVtYmVycyB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDM2cHgpO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0Y29sb3I6ICRibHVlLTUwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Ji5jdXJyZW50IHtcclxuXHRcdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHJcblx0XHQmLnByZXYsXHJcblx0XHQmLm5leHQge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblxyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzNnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuZG90cyB7XHJcblx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR9XHJcblx0XHQmLm5leHQge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxyXG4gKi9cclxuXHJcbi53cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTI0MHB4LCA0MHB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEyNDBweCwgMjBweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBjb250YWluZXIoMTI0MHB4LCA1MHB4KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFdyYXBwZXIgKG1lZGl1bSlcclxuICovXHJcblxyXG4ud3JhcHBlci0tbWVkaXVtIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTAyOHB4LCA0MHB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEwMjhweCwgMjBweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBjb250YWluZXIoMTAyOHB4LCA1MHB4KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFdyYXBwZXIgKHNtYWxsKVxyXG4gKi9cclxuXHJcbi53cmFwcGVyLS1zbWFsbCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDgxNnB4LCA0MHB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDgxNnB4LCAyMHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGNvbnRhaW5lcig4MTZweCwgNTBweCk7XHJcbn1cclxuIiwiLmZvb3RlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGN5YW4tMTAwO1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdG1hcmdpbi10b3A6IDI1MHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDE0NDBweDtcclxuXHRcdFx0aGVpZ2h0OiAzMzdweDtcclxuXHRcdFx0bGVmdDogY2FsYyg1MCUgLSA3MjBweCk7XHJcblx0XHRcdHJpZ2h0OiBjYWxjKDUwJSAtIDcyMHB4KTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHdpZHRoOiAxOTYycHg7XHJcblx0XHRoZWlnaHQ6IDI0MHB4O1xyXG5cdFx0bGVmdDogY2FsYyg1MCUgLSA5ODFweCk7XHJcblx0XHRyaWdodDogY2FsYyg1MCUgLSA5ODFweCk7XHJcblx0XHR0b3A6IC0xMTFweDtcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9mb290ZXJvcmFuamUuc3ZnJyk7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbHVtbnMtd3JhcCB7XHJcblx0cGFkZGluZy10b3A6IDYwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbHVtbnMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoNzUlIC0gNTBweCk7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdG1hcmdpbi1sZWZ0OiA1MHB4O1xyXG5cclxuXHQuZm9vdGVyX19jb2x1bW4ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogMzMuMyU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19saW5rLXRpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fY29sdW1uLWJ1dHRvbiB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fY29sdW1uLXRpdGxlLXdyYXAge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDdweDtcclxuXHRcdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fY29sdW1uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogMjUlO1xyXG59XHJcblxyXG4uZm9vdGVyX19saW5rcyB7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uZm9vdGVyX19zb2NpYWwge1xyXG5cdGEge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMjBweDtcclxuXHRcdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRvcGFjaXR5OiA3MCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX190ZXJtcyB7XHJcblx0YSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIzcHg7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG9wYWNpdHk6IDcwJTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbHVtbi1lZGl0b3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG4gXHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRvcGFjaXR5OiA3MCU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2xpbmtzIHtcclxuXHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG59XHJcblxyXG4uZm9vdGVyX19ib3R0b20ge1xyXG5cdHBhZGRpbmc6IDE4cHggMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1jeWFuLTEwMDtcclxuXHJcblx0YSB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0b3BhY2l0eTogNzAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuaGVhZGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1iZWlnZTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGhlaWdodDogNjBweDtcclxuXHR9XHJcblxyXG5cdGhlaWdodDogOTBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR6LWluZGV4OiA5OTtcclxuXHRib3gtc2hhZG93OiAwcHggMy4wOTAxM3B4IDMuMDkwMTNweCByZ2JhKDEyLCAzNiwgOTYsIDAuMDUpO1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGhlaWdodDogNjBweDtcclxuXHRcdH1cclxuXHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XHJcblx0XHRoZWlnaHQ6IDkwcHg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xvZ28ge1xyXG5cdGltZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMjIwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IDMwMHB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fd3JhcCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uaGVhZGVyX19jb250YWN0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tbGVmdDogNDBweDtcclxufVxyXG5cclxuLmhlYWRlcl9fbWVudSB7XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQ+IGxpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcblx0XHQ+IGEge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xyXG5cdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiAzcHg7XHJcblx0XHRcdFx0d2lkdGg6IDlweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0PiBhIHN2ZyB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0XHRjb2xvcjogJGN5YW4tMTAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuc3VibWVudS1jb250YWluZXIge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0dG9wOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdHdpZHRoOiA3cHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDdweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjeWFuLTEwMDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHRcdHJpZ2h0OiBjYWxjKDUwJSAtIDMuNXB4KTtcclxuXHRcdFx0XHRcdGJvdHRvbTogLTE0cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0PiAuc3VibWVudS1jb250YWluZXIge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTBweDtcclxuXHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XHJcblx0XHRcdHdpZHRoOiBtYXgtY29udGVudDtcclxuXHRcdFx0bWluLXdpZHRoOiAxNzVweDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cclxuXHRcdFx0PiAuc3VibWVudSB7XHJcblx0XHRcdFx0cGFkZGluZzogMjBweCAxMnB4IDVweDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggMy4wOTAxM3B4IDMuMDkwMTNweCByZ2JhKDEyLCAzNiwgOTYsIDAuMDUpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2U7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRjeWFuLTEwMDtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDhweDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuc3VibWVudSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCAwIDIwcHggMDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmLmN1cnJlbnQtcGFnZS1hbmNlc3RvcixcclxuXHRcdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZW51IEJ1dHRvbi5cclxuICovXHJcblxyXG4kdHJhbnNpdGlvbi10aW1pbmc6IDMwMG1zO1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xyXG5cdC5oZWFkZXJfX21lbnUtYnV0dG9uIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMjFweDtcclxuXHRcdGhlaWdodDogMjFweDtcclxuXHRcdHotaW5kZXg6IDEwMDtcclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMjFweDtcclxuXHRcdFx0aGVpZ2h0OiAzcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdFx0dG9wOiAzcHg7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nIDBzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0dG9wOiBjYWxjKDUwJSAtIDBweCk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIG9wYWNpdHkgMG1zICR0cmFuc2l0aW9uLXRpbWluZztcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRcdGJvdHRvbTogMHB4O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAwcztcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHRcdHRvcDogY2FsYyg1MCUgLSAwLjVweCk7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcclxuXHRcdFx0XHRcdGJvdHRvbTogY2FsYyg1MCUgLSAyLjVweCk7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgYm90dG9tICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmc7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLm5hdmlnYXRpb24tbW9iaWxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG5cdFx0bWFyZ2luLXRvcDogNjBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDEwMHZoO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gOTBweCk7XHJcblx0bWFyZ2luLXRvcDogOTBweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHotaW5kZXg6IDk5OTtcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdHRvcDogMDtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG4vKipcclxuICogTWFpbiBtZW51LlxyXG4gKi9cclxuXHJcbi5uYXZpZ2F0aW9uLW1vYmlsZV9fbWFpbiB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luOiAyMHB4IDA7XHJcblxyXG5cdD4gbGkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcclxuXHRcdD4gYSB7XHJcblx0XHRcdHBhZGRpbmc6IDEycHggMDtcclxuXHRcdH1cclxuXHJcblx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvcixcclxuXHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGN5YW4tMTA7XHJcblxyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjeWFuLTEwMDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDYwcHg7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC02MHB4O1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcclxuXHJcblx0XHRcdFx0PiBzcGFuIHN2ZyB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gYSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTZweCwgMjRweCk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG5cdFx0XHQ+IHNwYW4ge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweCAwIDVweDtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gMTBweCk7XHJcblx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuc3VibWVudS1jb250YWluZXIge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG5cdFx0XHRcclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDExcHggMDtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblxyXG5cdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAwIDAgMDtcclxuXHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHJcblx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHQ+IHNwYW4gc3ZnIHtcclxuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogRGlzYWJsZSBzY3JvbGwuXHJcbiAqL1xyXG5cclxuYm9keS5pcy1hY3RpdmUge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdC5oZWFkZXI6OmJlZm9yZSB7XHJcblx0XHRib3R0b206IDA7XHJcblx0fVxyXG59XHJcbiIsIi5uZXdzLWxhdGVzdCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi10b3A6IDEyMHB4O1xyXG5cclxuICAmOjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTBweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDc3cHg7XHJcbiAgICBoZWlnaHQ6IDk1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL3Zvcm0zLnN2ZycpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcblxyXG4gIC5vd2wtbmF2IHtcclxuICAgIGJ1dHRvbi5vd2wtcHJldixcclxuICAgIGJ1dHRvbi5vd2wtbmV4dCB7XHJcbiAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLTIwO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgY29sb3I6ICRibHVlLTUwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMXB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlLTEwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbi5vd2wtbmV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICB0b3A6IC02MHB4O1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAgICAgdG9wOiAtOTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG9wOiAtODBweDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuICAgIGJ1dHRvbi5vd2wtcHJldiB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICB0b3A6IC02MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICAgIHRvcDogLTkwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvcDogLTgwcHg7XHJcbiAgICAgIHJpZ2h0OiA1NXB4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3dsLXN0YWdlLW91dGVyIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgLm5ld3MtaXRlbSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIG1heC13aWR0aDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiA0NTBweDtcclxuICB9XHJcblxyXG4gIC5uZXdzLWl0ZW1fX2ltYWdlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgaGVpZ2h0OiAyMTBweDtcclxuICAgIH1cclxuXHJcbiAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm5ld3MtbGF0ZXN0X190aXRsZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fbGluayB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogODVweDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDU1cHg7XHJcbn0iLCIubmV3cy1saXN0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdC5uZXdzLWl0ZW0ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC8gMSk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAzKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cdH1cclxuXHJcbiAgLm5ld3MtaXRlbV9faW1hZ2Uge1xyXG4gICAgaGVpZ2h0OiAzNTBweDtcclxuICB9XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAxMjQycHg7XHJcblx0XHRcdHJpZ2h0OiAtNjBweDtcclxuXHRcdFx0d2lkdGg6IDE1MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE1MHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2NpcmNsZTMuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMTQ0N3B4O1xyXG5cdFx0XHRsZWZ0OiAtNDBweDtcclxuXHRcdFx0d2lkdGg6IDE1MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE1MHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2NpcmNsZTMuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0JjpiZWZvcmUgeyBcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0d2lkdGg6IDE5NjJweDtcclxuXHRcdGhlaWdodDogNTgwcHg7XHJcblx0XHRsZWZ0OiBjYWxjKDUwJSAtIDk4MXB4KTtcclxuXHRcdHJpZ2h0OiBjYWxjKDUwJSAtIDk4MXB4KTtcclxuXHRcdHRvcDogLTEwMHB4O1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2dyb3RlcmJsYXV3LnN2ZycpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1saXN0X190aXRsZSB7XHJcblx0bWFyZ2luLXRvcDogOTJweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxufVxyXG5cclxuLm5ld3MtbGlzdF9fd3JhcCB7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59IiwiLm5ld3Mtc2luZ2xlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLXRvcDogMTEwcHg7XHJcblxyXG5cdCY6YmVmb3JlIHsgXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHdpZHRoOiAxMTU1cHg7XHJcblx0XHRoZWlnaHQ6IDM1MHB4O1xyXG5cdFx0bGVmdDogY2FsYyg1MCUgLSA1NzdweCk7XHJcblx0XHRyaWdodDogY2FsYyg1MCUgLSA1NzdweCk7XHJcblx0XHR0b3A6IDI1cHg7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMva2xlaW5ibGF1dy5zdmcnKTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdH1cclxuXHJcblx0LndyYXBwZXItLXNtYWxsIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQmOjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cmlnaHQ6IC0xNDBweDtcclxuXHRcdFx0d2lkdGg6IDI3M3B4O1xyXG5cdFx0XHRoZWlnaHQ6IDk1cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvdm9ybTYuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdHotaW5kZXg6IC0yO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMzE1cHg7XHJcblx0XHRcdGxlZnQ6IC0xNDBweDtcclxuXHRcdFx0d2lkdGg6IDI3M3B4O1xyXG5cdFx0XHRoZWlnaHQ6IDk1cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvdm9ybTYuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdHotaW5kZXg6IC0yO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX19pbWFnZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogNDAwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRtYXJnaW4tdG9wOiAtMjVweDtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym94LXNoYWRvdzogMHB4IDIwcHggNjBweCByZ2JhKDE3LCA2OCwgMTI4LCAwLjEyKTtcclxuXHJcblx0aW1nIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLXNpbmdsZV9fdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDU1cHg7XHJcbn1cclxuXHJcbi5uZXdzLXNpbmdsZV9fZWRpdG9yIHtcclxuXHRtYXJnaW4tYm90dG9tOiA2NXB4O1xyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX2JhY2sge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHRjb2xvcjogJGN5YW4tMTAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHR9XHJcblx0XHJcblx0Jjpob3ZlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVx0XHJcblx0fVxyXG59IiwiLm5ld3MtaXRlbSB7XHJcbiAgYSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLm5ld3MtaXRlbV9fbW9yZSB7XHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm5ld3MtaXRlbV9faW1hZ2Uge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5ld3MtaXRlbV9faW1hZ2Uge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IHJnYmEoMTIsIDM2LCA5NiwgMC4xKTtcclxuXHJcbiAgaW1nIHtcclxuICBcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm5ld3MtaXRlbV9fZGF0ZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgxMnB4LCAxN3B4KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAyMHB4O1xyXG4gIHJpZ2h0OiAyMHB4O1xyXG4gIHBhZGRpbmc6IDVweCAyMHB4O1xyXG4gIGNvbG9yOiAkY3lhbi0xMDA7XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGN5YW4tMTAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2hlYWRpbmcnKTtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4ubmV3cy1pdGVtX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQGluY2x1ZGUgZm9udCgxNHB4LCAxNnB4KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoMTZweCwgMThweCk7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubmV3cy1pdGVtX190ZWFzZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMTRweCwgMTZweCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb250KDE2cHgsIDE4cHgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5uZXdzLWl0ZW1fX21vcmUge1xyXG4gIEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6ICRjeWFuLTEwMDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDEzcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuICB9XHJcbn0iLCIuZGVmYXVsdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi10b3A6IDExMHB4O1xyXG5cclxuXHQmLmJhY2tncm91bmQtLWdyZWVuLFxyXG5cdCYuYmFja2dyb3VuZC0tcGluayxcclxuXHQmLmJhY2tncm91bmQtLW9yYW5nZSB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHdpZHRoOiAxMTU1cHg7XHJcblx0XHRcdGhlaWdodDogMzUwcHg7XHJcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gNTc3cHgpO1xyXG5cdFx0XHRyaWdodDogY2FsYyg1MCUgLSA1NzdweCk7XHJcblx0XHRcdHRvcDogMjVweDtcclxuXHRcdFx0ei1pbmRleDogLTE7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmJhY2tncm91bmQtLW9yYW5nZSB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMva2xlaW5vcmFuamUuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmJhY2tncm91bmQtLXBpbmsge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2tsZWlucm96ZS5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuYmFja2dyb3VuZC0tZ3JlZW4ge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2tsZWluYmxhdXcuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud3JhcHBlci0tc21hbGwge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRyaWdodDogLTE0MHB4O1xyXG5cdFx0XHR3aWR0aDogMjczcHg7XHJcblx0XHRcdGhlaWdodDogOTVweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy92b3JtNi5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0ei1pbmRleDogLTI7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAzMTVweDtcclxuXHRcdFx0bGVmdDogLTE0MHB4O1xyXG5cdFx0XHR3aWR0aDogMjczcHg7XHJcblx0XHRcdGhlaWdodDogOTVweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy92b3JtNi5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0ei1pbmRleDogLTI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZGVmYXVsdF9fd3JhcHBlciB7XHJcblx0Ji5iYWNrZ3JvdW5kLS1ncmV5IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0Ji5iYWNrZ3JvdW5kLS13aGl0ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLmRlZmF1bHRfX2ltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBub25lO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogNDAwcHg7XHJcblx0bWFyZ2luLXRvcDogLTI1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJveC1zaGFkb3c6IDBweCAyMHB4IDYwcHggcmdiYSgxNywgNjgsIDEyOCwgMC4xMik7XHJcblxyXG5cdGltZyB7XHJcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0fVxyXG59XHJcblxyXG4uZGVmYXVsdF9faGVhZCB7XHJcblx0cGFkZGluZy10b3A6IDI1cHg7XHJcbn1cclxuXHJcbi5kZWZhdWx0X19pY29uIHtcclxuXHRtYXJnaW4tdG9wOiAtMTE1cHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxODBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdGhlaWdodDogMTgwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjeWFuLTEwMDtcclxuXHR6LWluZGV4OiA2MDtcclxuXHJcblx0aW1nIHtcclxuXHRcdGhlaWdodDogMTYwcHg7XHJcblx0XHR3aWR0aDogMTYwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uZGVmYXVsdF9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWxlZnQ6IDMwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmRlZmF1bHRfX2VkaXRvciB7XHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmRlZmF1bHRfX2xpbmstd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG4iLCIucmV2aWV3cyB7XHJcblx0bWFyZ2luLXRvcDogMTIwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQmOjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMTI1cHg7XHJcblx0XHRyaWdodDogLTYwcHg7XHJcblx0XHR3aWR0aDogMTUwcHg7XHJcblx0XHRoZWlnaHQ6IDE1MHB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9jaXJjbGUxLnN2ZycpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHR9XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogLTkwcHg7XHJcblx0XHRsZWZ0OiAtNDBweDtcclxuXHRcdHdpZHRoOiAxNTBweDtcclxuXHRcdGhlaWdodDogMTUwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2NpcmNsZTEuc3ZnJyk7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG5cclxuLnJldmlld3NfX3RpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxufVxyXG5cclxuLnJldmlld3NfX3dyYXAge1xyXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiAyMjBweDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiAyMDBweDtcclxuXHRcdH1cclxuXHJcblx0XHRtYXgtaGVpZ2h0OiAyNTBweDtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdH1cclxuXHJcblx0Lm93bC1uYXYge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5vd2wtZG90cyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHRvcDogLTUwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtMzBweDtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDhweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMjA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm9ubHktY2hpbGQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5yZXZpZXdzX19yZXZpZXcge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGJveC1zaGFkb3c6IDBweCA0MHB4IDgwcHggcmdiYSgxMiwgMzYsIDk2LCAwLjIpO1xyXG5cdFx0cGFkZGluZzogMzVweCAyNXB4O1xyXG5cdFx0bWF4LXdpZHRoOiAyODBweDtcclxuXHJcblx0XHQmOjpiZWZvcmUsXHJcblx0XHQmOjphZnRlciB7XHJcblx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0cGFkZGluZzogMzVweCAyNXB4O1xyXG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcclxuXHR9XHJcblxyXG5cdGJveC1zaGFkb3c6IDBweCA0cHggNHB4IHJnYmEoMTIsIDM2LCA5NiwgMC4xKTtcclxuXHRtYXgtd2lkdGg6IDUwMHB4O1xyXG5cdHBhZGRpbmc6IDQ1cHggMzBweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0QGluY2x1ZGUgZm9udCg3OHB4LCA3OHB4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHRjb250ZW50OiBcIuKAnFwiO1xyXG5cdFx0Y29sb3I6ICRibHVlLTUwO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogOHB4O1xyXG5cdFx0dG9wOiAtMjBweDtcclxuXHR9XHJcblxyXG5cdCY6OmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoNzhweCwgNzhweCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0Y29udGVudDogXCLigJ1cIjtcclxuXHRcdGNvbG9yOiAkYmx1ZS01MDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiA4cHg7XHJcblx0XHRib3R0b206IC01MnB4O1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0XHRib3gtc2hhZG93OiAwcHggNDBweCA4MHB4IHJnYmEoMTIsIDM2LCA5NiwgMC4yKTtcclxuXHJcblx0XHRcdCY6OmJlZm9yZSxcclxuXHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5yZXZpZXdzX19yZXZpZXctcXVvdGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTJweCwgMTZweCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDIycHgpO1xyXG59XHJcblxyXG4ucmV2aWV3c19fcmV2aWV3LWF1dGhvciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMjZweCk7XHJcbn0iLCIudGV4dC1zbGlkZXNob3cge1xyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcclxuXHRcdC53cmFwcGVyIHtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLXRvcDogODBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHQmLmJhY2tncm91bmQtLWdyZWVuLFxyXG5cdCYuYmFja2dyb3VuZC0tcGluayxcclxuXHQmLmJhY2tncm91bmQtLW9yYW5nZSB7XHJcblx0XHQud3JhcHBlciB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0XHR3aWR0aDogNjUwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDY1MHB4O1xyXG5cdFx0XHRcdFx0dG9wOiAtMjQwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHR3aWR0aDogMTExOHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTExOHB4O1xyXG5cdFx0XHRcdGxlZnQ6IGNhbGMoNTAlICsgNjVweCk7XHJcblx0XHRcdFx0dG9wOiAtNTgwcHg7XHJcblx0XHRcdFx0ei1pbmRleDogLTE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuYmFja2dyb3VuZC0tb3JhbmdlIHtcclxuXHRcdC53cmFwcGVyIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvb3JhbmplLnN2ZycpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmJhY2tncm91bmQtLXBpbmsge1xyXG5cdFx0LndyYXBwZXIge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9yb3plLnN2ZycpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmJhY2tncm91bmQtLWdyZWVuIHtcclxuXHRcdC53cmFwcGVyIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZ3JhZGllbnQuc3ZnJyk7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0cGFkZGluZy1yaWdodDogNTBweDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0cGFkZGluZy1yaWdodDogMTAwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNTAlO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDE0MHB4O1xyXG59XHJcblxyXG4udGV4dC1zbGlkZXNob3dfX2ltYWdlIHtcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XHJcblx0XHRoZWlnaHQ6IDIyMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdGhlaWdodDogMzEycHg7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA0NzBweDtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym94LXNoYWRvdzogMHB4IDIwcHggNjBweCByZ2JhKDE3LCA2OCwgMTI4LCAwLjEyKTtcclxuXHJcblx0aW1nIHtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXNsaWRlc2hvdyB7XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiA1MCU7XHJcblx0Ym94LXNoYWRvdzogMHB4IDIwcHggNjBweCByZ2JhKDEyLCAzNiwgOTYsIDAuMik7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG5cdFx0XHRsZWZ0OiAtNzBweDtcclxuXHRcdFx0Ym90dG9tOiAtMzBweDtcclxuXHRcdH1cclxuXHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IC02NXB4O1xyXG5cdFx0Ym90dG9tOiAtMzVweDtcclxuXHRcdHdpZHRoOiAxNDdweDtcclxuXHRcdGhlaWdodDogMTMwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2RvdHNjaXJjbGUuc3ZnJyk7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxuXHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC0yMHB4O1xyXG5cdFx0cmlnaHQ6IC0yMHB4O1xyXG5cdFx0d2lkdGg6IDEzN3B4O1xyXG5cdFx0aGVpZ2h0OiAxMzdweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvYmxvY2tncmVlbi5zdmcnKTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG5cclxuXHQub3dsLWRvdHMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAxNXB4O1xyXG4gICAgcmlnaHQ6IDM1cHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcblx0XHRidXR0b24ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdGhlaWdodDogOHB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cclxuXHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6b25seS1jaGlsZCB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRleHQtc2xpZGVzaG93X19zdWJ0aXRsZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiA1cHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHR0b3A6IC0zcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRsZWZ0OiAtMTVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDFweDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0LXNsaWRlc2hvd19fdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi50ZXh0LXNsaWRlc2hvd19fZWRpdG9yIHtcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLnRleHQtc2xpZGVzaG93X19saW5rIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4iLCIudGVhbSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi10b3A6IDEyMHB4O1xyXG5cclxuLndyYXBwZXItLW1lZGl1bSB7XHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDExMHB4O1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogNjdweDtcclxuXHRcdFx0aGVpZ2h0OiA5OHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL3Zvcm0xLnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0XHR6LWluZGV4OiAtMjtcclxuXHRcdH1cclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ym90dG9tOiAxMTBweDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxMzVweDtcclxuXHRcdFx0aGVpZ2h0OiA4MHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL3Zvcm0yLnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0XHR6LWluZGV4OiAtMjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuYmFja2dyb3VuZC0tZ3JlZW4sXHJcblx0Ji5iYWNrZ3JvdW5kLS1waW5rLFxyXG5cdCYuYmFja2dyb3VuZC0tb3JhbmdlIHtcclxuXHRcdCY6YmVmb3JlIHsgXHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHdpZHRoOiAxOTYycHg7XHJcblx0XHRcdGhlaWdodDogMjQwcHg7XHJcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gOTgxcHgpO1xyXG5cdFx0XHRyaWdodDogY2FsYyg1MCUgLSA5ODFweCk7XHJcblx0XHRcdGJvdHRvbTogMTYwcHg7XHJcblx0XHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5iYWNrZ3JvdW5kLS1vcmFuZ2Uge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL3JlY2h0aG9la29yYW5qZS5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuYmFja2dyb3VuZC0tcGluayB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvcmVjaHRob2Vrcm96ZS5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuYmFja2dyb3VuZC0tZ3JlZW4ge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL3JlY2h0aG9la2JsYXV3LnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRlYW1fX21lbWJlci1waG90byB7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xyXG5cclxuXHRpbWcge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnRlYW1fX3RpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRlYW1fX2Rlc2NyaXB0aW9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRlYW1fX2xpbmsge1xyXG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbn1cclxuXHJcbi50ZWFtX193cmFwIHtcclxuXHQub3dsLXN0YWdlLW91dGVyIHtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdFx0bWF4LWhlaWdodDogNDIwcHg7XHJcblx0fVxyXG5cclxuXHQub3dsLW5hdiB7XHJcblx0XHRidXR0b24ub3dsLXByZXYsXHJcblx0XHRidXR0b24ub3dsLW5leHQge1xyXG5cdFx0XHR3aWR0aDogNThweDtcclxuXHRcdFx0aGVpZ2h0OiA1OHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0XHQmLmRpc2FibGVkIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0yMDtcclxuXHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYmx1ZS01MDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDAuNztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHR0b3A6IDRweDtcclxuXHRcdFx0XHR3aWR0aDogMzJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDI0cHg7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRidXR0b24ub3dsLW5leHQge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0cmlnaHQ6IC0xNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0b3A6IDEyMHB4O1xyXG5cdFx0XHRyaWdodDogLTI5cHg7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdH1cclxuXHRcdGJ1dHRvbi5vd2wtcHJldiB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0XHRsZWZ0OiAtMTVweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dG9wOiAxMjBweDtcclxuXHRcdFx0bGVmdDogLTI5cHg7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5vd2wtZG90cyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC0zMHB4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0YnV0dG9uIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHdpZHRoOiA4cHg7XHJcblx0XHRcdGhlaWdodDogOHB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogOHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0yMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHRcdCY6aG92ZXIsXHJcblx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6b25seS1jaGlsZCB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRlYW1fX21lbWJlciB7XHJcblx0d2lkdGg6IGNhbGMoKDEwMjhweCAtIDc1cHgpIC8gNCk7XHJcbn1cclxuXHJcbi50ZWFtX19tZW1iZXItbmFtZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyNHB4KTtcclxuXHRcdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDIycHgsIDI4cHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi50ZWFtX19tZW1iZXItZnVuY3Rpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTFweCwgMTVweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi50ZWFtX19tZW1iZXItYWN0aW9uIHtcclxuXHRhIHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogNzAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi50ZWFzZXJzIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLXRvcDogODBweDtcclxuXHRtaW4taGVpZ2h0OiA1NzBweDtcclxuXHJcblx0LndyYXBwZXItLW1lZGl1bSB7XHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IC0xOHB4O1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTI2cHg7XHJcblx0XHRcdGhlaWdodDogOTJweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy92b3JtNy5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0ei1pbmRleDogLTE7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmJhY2tncm91bmQtLWdyZWVuLFxyXG5cdCYuYmFja2dyb3VuZC0tcGluayxcclxuXHQmLmJhY2tncm91bmQtLW9yYW5nZSB7XHJcblx0XHQmOmJlZm9yZSB7IFxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMTg5cHg7XHJcblx0XHRcdFx0d2lkdGg6IDUwNjhweDtcclxuXHRcdFx0XHRsZWZ0OiBjYWxjKDUwJSAtIDI1MzRweCk7XHJcblx0XHRcdFx0cmlnaHQ6IGNhbGMoNTAlIC0gMjUzNHB4KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDcwOXB4O1xyXG5cdFx0XHRcdHdpZHRoOiAzMDI0cHg7XHJcblx0XHRcdFx0bGVmdDogY2FsYyg1MCUgLSAxNTEycHgpO1xyXG5cdFx0XHRcdHJpZ2h0OiBjYWxjKDUwJSAtIDE1MTJweCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHdpZHRoOiAxOTYycHg7XHJcblx0XHRcdGhlaWdodDogNDYwcHg7XHJcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gOTgxcHgpO1xyXG5cdFx0XHRyaWdodDogY2FsYyg1MCUgLSA5ODFweCk7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0ei1pbmRleDogLTE7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmJhY2tncm91bmQtLW9yYW5nZSB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZm9vdGVyb3JhbmplLnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5iYWNrZ3JvdW5kLS1waW5rIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9mb290ZXJyb3plLnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5iYWNrZ3JvdW5kLS1ncmVlbiB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZm9vdGVyYmxhdXcuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGVhc2Vyc19fdGl0bGUge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4udGVhc2Vyc19fZGVzY3JpcHRpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0fVxyXG5cclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG5cclxuLnRlYXNlcnNfX3dyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG1hcmdpbjogLTVweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA0NXB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNDVweDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdG1hcmdpbjogLTEzcHg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZWFzZXJzX190ZWFzZXItaWNvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuXHRtYXJnaW46IDAgMjBweDtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xyXG59XHJcblxyXG4udGVhc2Vyc19fdGVhc2VyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcclxuXHRcdG1hcmdpbjogNXB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDI1JSAtIDI2cHgpO1xyXG5cdH1cclxuXHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdHdpZHRoOiBjYWxjKDIwJSAtIDI2cHgpO1xyXG5cdG1hcmdpbjogMTNweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbi0xMDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWN5YW4tMTAwO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTBweDtcclxuXHJcblx0XHRcdC50ZWFzZXJzX190ZWFzZXItaWNvbiB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogLTIwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZWFzZXJzX190ZWFzZXItdGl0bGUge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZWFzZXJzX190ZWFzZXItbGluayB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdG9wYWNpdHk6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50ZWFzZXJzX190ZWFzZXItdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTFweCwgMTVweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTJweCwgMTZweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogLTIwcHg7XHJcblx0aGVpZ2h0OiAzNnB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xyXG59XHJcblxyXG4udGVhc2Vyc19fdGVhc2VyLWxpbmsge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTFweCwgMTVweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTJweCwgMTZweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdHBhZGRpbmc6IDhweCAwO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0bWFyZ2luLXRvcDogMzFweDtcclxuXHRtYXJnaW4tYm90dG9tOiAtMzRweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcblx0XHR9XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZTtcclxuXHRcdHdpZHRoOiAxM3B4O1xyXG5cdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDQwcHhcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZS03MDtcclxuXHR9XHJcbn0iLCIudXNwcyB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi10b3A6IDEyMHB4O1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDEwMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnVzcHNfX2NvbHVtbi10ZXh0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRwYWRkaW5nOiAwIDYwcHg7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdHdpZHRoOiA2MCU7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNTAlO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi51c3BzX19jb2x1bW4tc2xpZGVzaG93IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRoZWlnaHQ6IDE4NXB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHR3aWR0aDogNDAlO1xyXG5cdH1cclxuXHJcblx0Ym94LXNoYWRvdzogMHB4IDIwcHggNjBweCByZ2JhKDEyLCAzNiwgOTYsIDAuMik7XHJcblx0d2lkdGg6IDUwJTtcclxuXHRoZWlnaHQ6IDM3NXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblxyXG5cdCY6OmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRcdHJpZ2h0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDIwcHg7XHJcblx0XHRyaWdodDogLTU1cHg7XHJcblx0XHR3aWR0aDogMTEwcHg7XHJcblx0XHRoZWlnaHQ6IDExMHB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9jaXJjbGUxLnN2ZycpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHR9XHJcblxyXG5cdC5vd2wtZG90cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDE1cHg7XHJcbiAgICByaWdodDogMzVweDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTZweDtcclxuXHRcdFx0aGVpZ2h0OiA4cHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblxyXG5cdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpvbmx5LWNoaWxkIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udXNwc19fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlclxyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnVzcHNfX2VkaXRvciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyXHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG59XHJcblxyXG4udXNwc19fdXNwcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0fVxyXG5cclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWFyZ2luLWJvdHRvbTogODBweDtcclxufVxyXG5cclxuLnVzcHNfX3VzcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxufVxyXG5cclxuLnVzcHNfX2ljb24ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0c3ZnIHtcclxuXHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRmaWxsOiAkY3lhbi0xMDA7XHJcblx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHR3aWR0aDogMzBweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHR9XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjeWFuLTEwO1xyXG5cdFx0d2lkdGg6IDI1cHg7XHJcblx0XHRoZWlnaHQ6IDI1cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHR0b3A6IDEycHg7XHJcblx0XHRsZWZ0OiA3cHg7XHJcblx0fVxyXG59XHJcblxyXG4udXNwc19faW1hZ2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGhlaWdodDogMTg1cHg7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAzNzVweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG5cdGltZyB7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0fVxyXG59XHJcblxyXG4udXNwc19fdXNwLWJvZHkge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi51c3BzX191c3AtdGl0bGUge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4udXNwc19fdXNwLWRlc2NyaXB0aW9uIHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdGZvbnQtd2VpZ2h0OiAyMDA7XHJcbn1cclxuXHJcbi51c3BzX19saW5rIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW46IDAgYXV0byA1MHB4O1xyXG5cdH1cclxufSIsIi5jb250YWN0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLXRvcDogMTIwcHg7XHJcblxyXG5cdCYuYmFja2dyb3VuZC0tZ3JlZW4sXHJcblx0Ji5iYWNrZ3JvdW5kLS1waW5rLFxyXG5cdCYuYmFja2dyb3VuZC0tb3JhbmdlIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHR3aWR0aDogMTE1NXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDM1MHB4O1xyXG5cdFx0XHRsZWZ0OiBjYWxjKDUwJSAtIDU3N3B4KTtcclxuXHRcdFx0cmlnaHQ6IGNhbGMoNTAlIC0gNTc3cHgpO1xyXG5cdFx0XHR0b3A6IDI1cHg7XHJcblx0XHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5iYWNrZ3JvdW5kLS1vcmFuZ2Uge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2tsZWlub3JhbmplLnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5iYWNrZ3JvdW5kLS1waW5rIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9rbGVpbnJvemUuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmJhY2tncm91bmQtLWdyZWVuIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9rbGVpbmJsYXV3LnN2ZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRyaWdodDogLTE0MHB4O1xyXG5cdFx0XHR3aWR0aDogMjczcHg7XHJcblx0XHRcdGhlaWdodDogOTVweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy92b3JtNi5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0ei1pbmRleDogLTI7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAzMTVweDtcclxuXHRcdFx0bGVmdDogLTE0MHB4O1xyXG5cdFx0XHR3aWR0aDogMjczcHg7XHJcblx0XHRcdGhlaWdodDogOTVweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy92b3JtNi5zdmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0ei1pbmRleDogLTI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29udGFjdF9fd3JhcHBlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0cGFkZGluZzogMCAyMHB4O1xyXG5cdH1cclxuXHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRwYWRkaW5nOiAwIDEwMHB4O1xyXG59XHJcblxyXG4uY29udGFjdF9fdGl0bGUge1xyXG5cdHBhZGRpbmctdG9wOiA1NXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0X19lZGl0b3Ige1xyXG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0X193cmFwIHtcclxuXHRib3JkZXItdG9wOiBzb2xpZCAxcHggJGJsdWUtMjA7XHJcblx0cGFkZGluZy10b3A6IDQwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDQwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0X19ibG9jayB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDAgMTBweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWUtMjA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYygxMDAlIC8gMyk7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmx1ZS0yMDtcclxuXHRwYWRkaW5nOiAwIDIwcHg7XHJcblxyXG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IC0xMHB4O1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdH1cclxuXHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGFjdF9fYnV0dG9uIHtcclxuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG59XHJcblxyXG4uY29udGFjdF9fYmxvY2stYWRkcmVzcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRvcGFjaXR5OiA3MCU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdGNvbG9yOiAkY3lhbi0xMDA7XHJcbn1cclxuXHJcbi5jb250YWN0X19ibG9jay1lbWFpbCxcclxuLmNvbnRhY3RfX2Jsb2NrLXBob25lIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG9wYWNpdHk6IDcwJTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNvbG9yOiAkY3lhbi0xMDA7XHJcbn1cclxuXHJcbi5jb250YWN0X19ibG9jay1pdGVtIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDJweDtcclxuXHRcdH1cclxuXHJcblx0XHRtYXJnaW4tdG9wOiA0cHg7XHJcblx0XHR3aWR0aDogMjJweDtcclxuXHRcdGhlaWdodDogMjJweDtcclxuXHRcdG1pbi13aWR0aDogMjJweDtcclxuXHRcdGNvbG9yOiAkY3lhbi0xMDA7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0fVxyXG59IiwiLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBjbGFzc2VzIGJhc2VkIG9uIGV2ZXJ5IGNvbG9yIGRlZmluaXRpb24gaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICogTG9vcCB0aHJvdWdoIGV2ZXJ5IGAka2V5YCBhbmQgYCRtYXBgIGluIHRoZSBgJGNvbG9yc2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICovXHJcbiBcclxuQGVhY2ggJGtleSwgJG1hcCBpbiAkY29sb3JzIHtcclxuXHJcblx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGAkc2hhZGVgIGFuZCBgJHJnYmAgaW4gYCRtYXBgLlxyXG5cdEBlYWNoICRzaGFkZSwgJHJnYiBpbiAkbWFwIHtcclxuXHJcblx0XHQvLyBMb29wIHRocm91Z2ggZXZlcnkgYGNvbG9yYCBhbmQgYGJhY2tncm91bmQtY29sb3JgIHJ1bGVzLlxyXG5cdFx0QGVhY2ggJHJ1bGUgaW4gY29sb3IsIGJhY2tncm91bmQtY29sb3Ige1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIGAjeyRydWxlfWAgI3skcmdifS0jeyRzaGFkZX0gY29sb3IgdXRpbGl0eS5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuI3skcnVsZX0tI3t1bnF1b3RlKCRrZXkpfS0je3VucXVvdGUoJHNoYWRlKX0ge1xyXG5cdFx0XHRcdCN7JHJ1bGV9OiAkcmdiO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBWaXN1YWxseSBoaWRlIGFueSBlbGVtZW50IGZyb20gdGhlIHVzZXIuXHJcbiAqL1xyXG5cclxuLnZpc3VhbGx5LWhpZGRlbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxcHg7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDFweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXHJcbiAqL1xyXG5cclxuLmxhenlsb2FkIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgY2xhc3MgZm9yIG9iamVjdCBmaXQgcG9seWZpbGwuIEFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50XHJcbiAqIHRoYXQgdXRpbGl6ZXMgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG4lb2JqZWN0LWZpdCxcclxuLm9iamVjdC1maXQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiBjZW50ZXIuXHJcbiAqL1xyXG5cclxuLmFsaWduLWNlbnRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWxpZ24gbGVmdC5cclxuICovXHJcblxyXG4uYWxpZ24tbGVmdCB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsaWduIHJpZ2h0LlxyXG4gKi9cclxuXHJcbi5hbGlnbi1yaWdodCB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gZmlsbCwgY29udGFpbiwgY292ZXIsIG5vbmUsIHNjYWxlLWRvd24ge1xyXG5cclxuXHQvKipcclxuXHQgKiBgb2JqZWN0LWZpdGAgI3skdmFsdWV9IHV0aWxpdHkgY2xhc3MuXHJcblx0ICovXHJcblxyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07JzsgLyogMSAqL1xyXG5cdFx0b2JqZWN0LWZpdDogI3skdmFsdWV9O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0cG9zaXRpb246ICR2YWx1ZTtcclxuXHR9XHJcbn1cclxuIiwiXHJcbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LXNpemUge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdGV4dCgkcHJvcGVydHkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgYWxpZ25tZW50IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0LCBjZW50ZXIge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246ICRkaXJlY3Rpb247XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuXHRcdFx0JGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHRyYW5zZm9ybSBpbiBjYXBpdGFsaXplLCB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgbm9uZSwgZnVsbC13aWR0aCB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skdHJhbnNmb3JtfSB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFZlcnRpY2FsIFJoeXRobS5cclxuICovXHJcbiBcclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMCB7XHJcblx0JGk6ICRpICogODtcclxuXHJcblx0LnZyLSN7JGl9IHtcclxuXHRcdG1hcmdpbi1ib3R0b206ICN7JGl9cHg7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkei1pbmRleCB7XHJcblx0LnotaW5kZXgtI3ska2V5fSB7XHJcblx0XHR6LWluZGV4OiAkdmFsdWU7XHJcblx0fVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FBUUg7O0dBRUc7QUFZSDs7R0FFRztBQzFCSDs7R0FFRztBQTJDSDs7R0FFRztBRS9DSDs7R0FFRztBQWVIOztHQUVHO0FBTUg7O0dBRUc7QUFlSDs7R0FFRztBQU1ILEFBQUEsQ0FBQyxBQUFBLFdBQVcsQ0FBQztFQUNYLGdCQUFnQixFRnRDVCxPQUF1QjtFRXVDOUIsS0FBSyxFRjNDRSxLQUFvQixHRTRDNUI7O0FBRUQ7O0dBRUc7QUxuREg7O0dBRUc7QU1SSCw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQzFCLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFBRSxPQUFPO0VBQ2hDLE1BQU0sRUFBRSxDQUFDO0VBQUUsT0FBTztFQUNsQixRQUFRLEVBQUUsT0FBTztFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxHQUFHLENBQUM7RUFDRixXQUFXLEVBQUUsb0JBQW9CO0VBQUUsT0FBTztFQUMxQyxTQUFTLEVBQUUsR0FBRztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZB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Q2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxRQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFFBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxF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QixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRC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S0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxF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VTtJQUNyQixXQUFXLEVUekNQLFFBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENo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 */
