@charset "UTF-8";
/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
*::selection {
  background-color: #be2712;
  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: 18px;
  font-size: 1.8rem;
  line-height: 1.5em;
  min-height: 100vh;
  background-color: #fffbfb;
  color: #303030;
  font-family: "Source Sans Pro";
  font-weight: 300;
  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.
 */
.background .content-constraint:before {
  position: absolute;
  top: 1050px;
  left: 0;
  width: 1440px;
  height: 575px;
  background: url("./../images/background-body.svg") no-repeat;
  content: '';
  z-index: -1; }
  @media only screen and (min-width: 1200px) {
    .background .content-constraint:before {
      width: 100%;
      background-size: cover; } }

.breadcrumbs {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  flex-wrap: wrap;
  color: #be2712; }
  .breadcrumbs a:after {
    content: ' / ';
    margin-right: 3px; }
  .breadcrumbs a:hover {
    color: #303030; }

/**
 * Button.
 */

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 250ms ease;
  cursor: pointer;
  font-weight: 400; }
  
  .button svg {
    width: 14px;
    height: 14px; }
  
  .button.has-svg-left {
    padding-left: 15px; }
    
    .button.has-svg-left svg {
      margin-right: 15px; }
  
  .button.has-svg-right {
    padding-right: 15px; }
    
    .button.has-svg-right svg {
      margin-left: 15px; }

/**
 * Button (default).
 */

.button--default {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  height: 42px;
  padding: 8px 25px 9px 25px;
  background-color: #fffbfb;
  color: #be2712;
  border: 2px solid #be2712;
  border-radius: 29px; }
  
  .button--default:hover {
    background-color: #be2712;
    color: white; }

/**
 * Button (green).
 */

.button--green {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  height: 42px;
  padding: 10px 25px;
  background-color: #567369;
  color: white;
  border-radius: 29px; }
  
  .button--green svg {
    position: relative;
    top: 1px;
    color: white; }
  
  .button--green:hover {
    background-color: #48665c; }

/**
 * Button (arrow).
 */
.news-latest__wrap .owl-nav button,
.button--arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  width: 50px;
  background-color: #fffbfb;
  color: white;
  border-radius: 50px;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.2); }
  .news-latest__wrap .owl-nav button svg,
  .button--arrow svg {
    width: 15px;
    height: 22px;
    color: #be2712;
    transition: all 250ms ease; }
  .news-latest__wrap .owl-nav button:hover,
  .button--arrow:hover {
    background-color: #be2712; }
    .news-latest__wrap .owl-nav button:hover svg,
    .button--arrow:hover svg {
      color: white; }

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

/**
 * 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.
 */
label {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.71429em;
  display: block;
  margin-bottom: 5px;
  font-weight: 700; }


select,
input,
textarea {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.71429em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 36px;
  border-radius: 3px;
  padding: 5px 15px;
  background-color: transparent;
  border: 1px solid rgba(72, 102, 92, 0.25); }

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

.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid rgba(72, 102, 92, 0.25); }
  .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; }

.gfield_checkbox li {
  display: flex;
  align-items: center; }
  .gfield_checkbox li label {
    margin: 0 0 0 10px; }

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

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

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

.ginput_container_name {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 899px) {
    .ginput_container_name {
      flex-wrap: wrap; } }
  .ginput_container_name span {
    width: calc(50% - 6px); }
    @media only screen and (max-width: 899px) {
      .ginput_container_name span {
        width: 100%;
        margin-bottom: 20px; } }
    .ginput_container_name span:last-of-type {
      margin: 0; }

.gform_validation_container {
  display: none; }

.hidden_label > label {
  display: none; }

.validation_message {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.14286em;
  margin-top: 5px;
  color: #be2712; }

.validation_error {
  display: flex;
  align-items: center;
  position: relative;
  margin: 0 0 35px;
  color: #be2712; }
  .validation_error > span {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.27273em;
    width: 10px;
    margin-right: 15px;
    color: #be2712;
    font-weight: 700; }
  .validation_error p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.14286em;
    width: calc(100% - 25px); }

/**
 * Heading.
 */
h1,
h2,
h3,
h4,
.heading {
  color: #be2712; }
  h1.is-white,
  h2.is-white,
  h3.is-white,
  h4.is-white,
  .heading.is-white {
    color: white; }
  h1.is-green,
  h2.is-green,
  h3.is-green,
  h4.is-green,
  .heading.is-green {
    color: #48665c; }

/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 54px;
  font-size: 5.4rem;
  line-height: 1.25926em;
  font-family: "Ubuntu";
  font-weight: 700;
  letter-spacing: 1.17px; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 32px;
      font-size: 3.2rem;
      line-height: 1.46875em;
      letter-spacing: 0.89px; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.14286em;
  font-family: "Ubuntu";
  font-weight: 700;
  letter-spacing: 0.94px;
  color: #be2712; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.16667em;
      letter-spacing: 0.67px; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.14286em;
  font-family: "Ubuntu";
  font-weight: 700;
  letter-spacing: 0.78px;
  color: #be2712; }

/**
 * Heading 4.
 */
h4,
.heading-4 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  font-weight: 700;
  letter-spacing: 0.5px; }

/**
 * Heading 5.
 */
h5,
.heading-5 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  font-weight: 700;
  letter-spacing: 0.44px; }

/**
 * Subheading.
 */

.subheading {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  color: #48665c;
  font-weight: 400; }
  
  .subheading.is-big {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em;
    letter-spacing: 0.56px; }
  
  .subheading.is-red {
    color: #be2712; }
  
  .subheading.is-white {
    color: white; }

.link {
  color: #be2712;
  text-decoration: underline;
  transition: all 250ms ease; }
  .link.has-svg-right svg {
    margin-left: 10px; }
  .link.has-svg-left svg {
    margin-right: 10px; }
  .link svg {
    position: relative;
    top: 3px;
    width: 14px;
    height: 15px;
    transition: all 250ms ease;
    color: #be2712; }
  .link:hover svg {
    margin-left: 15px; }

.pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .pagination {
      padding-bottom: 75px; } }
  .pagination h2 {
    display: none; }
  .pagination .nav-links {
    display: flex; }
  .pagination .page-numbers {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    transition: all 250ms ease;
    color: #303030; }
    .pagination .page-numbers.current {
      font-weight: 700;
      color: #be2712; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      margin-right: 15px; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        position: relative;
        top: 2px;
        width: 15px;
        height: 30px;
        color: #303030;
        transition: all 250ms ease; }
      .pagination .page-numbers.prev:hover svg, .pagination .page-numbers.next:hover svg {
        color: #be2712; }
    .pagination .page-numbers.next {
      margin-right: 0;
      margin-left: 5px; }
  .pagination a:hover {
    color: #be2712; }

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

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

/**
 * Components.
 */
/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output p:not(:last-child) {
  margin-bottom: 2em; }

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

.cms-output h5 {
  margin-bottom: 20px; }

.cms-output ol,
.cms-output ul {
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 1em; }
  .cms-output ol li,
  .cms-output ul li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px; }
    .cms-output ol li:last-of-type,
    .cms-output ul li:last-of-type {
      margin-bottom: 0; }
    .cms-output ol li > svg,
    .cms-output ul li > svg {
      position: absolute;
      top: 10px;
      left: 0;
      width: 16px;
      height: 8px;
      color: #be2712; }
    .cms-output ol li > ul,
    .cms-output ul li > ul {
      list-style-type: square; }
      .cms-output ol li > ul li,
      .cms-output ul li > ul li {
        margin-left: 20px;
        padding: 0; }

.cms-output ol {
  list-style-type: decimal;
  margin-left: 20px; }
  .cms-output ol li {
    padding-left: 0; }

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

.cms-output button {
  margin-top: 20px; }

.cms-output a {
  text-decoration: underline;
  color: #be2712;
  transition: all 250ms ease; }
  .cms-output a:hover {
    font-weight: 700; }

.cms-output em {
  color: #be2712; }

.cms-output blockquote {
  position: relative;
  padding: 40px 45px 20px 45px;
  color: #be2712; }
  .cms-output blockquote .icon:before {
    position: absolute;
    font-size: 68px;
    color: rgba(190, 39, 18, 0.11);
    font-weight: 900; }
  .cms-output blockquote .icon:after {
    position: absolute;
    font-size: 47px;
    color: #be2712;
    font-weight: 900; }
  .cms-output blockquote .icon.is-before:before {
    top: 40px;
    left: 0;
    content: "“"; }
  .cms-output blockquote .icon.is-before:after {
    top: 36px;
    left: 13px;
    content: "“"; }
  .cms-output blockquote .icon.is-after:before {
    right: 0;
    bottom: 30px;
    content: "”"; }
  .cms-output blockquote .icon.is-after:after {
    right: 0;
    bottom: 30px;
    content: "”"; }

.cms-output .wp-caption {
  max-width: 100%;
  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: #567369;
    letter-spacing: 0.44px;
    margin-top: 10px; }

.contact-form {
  margin-bottom: 120px; }
  @media only screen and (max-width: 1199px) {
    .contact-form {
      margin-bottom: 70px; } }
  .contact-form .wrapper {
    justify-content: space-between; }

/**
 * Form.
 */
.contact-form__form {
  width: calc(50% - 35px);
  max-width: 440px; }
  @media only screen and (max-width: 899px) {
    .contact-form__form {
      width: calc(50% - 20px); } }
  @media only screen and (max-width: 599px) {
    .contact-form__form {
      width: 100%;
      max-width: 100%;
      margin-bottom: 70px; } }

.contact-form__title {
  margin-bottom: 5px; }

.content-form__form-wrap {
  margin-top: 55px; }

/**
 * Contact.
 */
.contact-form__contact {
  width: calc(50% - 65px);
  max-width: 440px; }
  @media only screen and (max-width: 899px) {
    .contact-form__contact {
      width: calc(50% - 20px); } }
  @media only screen and (max-width: 599px) {
    .contact-form__contact {
      width: 100%;
      max-width: 100%; } }

.contact-form__contact-item {
  align-items: flex-start;
  margin-bottom: 15px;
  margin-left: -30px; }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-item {
      margin-left: 0; } }
  .contact-form__contact-item.is-hours {
    margin-top: 55px; }
  .contact-form__contact-item svg {
    position: relative;
    top: 7px;
    width: 15px;
    height: auto;
    margin-right: 15px;
    color: #303030; }
  .contact-form__contact-item span {
    width: calc(100% - 15px); }

.contact-form__editor {
  margin-top: 50px; }

.content-default {
  margin-bottom: 120px; }
  @media only screen and (max-width: 1199px) {
    .content-default {
      margin-bottom: 70px; } }

.content-default__title {
  margin-bottom: 25px; }

.content-faq {
  margin-bottom: 120px; }
  @media only screen and (max-width: 1199px) {
    .content-faq {
      margin-bottom: 70px; } }

.content-faq__title {
  margin-bottom: 35px; }

.content-faq__questions {
  width: 100%; }

.content-faq__question {
  padding-bottom: 15px; }
  .content-faq__question:last-of-type {
    padding: 0; }

.content-faq__question-head {
  display: flex;
  position: relative;
  width: 100%;
  padding: 13px 25px 15px 25px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  transition: all 250ms ease;
  cursor: pointer; }
  .content-faq__question-head svg {
    display: block;
    position: absolute;
    top: calc(50% - 9px);
    right: 18px;
    width: 18px;
    height: 18px;
    color: rgba(72, 102, 92, 0.22);
    transition: all 400ms ease; }
  .content-faq__question-head:hover, .content-faq__question-head.is-active {
    background-color: #be2712;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.2); }
    .content-faq__question-head:hover .teasers__question-title, .content-faq__question-head.is-active .teasers__question-title {
      color: white; }
    .content-faq__question-head:hover svg, .content-faq__question-head.is-active svg {
      color: white; }
  .content-faq__question-head.is-active svg {
    transform: rotate(180deg); }

.content-faq__question-title {
  transition: all 250ms ease; }

.content-faq__question-body {
  display: none;
  padding: 35px 20px 20px 20px; }

.content-faq__question-answer {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.61111em; }

.content-tabs {
  position: relative;
  margin-bottom: 120px;
  padding: 130px 0 100px 0px;
  background-color: rgba(190, 39, 18, 0.07);
  overflow: hidden; }
  @media only screen and (max-width: 1199px) {
    .content-tabs {
      margin-bottom: 70px;
      padding: 100px 0 70px 0px; } }
  .content-tabs:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1440px;
    height: 62px;
    content: '';
    background: url("./../images/background-tabs.svg") no-repeat;
    z-index: 1; }
    @media only screen and (min-width: 1200px) {
      .content-tabs:before {
        width: 100%;
        background-size: cover;
        background-position: bottom; } }
  .content-tabs .wrapper {
    justify-content: space-between;
    align-items: center; }

.content-tabs__menu {
  position: relative;
  width: calc(50% - 31.5px);
  max-width: 440px;
  margin-left: -100px; }
  @media only screen and (max-width: 1199px) {
    .content-tabs__menu {
      margin-left: 0; } }
  @media only screen and (max-width: 899px) {
    .content-tabs__menu {
      display: none; } }

.content-tabs__menu-item {
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 15px; }
  .content-tabs__menu-item:last-of-type {
    margin: 0; }
  .content-tabs__menu-item.is-active .content-tabs__menu-title, .content-tabs__menu-item:hover .content-tabs__menu-title {
    background-color: #be2712;
    color: white; }
  .content-tabs__menu-item.is-active svg, .content-tabs__menu-item:hover svg {
    color: #be2712; }

.content-tabs__menu-title {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 290px;
  height: 48px;
  padding-left: 20px;
  border-radius: 10px;
  color: #303030;
  background-color: white;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 250ms ease; }

.content-tabs__menu-icon {
  display: flex;
  justify-content: flex-end;
  padding-right: 30px; }
  @media only screen and (max-width: 1199px) {
    .content-tabs__menu-icon {
      padding-right: 10px; } }
  .content-tabs__menu-icon svg {
    display: flex;
    width: 17px;
    height: 17px;
    margin-left: 3px;
    color: #303030;
    transition: all 250ms ease; }

.content-tabs__content {
  position: relative;
  width: calc(50% - 31.5px); }
  @media only screen and (max-width: 899px) {
    .content-tabs__content {
      width: 100%; } }
  .content-tabs__content:before {
    position: absolute;
    top: 15px;
    left: -30px;
    width: 3px;
    height: calc(100% - 30px);
    background-color: #be2712;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .content-tabs__content:before {
        display: none; } }

.content-tabs__content-item {
  display: none; }
  @media only screen and (max-width: 899px) {
    .content-tabs__content-item {
      display: block;
      margin-bottom: 15px; } }
  .content-tabs__content-item.is-first {
    display: block; }
  .content-tabs__content-item:last-of-type {
    margin-bottom: 0; }

.content-tabs__content-head {
  display: none; }
  @media only screen and (max-width: 899px) {
    .content-tabs__content-head {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.28571em;
      position: relative;
      display: block;
      width: 100%;
      background-color: white;
      color: #303030;
      padding: 14px 10px 16px 10px;
      box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
      border-radius: 10px;
      transition: all 250ms ease;
      cursor: pointer; } }
  .content-tabs__content-head svg {
    display: block;
    position: absolute;
    top: calc(50% - 9px);
    right: 18px;
    width: 18px;
    height: 18px;
    color: #be2712;
    transition: all 400ms ease; }
  .content-tabs__content-head:hover, .content-tabs__content-head.is-active {
    background-color: #be2712;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.2);
    color: white; }
    .content-tabs__content-head:hover svg, .content-tabs__content-head.is-active svg {
      color: white; }
  .content-tabs__content-head.is-active svg {
    transform: rotate(180deg); }

@media only screen and (max-width: 899px) {
  .content-tabs__content-body {
    display: none;
    padding: 30px 10px; } }

.footer {
  position: relative;
  height: 460px;
  background-color: #fbfcfc;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .footer {
      height: auto;
      padding: 0 20px; } }
  .footer:before {
    position: absolute;
    top: 0;
    left: 80vw;
    width: 100vw;
    height: 460px;
    background-color: #48665c;
    z-index: 0;
    content: ''; }
    @media only screen and (max-width: 599px) {
      .footer:before {
        top: 80%;
        left: -40px;
        height: 100vh;
        width: 200vw; } }
  .footer:after {
    position: absolute;
    right: -100px;
    bottom: 0;
    width: 540px;
    height: 460px;
    background: url("./../images/footer-tower.svg") no-repeat;
    z-index: 1;
    opacity: 0.4;
    content: ''; }
    @media only screen and (max-width: 599px) {
      .footer:after {
        display: none; } }
  .footer .wrapper {
    height: 460px; }
    @media only screen and (max-width: 599px) {
      .footer .wrapper {
        height: auto; } }

.footer__left {
  justify-content: space-between;
  width: 50%;
  padding: 80px 70px 50px 0;
  color: #48665c; }
  @media only screen and (max-width: 899px) {
    .footer__left {
      align-content: baseline;
      padding: 40px 40px 40px 0; } }
  @media only screen and (max-width: 599px) {
    .footer__left {
      width: 100%;
      padding: 45px 0 25px 0; } }

.footer__right {
  position: relative;
  align-content: space-between;
  width: 50%;
  padding: 80px 0 50px 150px;
  color: white; }
  @media only screen and (max-width: 1199px) {
    .footer__right {
      padding: 80px 0 30px 100px; } }
  @media only screen and (max-width: 899px) {
    .footer__right {
      padding: 40px 0 40px 100px;
      align-content: baseline; } }
  @media only screen and (max-width: 599px) {
    .footer__right {
      width: 100%;
      padding: 80px 0 35px 0; } }
  .footer__right:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 989px;
    height: 460px;
    background: url("./../images/background-footer.svg") no-repeat;
    z-index: 0;
    content: ''; }
    @media only screen and (max-width: 599px) {
      .footer__right:before {
        width: calc(100% + 81px);
        height: 361px;
        margin-left: -41px;
        background: url(./../images/background-footer-mobile.svg) no-repeat;
        background-size: cover; } }
  .footer__right * {
    position: relative;
    z-index: 2; }
  .footer__right a {
    transition: all 250ms ease; }
    .footer__right a:hover {
      color: #303030; }

.footer__title {
  margin-bottom: 20px; }

/**
 * Address.
 */
.footer__address {
  width: 260px; }
  @media only screen and (max-width: 1199px) {
    .footer__address {
      width: 50%; } }
  @media only screen and (max-width: 899px) {
    .footer__address {
      width: 100%;
      margin-bottom: 10px; } }

@media only screen and (max-width: 899px) {
  .footer__address-head {
    position: relative;
    cursor: pointer; } }

.footer__address-head svg {
  display: none; }
  @media only screen and (max-width: 899px) {
    .footer__address-head svg {
      display: block;
      position: absolute;
      top: calc(50% - 9px);
      right: 0;
      width: 17px;
      height: 18px;
      color: #48665c;
      transition: all 500ms ease; } }

.footer__address-head.is-active svg {
  transform: rotate(180deg); }

@media only screen and (max-width: 899px) {
  .footer__address-body {
    display: none;
    max-width: calc(100% - 25px); } }

.footer__address-visit {
  margin: 0 0 30px -27px; }
  @media only screen and (max-width: 899px) {
    .footer__address-visit {
      margin: 0 0 20px -27px; } }
  .footer__address-visit svg {
    position: relative;
    top: 6px;
    width: 17px;
    height: 14px;
    margin-right: 10px;
    color: #48665c; }
  .footer__address-visit span {
    width: calc(100% - 27px); }

.footer__address-post {
  margin-left: -27px; }
  @media only screen and (max-width: 899px) {
    .footer__address-post {
      margin: 0 0 10px -27px; } }
  .footer__address-post svg {
    position: relative;
    top: 6px;
    width: 17px;
    height: 14px;
    margin-right: 10px;
    color: #48665c; }
  .footer__address-post span {
    width: calc(100% - 27px); }

/**
 * Contact.
 */
.footer__contact {
  width: 150px; }
  @media only screen and (max-width: 1199px) {
    .footer__contact {
      width: 50%; } }
  @media only screen and (max-width: 899px) {
    .footer__contact {
      width: 100%; } }

@media only screen and (max-width: 899px) {
  .footer__contact-head {
    position: relative;
    cursor: pointer; } }

.footer__contact-head svg {
  display: none; }
  @media only screen and (max-width: 899px) {
    .footer__contact-head svg {
      display: block;
      position: absolute;
      top: calc(50% - 9px);
      right: 0;
      width: 17px;
      height: 18px;
      color: #48665c;
      transition: all 500ms ease; } }

.footer__contact-head.is-active svg {
  transform: rotate(180deg); }

@media only screen and (max-width: 899px) {
  .footer__contact-body {
    display: none;
    max-width: calc(100% - 25px); } }

.footer__contact-hours {
  margin-bottom: 30px; }

.footer__contact-text {
  margin-bottom: 30px;
  font-style: italic; }

/**
 * Sitemap.
 */
.footer__sitemap {
  width: 50%;
  color: white; }
  @media only screen and (max-width: 899px) {
    .footer__sitemap {
      width: 100%;
      margin-bottom: 10px; } }

@media only screen and (max-width: 899px) {
  .footer__sitemap-head {
    position: relative;
    cursor: pointer; } }

.footer__sitemap-head svg {
  display: none; }
  @media only screen and (max-width: 899px) {
    .footer__sitemap-head svg {
      display: block;
      position: absolute;
      top: calc(50% - 9px);
      right: 0;
      width: 17px;
      height: 18px;
      color: white;
      transition: all 500ms ease; } }

.footer__sitemap-head.is-active svg {
  transform: rotate(180deg); }

@media only screen and (max-width: 899px) {
  .footer__sitemap-body {
    display: none;
    max-width: calc(100% - 25px); } }

/**
 * Disclaimer.
 */
.footer__disclaimer {
  width: 50%;
  color: white; }
  @media only screen and (max-width: 899px) {
    .footer__disclaimer {
      width: 100%; } }

@media only screen and (max-width: 899px) {
  .footer__disclaimer-head {
    position: relative;
    cursor: pointer; } }

.footer__disclaimer-head svg {
  display: none; }
  @media only screen and (max-width: 899px) {
    .footer__disclaimer-head svg {
      display: block;
      position: absolute;
      top: calc(50% - 9px);
      right: 0;
      width: 17px;
      height: 18px;
      color: white;
      transition: all 500ms ease; } }

.footer__disclaimer-head.is-active svg {
  transform: rotate(180deg); }

@media only screen and (max-width: 899px) {
  .footer__disclaimer-body {
    display: none;
    max-width: calc(100% - 25px); } }

/**
 * Social.
 */
.footer__social-wrap {
  width: 100%; }
  @media only screen and (max-width: 899px) {
    .footer__social-wrap {
      position: initial; } }

.footer__social {
  align-items: center;
  width: 50%; }
  @media only screen and (max-width: 1199px) {
    .footer__social {
      width: 100%;
      margin-bottom: 40px; } }
  @media only screen and (max-width: 899px) {
    .footer__social {
      margin: 40px 0 0 0; } }
  .footer__social a {
    display: block; }
    .footer__social a svg {
      display: block;
      width: 16px;
      height: auto;
      color: white;
      margin-right: 10px;
      transition: all 250ms ease; }
      .footer__social a svg:hover {
        color: #303030; }

.footer__developed-by {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.71429em;
  width: 50%; }
  @media only screen and (min-width: 1200px) {
    .footer__developed-by {
      width: fit-content;
      position: absolute;
      left: 50%; } }
  @media only screen and (max-width: 1199px) {
    .footer__developed-by {
      width: 100%; } }
  @media only screen and (max-width: 899px) {
    .footer__developed-by {
      position: absolute;
      bottom: 40px; } }
  @media only screen and (max-width: 599px) {
    .footer__developed-by {
      position: relative;
      bottom: auto;
      margin-top: 70px; } }

.google-maps {
  width: 100%; }

.google-maps__map {
  width: calc(100% - 585px);
  height: 400px; }
  @media only screen and (max-width: 899px) {
    .google-maps__map {
      width: 50%; } }
  @media only screen and (max-width: 599px) {
    .google-maps__map {
      width: 100%; } }
  .google-maps__map > div {
    width: 100%;
    height: 100%; }

.google-maps__image {
  position: relative;
  width: 585px;
  height: 400px; }
  @media only screen and (max-width: 899px) {
    .google-maps__image {
      width: 50%; } }
  @media only screen and (max-width: 599px) {
    .google-maps__image {
      width: 100%; } }

.header-search {
  min-height: 710px;
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .header-search {
      margin-bottom: 75px; } }
  .header-search .wrapper {
    position: relative;
    z-index: 40; }

/**
 * Content.
 */
.header-search__subtitle {
  margin-bottom: 10px;
  padding-top: 80px; }
  @media only screen and (max-width: 599px) {
    .header-search__subtitle {
      padding-top: 35px;
      margin-bottom: 20px; } }

.header-search__title {
  max-width: 650px;
  margin-bottom: 75px; }
  @media only screen and (max-width: 899px) {
    .header-search__title {
      width: 100%; } }
  @media only screen and (max-width: 599px) {
    .header-search__title {
      margin-bottom: 40px; } }

.header-search__form {
  width: 610px;
  height: 47px;
  margin-bottom: 120px; }
  @media only screen and (max-width: 899px) {
    .header-search__form {
      width: 100%;
      margin-bottom: 60px; } }

.header-search__links {
  width: calc(100% + 24px);
  margin: 0 -12px; }
  @media only screen and (max-width: 899px) {
    .header-search__links {
      width: 100%;
      margin: 0; } }

.header-search__link {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  width: calc(20% - 24px);
  height: 165px;
  margin: 0 12px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.2);
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .header-search__link {
      justify-content: flex-start;
      align-items: center;
      width: 100%;
      height: 50px;
      margin: 10px 0 0 0;
      padding: 0 30px; } }
  @media only screen and (max-width: 599px) {
    .header-search__link {
      padding: 0 25px; } }
  .header-search__link svg {
    width: 100%;
    height: 34px;
    margin-bottom: 15px;
    transition: all 250ms ease;
    color: #be2712; }
    @media only screen and (max-width: 899px) {
      .header-search__link svg {
        width: 20px;
        height: 20px;
        margin: 0 15px 0 0; } }
  .header-search__link span {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25em;
    color: #be2712;
    transition: all 250ms ease; }
  .header-search__link:hover {
    background-color: #be2712; }
    .header-search__link:hover svg,
    .header-search__link:hover span {
      color: white; }

/**
 * Background.
 */
.header-search__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 710px;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .header-search__background {
      height: 482px; } }
  .header-search__background img {
    z-index: 10; }
  .header-search__background:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 975px;
    height: 710px;
    background: url("./../images/header-search.svg") no-repeat;
    background-size: cover;
    background-position: right;
    content: '';
    z-index: 20; }
    @media only screen and (max-width: 1199px) {
      .header-search__background:before {
        right: 160px;
        left: auto; } }
    @media only screen and (max-width: 899px) {
      .header-search__background:before {
        right: 100px; } }
    @media only screen and (max-width: 599px) {
      .header-search__background:before {
        top: -105px;
        right: 35px; } }
  .header-search__background:after {
    position: absolute;
    bottom: -170px;
    left: 0;
    width: 1440px;
    height: 204px;
    background: url("./../images/header.svg") no-repeat;
    content: '';
    z-index: 30; }
    @media only screen and (min-width: 1200px) {
      .header-search__background:after {
        width: 100%;
        background-size: cover; } }
    @media only screen and (max-width: 599px) {
      .header-search__background:after {
        bottom: -160px; } }

.header-text {
  position: relative;
  margin-bottom: 100px;
  padding: 45px 0;
  background-color: #f8f0ef; }
  @media only screen and (max-width: 899px) {
    .header-text {
      margin-bottom: 75px;
      background-color: white;
      padding: 0; } }
  .header-text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 365px;
    height: 482px;
    background: url("./../images/tower-red.svg");
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .header-text:after {
        display: none; } }
  .header-text .wrapper {
    align-items: center; }
    @media only screen and (max-width: 899px) {
      .header-text .wrapper {
        flex-direction: column-reverse;
        padding: 0; } }

.header-text__text {
  position: relative;
  width: 65%;
  padding-right: 100px;
  z-index: 10; }
  @media only screen and (max-width: 1199px) {
    .header-text__text {
      width: 55%;
      padding-right: 50px; } }
  @media only screen and (max-width: 899px) {
    .header-text__text {
      width: 100%;
      padding: 0; } }
  @media only screen and (max-width: 599px) {
    .header-text__text {
      width: 100%; } }

.header-text__image {
  position: relative;
  width: 35%;
  height: 387px; }
  @media only screen and (max-width: 1199px) {
    .header-text__image {
      width: 45%; } }
  @media only screen and (max-width: 899px) {
    .header-text__image {
      width: 100%;
      overflow: hidden; } }
  @media only screen and (max-width: 599px) {
    .header-text__image {
      height: 200px; } }
  .header-text__image img {
    height: 100%;
    width: auto;
    max-width: fit-content; }
    @media only screen and (max-width: 899px) {
      .header-text__image img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: 100%;
        height: 100%;
        font-family: 'object-fit: cover;';
        object-fit: cover; } }
  .header-text__image:before {
    position: absolute;
    bottom: 0;
    left: -115px;
    width: 229px;
    height: 387px;
    background: url("./../images/image-overlay.svg") no-repeat;
    content: ''; }
  @media only screen and (max-width: 899px) {
    .header-text__image:after {
      position: absolute;
      bottom: -150px;
      left: 0;
      width: 100%;
      height: 228px;
      background: url("./../images/header-text-mobile.svg") no-repeat;
      background-size: cover;
      content: ''; } }
  @media only screen and (max-width: 599px) {
    .header-text__image:after {
      bottom: -175px; } }

@media only screen and (max-width: 899px) {
  .header-text__head {
    width: 100%;
    background-color: #f8f0ef;
    padding: 40px 60px 20px 60px; } }

@media only screen and (max-width: 599px) {
  .header-text__head {
    padding: 40px 20px 20px 20px; } }

.header-text__head .breadcrumbs {
  margin-bottom: 5px; }

.header-text__date {
  margin-bottom: 5px;
  color: #be2712; }

.header-text__title {
  margin-bottom: 35px; }
  @media only screen and (max-width: 899px) {
    .header-text__title {
      margin: 0; } }

.header-text__editor {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.9em; }
  @media only screen and (max-width: 899px) {
    .header-text__editor {
      padding: 55px 60px 0 60px; } }
  @media only screen and (max-width: 599px) {
    .header-text__editor {
      padding: 55px 20px 0 20px; } }
  .header-text__editor ul li svg {
    top: 17px; }

.header-text__link {
  display: block;
  padding: 20px 0 0 0;
  text-decoration: none; }
  @media only screen and (max-width: 899px) {
    .header-text__link {
      padding: 20px 60px 0 60px; } }
  @media only screen and (max-width: 599px) {
    .header-text__link {
      padding: 20px 20px 0 20px; } }

.header {
  position: fixed;
  width: 100%;
  height: 110px;
  overflow: hidden;
  z-index: 99; }
  @media only screen and (max-width: 599px) {
    .header {
      height: 70px; } }
  .header:hover {
    overflow: visible; }
  .header.is-scrolled {
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1); }

.header__container {
  height: 110px; }
  @media only screen and (max-width: 599px) {
    .header__container {
      height: 70px; } }

/**
 * Top.
 */
.header__top {
  background-color: #f7f9f8; }
  .header__top .wrapper {
    align-items: center;
    justify-content: space-between;
    height: 55px;
    padding-left: 160px; }
    @media only screen and (max-width: 899px) {
      .header__top .wrapper {
        padding-left: 170px; } }
    @media only screen and (max-width: 599px) {
      .header__top .wrapper {
        height: 35px;
        padding-left: 70px; } }

.header__phone {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  color: #48665c; }
  @media only screen and (max-width: 599px) {
    .header__phone {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 2em; } }

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

.header__menu-top li {
  margin-left: 30px; }
  .header__menu-top li a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333em;
    color: #48665c; }
  .header__menu-top li:hover a {
    color: #303030; }
  .header__menu-top li.current-menu-item a {
    font-weight: 700; }

.header__menu-top #menu-item-213 a {
  color: #be2712; }

/**
 * Bottom.
 */
.header__main {
  background-color: white; }
  .header__main .wrapper {
    align-items: center;
    justify-content: space-between;
    position: relative;
    height: 55px;
    padding-left: 160px; }
    @media only screen and (max-width: 899px) {
      .header__main .wrapper {
        padding-left: 170px; } }
    @media only screen and (max-width: 599px) {
      .header__main .wrapper {
        height: 35px;
        padding-left: 70px; } }

.header__logo {
  position: absolute;
  top: -57px;
  left: 34px; }
  @media only screen and (max-width: 599px) {
    .header__logo {
      left: 0;
      top: -42px; } }
  .header__logo img {
    display: block;
    width: 120px;
    height: auto; }
    @media only screen and (max-width: 599px) {
      .header__logo img {
        width: 82px; } }

.header__logo-name img {
  display: block;
  width: 264px;
  height: 10px; }
  @media only screen and (max-width: 599px) {
    .header__logo-name img {
      width: 100%;
      max-width: 158px;
      height: auto; } }

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

.header__menu-main > li {
  position: relative;
  margin-left: 30px; }
  .header__menu-main > li a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.33333em;
    color: black; }
  .header__menu-main > li:hover > a, .header__menu-main > li.current-menu-item > a {
    color: #be2712; }
  .header__menu-main > li:hover {
    z-index: 99; }
    .header__menu-main > li:hover > .submenu-container {
      opacity: 1;
      top: 100%; }
  .header__menu-main > li:last-of-type .submenu-container .submenu > li .submenu-container {
    left: -100%; }

.header__menu-main .submenu-container {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate(-50%, 0%);
  width: max-content;
  width: 190px;
  padding-top: 16px;
  opacity: 0;
  transition: all 500ms ease; }
  .header__menu-main .submenu-container .submenu {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    background-color: white;
    border-radius: 5px;
    padding: 20px 0; }
    .header__menu-main .submenu-container .submenu > li {
      position: relative;
      padding: 0 25px; }
      .header__menu-main .submenu-container .submenu > li > a {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.71429em;
        display: flex;
        width: 100%;
        padding: 5px 0;
        transition: all 250ms ease;
        color: #303030;
        border-bottom: 1px solid rgba(190, 39, 18, 0.2); }
      .header__menu-main .submenu-container .submenu > li.current-menu-item > a, .header__menu-main .submenu-container .submenu > li:hover > a {
        color: #be2712; }
      .header__menu-main .submenu-container .submenu > li:last-of-type > a {
        border-bottom: 0; }
      .header__menu-main .submenu-container .submenu > li:hover {
        z-index: 99; }
        .header__menu-main .submenu-container .submenu > li:hover > .submenu-container {
          opacity: 1;
          z-index: 100; }
      .header__menu-main .submenu-container .submenu > li .submenu-container {
        top: -25px;
        left: 100%;
        transform: translate(0%, 0%); }
        .header__menu-main .submenu-container .submenu > li .submenu-container .submenu {
          background-color: #fff9f8;
          box-shadow: 4px 2px 4px 0 rgba(0, 0, 0, 0.2); }

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

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

/**
 * Main menu.
 */
.navigation-mobile__main {
  padding: 5px 0 20px 0;
  border-bottom: 5px solid rgba(86, 115, 105, 0.18);
  margin-bottom: 30px; }
  .navigation-mobile__main > li {
    position: relative; }
    .navigation-mobile__main > li.current_page_ancestor > a, .navigation-mobile__main > li.current-menu-item > a {
      color: #be2712; }
    .navigation-mobile__main > li.is-active > a {
      color: #be2712; }
      .navigation-mobile__main > li.is-active > a > span svg {
        transform: rotate(-90deg); }
    .navigation-mobile__main > li > a {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.27778em;
      display: block;
      position: relative;
      width: 100%;
      margin: 20px 0;
      color: black; }
      .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% - 8px);
          right: 0;
          width: 18px;
          height: 18px;
          margin-left: 5px;
          transition: all 500ms ease;
          color: #be2712; }
    .navigation-mobile__main > li > .submenu-container {
      padding: 15px 0; }
    .navigation-mobile__main > li .submenu-container {
      display: none;
      position: relative;
      width: 100vw;
      margin-left: -50px;
      padding-left: 75px;
      background-color: rgba(190, 39, 18, 0.05); }
      @media only screen and (max-width: 899px) {
        .navigation-mobile__main > li .submenu-container {
          margin-left: -60px;
          padding-left: 85px; } }
      @media only screen and (max-width: 599px) {
        .navigation-mobile__main > li .submenu-container {
          margin-left: -20px;
          padding-left: 45px; } }
      .navigation-mobile__main > li .submenu-container li a {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 2.0625em;
        position: relative;
        display: block;
        width: calc(100% - 50px);
        margin-bottom: 10px;
        color: black; }
        @media only screen and (max-width: 899px) {
          .navigation-mobile__main > li .submenu-container li a {
            width: calc(100% - 60px); } }
        @media only screen and (max-width: 599px) {
          .navigation-mobile__main > li .submenu-container li a {
            width: calc(100% - 20px); } }
        .navigation-mobile__main > li .submenu-container li a svg {
          position: absolute;
          top: calc(50% - 8px);
          right: 0;
          width: 18px;
          height: 18px;
          margin-left: 5px;
          transition: all 500ms ease;
          color: #be2712; }
      .navigation-mobile__main > li .submenu-container li .submenu-container {
        background: transparent;
        padding-bottom: 15px; }
      .navigation-mobile__main > li .submenu-container li.current_page_ancestor > a, .navigation-mobile__main > li .submenu-container li.current-menu-item > a {
        color: #be2712; }
      .navigation-mobile__main > li .submenu-container li.is-active > a {
        color: #be2712; }
        .navigation-mobile__main > li .submenu-container li.is-active > a > span svg {
          transform: rotate(-90deg); }
      .navigation-mobile__main > li .submenu-container li:last-of-type a {
        margin-bottom: 0; }

/**
 * Top menu.
 */
.navigation-mobile__top li {
  margin-bottom: 20px; }
  .navigation-mobile__top li a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.83333em; }
  .navigation-mobile__top li.current_page_ancestor a, .navigation-mobile__top li.current-menu-item a {
    font-weight: 700; }

.navigation-mobile__phone {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.0625em; }

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

.news-item {
  position: relative;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: all 250ms ease; }
  .news-item:hover {
    background-color: #be2712;
    color: white; }
    .news-item:hover .news-item__more,
    .news-item:hover .news-item__title {
      color: white; }
      .news-item:hover .news-item__more svg,
      .news-item:hover .news-item__title svg {
        color: white;
        margin-left: 20px; }
    .news-item:hover .news-item__date {
      background-color: rgba(190, 39, 18, 0.64);
      color: white; }
    .news-item:hover .news-item__image:before {
      opacity: 1; }
  .news-item a {
    display: block;
    height: 100%; }

.news-item__image {
  position: relative;
  width: 100%;
  height: 195px; }
  .news-item__image:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(190, 39, 18, 0.3);
    content: '';
    z-index: 99;
    opacity: 0;
    transition: all 250ms ease; }

.news-item__date {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 105px;
  height: 26px;
  background-color: rgba(255, 255, 255, 0.9);
  color: #be2712;
  border-radius: 10px 0 0 0;
  transition: all 250ms ease; }

.news-item__body {
  padding: 20px 25px; }

.news-item__title {
  margin-bottom: 20px; }

.news-item__more {
  margin-top: 20px;
  text-decoration: none; }
  .news-item__more svg {
    transition: all 250ms ease; }

.news-latest {
  position: relative;
  margin-bottom: 120px;
  padding-bottom: 160px; }
  @media only screen and (max-width: 1199px) {
    .news-latest {
      margin-bottom: 70px; } }
  .news-latest:before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1440px;
    height: 575px;
    background: url("./../images/background-news.svg") no-repeat;
    content: '';
    z-index: -1; }
    @media (min-width: 1400px) {
      .news-latest:before {
        width: 100%;
        background-size: cover; } }

.news-latest__title {
  margin-bottom: 75px; }
  @media only screen and (max-width: 599px) {
    .news-latest__title {
      margin-bottom: 115px; } }

.news-latest__wrap .news-item {
  width: 300px; }
  @media only screen and (max-width: 599px) {
    .news-latest__wrap .news-item {
      width: 270px; } }

.news-latest__wrap .owl-stage-outer {
  overflow: visible;
  width: 100vw; }

.news-latest__wrap .owl-nav {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: -120px;
  right: 0;
  width: 110px; }
  @media only screen and (max-width: 599px) {
    .news-latest__wrap .owl-nav {
      left: 0;
      top: -90px; } }
  .news-latest__wrap .owl-nav button.disabled {
    opacity: 0.5;
    cursor: default; }
    .news-latest__wrap .owl-nav button.disabled:hover {
      background-color: white; }
      .news-latest__wrap .owl-nav button.disabled:hover svg {
        color: #be2712; }

.news-list {
  position: relative;
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .news-list {
      margin-bottom: 70px; } }
  .news-list:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 482px;
    background-color: rgba(190, 39, 18, 0.05);
    content: '';
    z-index: 0; }
  .news-list:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 365px;
    height: 482px;
    background: url("./../images/tower-red.svg");
    content: '';
    z-index: 1; }

.news-list__title {
  position: relative;
  z-index: 10;
  padding: 120px 0 80px 0; }
  @media only screen and (max-width: 899px) {
    .news-list__title {
      padding: 70px 0 70px 0; } }

.news-list__wrap {
  position: relative;
  z-index: 10;
  width: calc(100% + 30px);
  margin: -15px; }
  @media only screen and (max-width: 599px) {
    .news-list__wrap {
      width: 100%;
      margin: -15px 0; } }
  .news-list__wrap .news-item {
    width: calc(33.3333% - 30px);
    margin: 15px; }
    @media only screen and (max-width: 899px) {
      .news-list__wrap .news-item {
        width: calc(50% - 30px); } }
    @media only screen and (max-width: 599px) {
      .news-list__wrap .news-item {
        width: 100%;
        margin: 15px 0; } }

.news-single {
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .news-single {
      margin-bottom: 75px; } }

.search-form__desktop {
  position: relative;
  width: 100%;
  height: 47px; }
  @media only screen and (max-width: 599px) {
    .search-form__desktop {
      display: none; } }
  .search-form__desktop input {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25em;
    display: flex;
    align-items: center;
    width: 100%;
    height: 47px;
    background-color: white;
    border-radius: 36px;
    padding: 0 30px;
    color: #be2712; }
    .search-form__desktop input::placeholder {
      color: rgba(190, 39, 18, 0.33); }
  .search-form__desktop button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 0;
    width: 200px;
    height: 47px;
    border-radius: 29px;
    background-color: #be2712;
    transition: all 250ms ease; }
    .search-form__desktop button svg {
      position: relative;
      width: 19px;
      height: auto;
      margin-right: 15px;
      color: white; }
    .search-form__desktop button span {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.27778em;
      color: white; }
    .search-form__desktop button:hover {
      width: 210px; }

.search-form__mobile {
  position: relative; }
  @media only screen and (min-width: 600px) {
    .search-form__mobile {
      display: none; } }
  .search-form__mobile input {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em;
    display: flex;
    align-items: center;
    width: 100%;
    height: 47px;
    background-color: #be2712;
    color: white;
    border-radius: 36px;
    padding: 0 20px 0 50px; }
    .search-form__mobile input::placeholder {
      color: rgba(255, 255, 255, 0.7); }
  .search-form__mobile button {
    position: absolute;
    top: 7px;
    left: 20px; }
    .search-form__mobile button svg {
      width: 20px;
      height: 34px;
      color: white; }

.search-item {
  position: relative;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: all 250ms ease; }
  .search-item:hover {
    background-color: #be2712;
    color: white; }
    .search-item:hover .search-item__more,
    .search-item:hover .search-item__title {
      color: white; }
      .search-item:hover .search-item__more svg,
      .search-item:hover .search-item__title svg {
        color: white;
        margin-left: 20px; }
    .search-item:hover .search-item__date {
      background-color: rgba(190, 39, 18, 0.64);
      color: white; }
    .search-item:hover .search-item__image:before {
      opacity: 1; }
    .search-item:hover .search-item__breadcrumbs a,
    .search-item:hover .search-item__breadcrumbs span {
      color: white; }
  .search-item a {
    display: block;
    height: 100%; }

.search-item__image {
  position: relative;
  width: 100%;
  height: 195px; }
  .search-item__image a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(190, 39, 18, 0.3);
    content: '';
    z-index: 99;
    opacity: 0;
    transition: all 250ms ease; }

.search-item__date {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 105px;
  height: 26px;
  background-color: rgba(255, 255, 255, 0.9);
  color: #be2712;
  border-radius: 10px 0 0 0;
  transition: all 250ms ease; }

.search-item__body {
  padding: 20px 25px; }

.search-item__title {
  margin-bottom: 20px; }

.search-item__more {
  margin-top: 20px;
  text-decoration: none; }
  .search-item__more svg {
    transition: all 250ms ease; }

.search-item__breadcrumbs span,
.search-item__breadcrumbs a {
  color: #303030; }

.search-results {
  position: relative; }
  .search-results:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 482px;
    background-color: rgba(190, 39, 18, 0.05);
    content: '';
    z-index: 0; }
  .search-results:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 365px;
    height: 482px;
    background: url("./../images/tower-red.svg");
    content: '';
    z-index: 1; }
  .search-results .navigation {
    margin-top: 100px; }
    @media only screen and (max-width: 899px) {
      .search-results .navigation {
        margin-top: 70px; } }

.search-results__title {
  position: relative;
  z-index: 10;
  padding: 120px 0 80px 0; }
  @media only screen and (max-width: 899px) {
    .search-results__title {
      padding: 70px 0 70px 0; } }

.search-results__wrap {
  position: relative;
  z-index: 10;
  width: calc(100% + 30px);
  margin: -15px; }
  @media only screen and (max-width: 599px) {
    .search-results__wrap {
      width: 100%;
      margin: -15px 0; } }
  .search-results__wrap .search-item {
    width: calc(33.3333% - 30px);
    margin: 15px; }
    @media only screen and (max-width: 899px) {
      .search-results__wrap .search-item {
        width: calc(50% - 30px); } }
    @media only screen and (max-width: 599px) {
      .search-results__wrap .search-item {
        width: 100%;
        margin: 15px 0; } }

.text-faq {
  margin-bottom: 120px; }
  @media only screen and (max-width: 1199px) {
    .text-faq {
      margin-bottom: 70px; } }
  .text-faq .wrapper {
    justify-content: space-between; }

/**
 * Text.
 */
.text-faq__text {
  width: calc(50% - 35px); }
  @media only screen and (max-width: 599px) {
    .text-faq__text {
      width: 100%;
      margin-bottom: 70px; } }

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

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

.text-faq__editor {
  margin-bottom: 50px; }

/**
 * FAQ.
 */
.text-faq__questions {
  width: calc(50% - 35px); }
  @media only screen and (max-width: 599px) {
    .text-faq__questions {
      width: 100%; } }

.text-faq__question {
  padding-bottom: 15px; }
  .text-faq__question:last-of-type {
    padding: 0; }

.text-faq__question-head {
  display: flex;
  position: relative;
  width: 100%;
  padding: 13px 25px 15px 25px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  transition: all 250ms ease;
  cursor: pointer; }
  .text-faq__question-head svg {
    display: block;
    position: absolute;
    top: calc(50% - 9px);
    right: 18px;
    width: 18px;
    height: 18px;
    color: #be2712;
    transition: all 400ms ease; }
  .text-faq__question-head:hover, .text-faq__question-head.is-active {
    background-color: #be2712;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.2); }
    .text-faq__question-head:hover .teasers__question-title, .text-faq__question-head.is-active .teasers__question-title {
      color: white; }
    .text-faq__question-head:hover svg, .text-faq__question-head.is-active svg {
      color: white; }
  .text-faq__question-head.is-active svg {
    transform: rotate(180deg); }

.text-faq__question-title {
  transition: all 250ms ease; }

.text-faq__question-body {
  display: none;
  padding: 25px 20px 10px 20px; }

/**
 * 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` rgba(0, 0, 0, 0.33)-33 color utility.
			 */
.color-black-33 {
  color: rgba(0, 0, 0, 0.33); }

/**
			 * `background-color` rgba(0, 0, 0, 0.33)-33 color utility.
			 */
.background-color-black-33 {
  background-color: rgba(0, 0, 0, 0.33); }

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

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

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

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

/**
			 * `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.9)-90 color utility.
			 */
.color-white-90 {
  color: rgba(255, 255, 255, 0.9); }

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

/**
			 * `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` #303030-100 color utility.
			 */
.color-grey-100 {
  color: #303030; }

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

/**
			 * `color` #fbfcfc-100 color utility.
			 */
.color-grey-light-100 {
  color: #fbfcfc; }

/**
			 * `background-color` #fbfcfc-100 color utility.
			 */
.background-color-grey-light-100 {
  background-color: #fbfcfc; }

/**
			 * `color` #fffbfb-400 color utility.
			 */
.color-red-400 {
  color: #fffbfb; }

/**
			 * `background-color` #fffbfb-400 color utility.
			 */
.background-color-red-400 {
  background-color: #fffbfb; }

/**
			 * `color` #f8f0ef-300 color utility.
			 */
.color-red-300 {
  color: #f8f0ef; }

/**
			 * `background-color` #f8f0ef-300 color utility.
			 */
.background-color-red-300 {
  background-color: #f8f0ef; }

/**
			 * `color` #fff9f8-200 color utility.
			 */
.color-red-200 {
  color: #fff9f8; }

/**
			 * `background-color` #fff9f8-200 color utility.
			 */
.background-color-red-200 {
  background-color: #fff9f8; }

/**
			 * `color` #be2712-100 color utility.
			 */
.color-red-100 {
  color: #be2712; }

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

/**
			 * `color` rgba(190, 39, 18, 0.64)-64 color utility.
			 */
.color-red-64 {
  color: rgba(190, 39, 18, 0.64); }

/**
			 * `background-color` rgba(190, 39, 18, 0.64)-64 color utility.
			 */
.background-color-red-64 {
  background-color: rgba(190, 39, 18, 0.64); }

/**
			 * `color` rgba(190, 39, 18, 0.33)-33 color utility.
			 */
.color-red-33 {
  color: rgba(190, 39, 18, 0.33); }

/**
			 * `background-color` rgba(190, 39, 18, 0.33)-33 color utility.
			 */
.background-color-red-33 {
  background-color: rgba(190, 39, 18, 0.33); }

/**
			 * `color` rgba(190, 39, 18, 0.3)-30 color utility.
			 */
.color-red-30 {
  color: rgba(190, 39, 18, 0.3); }

/**
			 * `background-color` rgba(190, 39, 18, 0.3)-30 color utility.
			 */
.background-color-red-30 {
  background-color: rgba(190, 39, 18, 0.3); }

/**
			 * `color` rgba(190, 39, 18, 0.2)-20 color utility.
			 */
.color-red-20 {
  color: rgba(190, 39, 18, 0.2); }

/**
			 * `background-color` rgba(190, 39, 18, 0.2)-20 color utility.
			 */
.background-color-red-20 {
  background-color: rgba(190, 39, 18, 0.2); }

/**
			 * `color` rgba(190, 39, 18, 0.11)-11 color utility.
			 */
.color-red-11 {
  color: rgba(190, 39, 18, 0.11); }

/**
			 * `background-color` rgba(190, 39, 18, 0.11)-11 color utility.
			 */
.background-color-red-11 {
  background-color: rgba(190, 39, 18, 0.11); }

/**
			 * `color` rgba(190, 39, 18, 0.07)-7 color utility.
			 */
.color-red-7 {
  color: rgba(190, 39, 18, 0.07); }

/**
			 * `background-color` rgba(190, 39, 18, 0.07)-7 color utility.
			 */
.background-color-red-7 {
  background-color: rgba(190, 39, 18, 0.07); }

/**
			 * `color` rgba(190, 39, 18, 0.05)-5 color utility.
			 */
.color-red-5 {
  color: rgba(190, 39, 18, 0.05); }

/**
			 * `background-color` rgba(190, 39, 18, 0.05)-5 color utility.
			 */
.background-color-red-5 {
  background-color: rgba(190, 39, 18, 0.05); }

/**
			 * `color` #48665c-100 color utility.
			 */
.color-green-100 {
  color: #48665c; }

/**
			 * `background-color` #48665c-100 color utility.
			 */
.background-color-green-100 {
  background-color: #48665c; }

/**
			 * `color` rgba(72, 102, 92, 0.25)-25 color utility.
			 */
.color-green-25 {
  color: rgba(72, 102, 92, 0.25); }

/**
			 * `background-color` rgba(72, 102, 92, 0.25)-25 color utility.
			 */
.background-color-green-25 {
  background-color: rgba(72, 102, 92, 0.25); }

/**
			 * `color` rgba(72, 102, 92, 0.22)-22 color utility.
			 */
.color-green-22 {
  color: rgba(72, 102, 92, 0.22); }

/**
			 * `background-color` rgba(72, 102, 92, 0.22)-22 color utility.
			 */
.background-color-green-22 {
  background-color: rgba(72, 102, 92, 0.22); }

/**
			 * `color` #fbfcfc-2 color utility.
			 */
.color-green-2 {
  color: #fbfcfc; }

/**
			 * `background-color` #fbfcfc-2 color utility.
			 */
.background-color-green-2 {
  background-color: #fbfcfc; }

/**
			 * `color` #f7f9f8-200 color utility.
			 */
.color-green-light-200 {
  color: #f7f9f8; }

/**
			 * `background-color` #f7f9f8-200 color utility.
			 */
.background-color-green-light-200 {
  background-color: #f7f9f8; }

/**
			 * `color` #567369-100 color utility.
			 */
.color-green-light-100 {
  color: #567369; }

/**
			 * `background-color` #567369-100 color utility.
			 */
.background-color-green-light-100 {
  background-color: #567369; }

/**
			 * `color` rgba(86, 115, 105, 0.39)-39 color utility.
			 */
.color-green-light-39 {
  color: rgba(86, 115, 105, 0.39); }

/**
			 * `background-color` rgba(86, 115, 105, 0.39)-39 color utility.
			 */
.background-color-green-light-39 {
  background-color: rgba(86, 115, 105, 0.39); }

/**
			 * `color` rgba(86, 115, 105, 0.18)-18 color utility.
			 */
.color-green-light-18 {
  color: rgba(86, 115, 105, 0.18); }

/**
			 * `background-color` rgba(86, 115, 105, 0.18)-18 color utility.
			 */
.background-color-green-light-18 {
  background-color: rgba(86, 115, 105, 0.18); }

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

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

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

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

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

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.5em; }

.text-xs-h2 {
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1.26471em; }

.text-xs-h3 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.14286em; }

.text-xs-h4 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 0.82143em; }

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

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

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.5em; }
  .text-sm-h2 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.26471em; }
  .text-sm-h3 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.14286em; }
  .text-sm-h4 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 0.82143em; }
  .text-sm-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.11111em; }
  .text-sm-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.5em; }
  .text-md-h2 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.26471em; }
  .text-md-h3 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.14286em; }
  .text-md-h4 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 0.82143em; }
  .text-md-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.11111em; }
  .text-md-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.5em; }
  .text-lg-h2 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.26471em; }
  .text-lg-h3 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.14286em; }
  .text-lg-h4 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 0.82143em; }
  .text-lg-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.11111em; }
  .text-lg-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.5em; }
  .text-xl-h2 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.26471em; }
  .text-xl-h3 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.14286em; }
  .text-xl-h4 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 0.82143em; }
  .text-xl-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.11111em; }
  .text-xl-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5em; } }

/**
 * 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsImdlbmVyaWMvX2Jhc2Uuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJvYmplY3RzL19iYWNrZ3JvdW5kLnNjc3MiLCJvYmplY3RzL19icmVhZGNydW1icy5zY3NzIiwib2JqZWN0cy9fYnV0dG9ucy5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJvYmplY3RzL19jb250ZW50LWNvbnN0cmFpbnQuc2NzcyIsIm9iamVjdHMvX2ZsZXguc2NzcyIsIm9iamVjdHMvX2Zvcm0uc2NzcyIsIm9iamVjdHMvX2hlYWRpbmdzLnNjc3MiLCJvYmplY3RzL19saW5rcy5zY3NzIiwib2JqZWN0cy9fcGFnaW5hdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LWRlZmF1bHQuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtZmFxLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LXRhYnMuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fZ29vZ2xlLW1hcHMuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci1zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci10ZXh0LnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX25hdmlnYXRpb24tbW9iaWxlLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX25ld3MtbGF0ZXN0LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX25ld3Mtc2luZ2xlLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJjb21wb25lbnRzL190ZXh0LWZhcS5zY3NzIiwidXRpbGl0aWVzL19jb2xvci5zY3NzIiwidXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTZXR0aW5ncy5cclxuICovXHJcbkBpbXBvcnQgJ3NldHRpbmdzL2FsbCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFZlbmRvci5cclxuICovXHJcbkBpbXBvcnQgJy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZSc7XHJcbkBpbXBvcnQgJy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3Mvb3dsLmNhcm91c2VsJztcclxuXHJcbi8qKlxyXG4gKiBUb29scy5cclxuICovXHJcbkBpbXBvcnQgJ3Rvb2xzL2FsbCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEVsZW1lbnRzLlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogR2VuZXJhbC5cclxuICovXHJcbkBpbXBvcnQgJ2dlbmVyaWMvYmFzZSc7XHJcbkBpbXBvcnQgJ2dlbmVyaWMvcmVzZXQnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBPYmplY3RzLlxyXG4gKi9cclxuQGltcG9ydCAnb2JqZWN0cy9iYWNrZ3JvdW5kJztcclxuQGltcG9ydCAnb2JqZWN0cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ29iamVjdHMvYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ29iamVjdHMvY29udGFpbmVyJztcclxuQGltcG9ydCAnb2JqZWN0cy9jb250ZW50LWNvbnN0cmFpbnQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2ZsZXgnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2Zvcm0nO1xyXG5AaW1wb3J0ICdvYmplY3RzL2hlYWRpbmdzJztcclxuQGltcG9ydCAnb2JqZWN0cy9saW5rcyc7XHJcbkBpbXBvcnQgJ29iamVjdHMvcGFnaW5hdGlvbic7XHJcbkBpbXBvcnQgJ29iamVjdHMvd3JhcHBlcic7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudHMuXHJcbiAqL1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ntcy1vdXRwdXQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhY3QtZm9ybSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1kZWZhdWx0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LWZhcSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC10YWJzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2dvb2dsZS1tYXBzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXItc2VhcmNoJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXItdGV4dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1vYmlsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1pdGVtJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLWxhdGVzdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1saXN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLXNpbmdsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VhcmNoLWZvcm0nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3NlYXJjaC1pdGVtJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0cyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGV4dC1mYXEnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBVdGlsaXRpZXMuXHJcbiAqL1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvY29sb3InO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvaGVscGVycyc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9vYmplY3QtZml0JztcclxuQGltcG9ydCAndXRpbGl0aWVzL3Bvc2l0aW9uJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3RleHQnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdmVydGljYWwtcmh5dGhtJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3otaW5kZXgnO1xyXG4iLCIvKipcclxuICogU2V0dGluZ3MuXHJcbiAqL1xyXG4gXHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xyXG5AaW1wb3J0ICdjb2xvcic7XHJcbkBpbXBvcnQgJ3otaW5kZXgnO1xyXG5AaW1wb3J0ICdkZWZpbml0aW9ucyc7XHJcbiIsIi8qKlxyXG4gKiBGb250IGZhbWlseSBtYXAuXHJcbiAqL1xyXG5cclxuJGZvbnQtZmFtaWx5OiAoXHJcblx0J2RlZmF1bHQnOiAnU291cmNlIFNhbnMgUHJvJyxcclxuXHQnaGVhZGluZyc6ICdVYnVudHUnXHJcbik7XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgc2l6ZSBtYXAuXHJcbiAqL1xyXG5cclxuJGZvbnQtc2l6ZTogKFxyXG5cdCdoMSc6IDQycHgsXHJcblx0J2gyJzogMzRweCxcclxuXHQnaDMnOiAyOHB4LFxyXG5cdCdoNCc6IDI4cHgsXHJcblx0J2g1JzogMThweCxcclxuXHQncCc6IDE4cHhcclxuKTtcclxuXHJcblxyXG4vKipcclxuICogTGluZSBoZWlnaHQgbWFwLlxyXG4gKi9cclxuXHJcbiRsaW5lLWhlaWdodDogKFxyXG5cdCdoMSc6IDYzcHgsXHJcblx0J2gyJzogNDNweCxcclxuXHQnaDMnOiAzMnB4LFxyXG5cdCdoNCc6IDIzcHgsXHJcblx0J2g1JzogMjBweCxcclxuXHQncCc6IDI3cHhcclxuKTtcclxuIiwiLy8gQ29sb3IgbWFwLlxyXG4kY29sb3JzOiAoXHJcblx0J2JsYWNrJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMCUsIDAlLCAxKSxcclxuXHRcdCczMyc6IGhzbGEoMCwgMCUsIDAlLCAwLjMzKSxcclxuXHRcdCcyMCc6IGhzbGEoMCwgMCUsIDAlLCAwLjIwKSxcclxuXHRcdCcxMCc6IGhzbGEoMCwgMCUsIDAlLCAwLjEwKVxyXG5cdCksXHJcblx0J3doaXRlJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMCUsIDEwMCUsIDEpLFxyXG5cdFx0JzkwJzogaHNsYSgwLCAwJSwgMTAwJSwgMC45MCksXHJcblx0XHQnNzAnOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjcwKVxyXG5cdCksXHJcblx0J2dyZXknOiAoXHJcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMTguOCUsIDEpIC8vICMzMDMwMzBcclxuXHQpLFxyXG5cdCdncmV5LWxpZ2h0JzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMTgwLCAxNC4zJSwgOTguNiUsIDEpIC8vICNGQkZDRkNcclxuXHQpLFxyXG5cdCdyZWQnOiAoXHJcblx0XHQnNDAwJzogaHNsYSgwLCAxMDAlLCA5OS4yJSwgMSksIC8vICNGRkZCRkJcclxuXHRcdCczMDAnOiBoc2xhKDYuNywgMzkuMSUsIDk1LjUlLCAxKSwgLy8gIyNGOEYwRUZcclxuXHRcdCcyMDAnOiBoc2xhKDguNiwgMTAwJSwgOTguNiUsIDEpLCAvLyAjRkZGOUY4XHJcblx0XHQnMTAwJzogaHNsYSg3LjMsIDgyLjclLCA0MC44JSwgMSksIC8vICNCRTI3MTJcclxuXHRcdCc2NCc6IGhzbGEoNy4zLCA4Mi43JSwgNDAuOCUsIDAuNjQpLCAvLyAjQkUyNzEyXHJcblx0XHQnMzMnOiBoc2xhKDcuMywgODIuNyUsIDQwLjglLCAwLjMzKSwgLy8gI0JFMjcxMlxyXG5cdFx0JzMwJzogaHNsYSg3LjMsIDgyLjclLCA0MC44JSwgMC4zMCksIC8vICNCRTI3MTJcclxuXHRcdCcyMCc6IGhzbGEoNy4zLCA4Mi43JSwgNDAuOCUsIDAuMjApLCAvLyAjQkUyNzEyXHJcblx0XHQnMTEnOiBoc2xhKDcuMywgODIuNyUsIDQwLjglLCAwLjExKSwgLy8gI0JFMjcxMlxyXG5cdFx0JzcnOiBoc2xhKDcuMywgODIuNyUsIDQwLjglLCAwLjA3KSwgLy8gI0JFMjcxMlxyXG5cdFx0JzUnOiBoc2xhKDcuMywgODIuNyUsIDQwLjglLCAwLjA1KSAvLyAjQkUyNzEyXHJcblx0KSxcclxuXHQnZ3JlZW4nOiAoXHJcblx0XHQnMTAwJzogaHNsYSgxNjAsIDE3LjIlLCAzNC4xJSwgMSksIC8vICM0ODY2NUNcclxuXHRcdCcyNSc6IGhzbGEoMTYwLCAxNy4yJSwgMzQuMSUsIDAuMjUpLCAvLyAjNDg2NjVDXHJcblx0XHQnMjInOiBoc2xhKDE2MCwgMTcuMiUsIDM0LjElLCAwLjIyKSwgLy8gIzQ4NjY1Q1xyXG5cdFx0JzInOiBoc2xhKDE4MCwgMTQuMyUsIDk4LjYlLCAxKSwgLy8gI2ZiZmNmY1xyXG5cdCksXHJcblx0J2dyZWVuLWxpZ2h0JzogKFxyXG5cdFx0JzIwMCc6IGhzbGEoMTUwLCAxNC4zJSwgOTcuMyUsIDEpLCAvLyAjZjdmOWY4XHJcblx0XHQnMTAwJzogaHNsYSgxNTkuMywgMTQuNCUsIDM5LjQlLCAxKSwgLy8gIzU2NzM2OVxyXG5cdFx0JzM5JzogaHNsYSgxNTkuMywgMTQuNCUsIDM5LjQlLCAwLjM5KSwgLy8gIzU2NzM2OVxyXG5cdFx0JzE4JzogaHNsYSgxNTkuMywgMTQuNCUsIDM5LjQlLCAwLjE4KSAvLyAjNTY3MzY5XHJcblx0KSxcclxuKTtcclxuXHJcbi8vIENvbG9yIHNob3J0aGFuZCB2YXJpYWJsZXMuXHJcbiRibGFjay0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmxhY2snKSwgJzEwMCcpO1xyXG4kYmxhY2stMzM6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmxhY2snKSwgJzMzJyk7XHJcbiRibGFjay0yMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMjAnKTtcclxuJGJsYWNrLTEwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcxMCcpO1xyXG4kd2hpdGUtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICcxMDAnKTtcclxuJHdoaXRlLTkwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICc5MCcpO1xyXG4kd2hpdGUtNzA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnd2hpdGUnKSwgJzcwJyk7XHJcbiRncmV5LTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICcxMDAnKTtcclxuJGdyZXktbGlnaHQtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZXktbGlnaHQnKSwgJzEwMCcpO1xyXG4kcmVkLTQwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzQwMCcpO1xyXG4kcmVkLTMwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzMwMCcpO1xyXG4kcmVkLTIwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzIwMCcpO1xyXG4kcmVkLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzEwMCcpO1xyXG4kcmVkLTY0OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3JlZCcpLCAnNjQnKTtcclxuJHJlZC0zMzogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzMzJyk7XHJcbiRyZWQtMzA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICczMCcpO1xyXG4kcmVkLTIwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3JlZCcpLCAnMjAnKTtcclxuJHJlZC0xMTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzExJyk7XHJcbiRyZWQtNzogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzcnKTtcclxuJHJlZC01OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3JlZCcpLCAnNScpO1xyXG4kZ3JlZW4tMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICcxMDAnKTtcclxuJGdyZWVuLTI1OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICcyNScpO1xyXG4kZ3JlZW4tMjI6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzIyJyk7XHJcbiRncmVlbi0yOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICcyJyk7XHJcbiRncmVlbi1saWdodC0yMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4tbGlnaHQnKSwgJzIwMCcpO1xyXG4kZ3JlZW4tbGlnaHQtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuLWxpZ2h0JyksICcxMDAnKTtcclxuJGdyZWVuLWxpZ2h0LTM5OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuLWxpZ2h0JyksICczOScpO1xyXG4kZ3JlZW4tbGlnaHQtMTg6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4tbGlnaHQnKSwgJzE4Jyk7XHJcblxyXG4vLyBQcmltYXJ5IGNvbG9yLlxyXG4kY29sb3ItcHJpbWFyeTogJHJlZC0xMDA7IiwiLy8gQSBsaW1pdGVkIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGB6LWluZGV4YCBwcm9wZXJ0eSB0byBwcmV2ZW50XHJcbi8vIEV4YWdnZXJhdGVkIGFtb3VudHMgYW5kIHVnbHkgaGFja3MuXHJcblxyXG4kei1pbmRleDogKFxyXG5cdCcwJzogIDAsXHJcblx0JzEnOiAgMTAsXHJcblx0JzInOiAgMjAsXHJcblx0JzMnOiAgMzAsXHJcblx0JzQnOiAgNDAsXHJcblx0JzUnOiAgNTAsXHJcblx0JzYnOiAgNjAsXHJcblx0JzcnOiAgNzAsXHJcblx0JzgnOiAgODAsXHJcblx0JzknOiAgOTAsXHJcblx0JzEwJzogMTAwXHJcbik7XHJcbiIsIi8qKlxyXG4gKiBHcmlkLlxyXG4gKi9cclxuXHJcbi8vIEdyaWQgd2lkdGguXHJcbi8vIE1heGltdW0gY29udGFpbmVyIHdpZHRoLlxyXG4kZ3JpZC13aWR0aDogMTAyNHB4O1xyXG5cclxuLy8gR3JpZCBjb2x1bW5zLlxyXG4vLyBBbW91bnQgb2YgZ3JpZCBjb2x1bW5zIHRvIGNhbGN1bGF0ZSBhIGNvbHVtbiB3aWR0aCB3aXRoLlxyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuXHJcbi8vIEdyaWQgZ2FwLlxyXG4vLyBTcGFjZSBiZXR3ZWVuIGdyaWQgY29sdW1ucywgYXV0b21hdGVkLlxyXG4kZ3JpZC1nYXA6IDIwcHg7XHJcblxyXG5cclxuLyoqXHJcbiAqIEFzc2V0cy5cclxuICovXHJcblxyXG4vLyBJbWFnZSBwYXRoLlxyXG4kaW1hZ2UtcGF0aDogJy4uL2ltYWdlcy8nO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCb2R5LlxyXG4gKi9cclxuXHJcbi8vIEJvZHkgYmFja2dyb3VuZCBjb2xvci5cclxuJGJvZHktYmFja2dyb3VuZC1jb2xvcjogJHJlZC00MDA7XHJcblxyXG4vLyBCb2R5IGNvbG9yLlxyXG4kYm9keS1jb2xvcjogJGdyZXktMTAwO1xyXG5cclxuLy8gQm9keSBmb250IGZhbWlseS5cclxuJGJvZHktZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnZGVmYXVsdCcpO1xyXG5cclxuLy8gQm9keSB0ZXh0LlxyXG4kYm9keS10ZXh0OiAncCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE90aGVyLlxyXG4gKi9cclxuXHJcbi8vIExpbmsgY29sb3IuXHJcbiRsaW5rLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuLy8gU2VsZWN0IGNvbG9yLlxyXG4qOjpzZWxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRyZWQtMTAwO1xyXG4gIGNvbG9yOiAkd2hpdGUtMTAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzcG9uc2l2ZS5cclxuICovXHJcblxyXG4vLyBHcmlkIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiRicmVha3BvaW50czogKFxyXG5cdHhzOiBudWxsLFxyXG5cdHNtOiAncGhvbmUnLFxyXG5cdG1kOiAndGFibGV0LXBvcnRyYWl0LXVwJyxcclxuXHRsZzogJ3RhYmxldC1sYW5kc2NhcGUtdXAnLFxyXG5cdHhsOiAnZGVza3RvcCdcclxuKTtcclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJ2NvcmUnO1xuQGltcG9ydCAnYW5pbWF0ZSc7XG5AaW1wb3J0ICdhdXRvaGVpZ2h0JztcbkBpbXBvcnQgJ2xhenlsb2FkJztcbkBpbXBvcnQgJ3ZpZGVvJztcbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cblx0fVxuXG5cdC5vd2wtc3RhZ2U6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblxuXHQub3dsLXN0YWdlLW91dGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdH1cblx0Lm93bC1pdGVtIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQub3dsLW5hdi5kaXNhYmxlZCxcblx0Lm93bC1kb3RzLmRpc2FibGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgLm93bC1wcmV2LFxuXHQub3dsLW5hdiAub3dsLW5leHQsXG5cdC5vd2wtZG90IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcblx0YnV0dG9uLm93bC1kb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0fVxuXG5cdCYub3dsLWxvYWRlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYub3dsLWRyYWcgLm93bC1pdGVtIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXHR9XG5cblx0Ji5vd2wtcnRsIHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxuXG5cdCYub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbHtcblx0LmFuaW1hdGVkIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1vdXQge1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0LmZhZGVPdXQge1xuXHRcdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cblxuLm93bC1oZWlnaHQge1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG5cdC5vd2wtaXRlbSB7XG5cdFx0Lm93bC1sYXp5IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cblx0XHQub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1sYXp5Om5vdChbc3JjXSkge1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiI3skb3dsLWltYWdlLXBhdGh9b3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLXZpZGVvLXRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tZnJhbWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyoqXHJcbiAqIFRvb2xzLlxyXG4gKi9cclxuXHJcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XHJcbkBpbXBvcnQgJ21hZ25pZmljLXBvcHVwJztcclxuQGltcG9ydCAnbWl4aW5zJztcclxuIiwiLyoqXHJcbiAqIFVuaWNvZGUuXHJcbiAqXHJcbiAqIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gQW4gdW5pY29kZSBzdHJpbmcuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xyXG4gKi9cclxuIFxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBxdW90ZXNcclxuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cmluZykge1xyXG5cdEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XHJcbn1cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBxdW90ZXNcclxuXHJcblxyXG4vKipcclxuICogUkVNLlxyXG4gKlxyXG4gKiBDb252ZXJ0IHBpeGVsIHVuaXRzIHRvIFJFTSB1bml0cy5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRwaXhlbHMgLSBQaXhlbCB2YWx1ZS5cclxuICogQHJldHVybiB7Kn0gLSBBIGNvbnZlcnRlZCBgcmVtYCB1bml0LlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xyXG5cdEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcclxuXHR9XHJcblx0QHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbi5cclxuICpcclxuICogQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4gLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdG8gc3Bhbi5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRoYXQgY2FuIGJlIHNwYW5uZWQuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbiwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuXHRAcmV0dXJuICgkY29sdW1uICAqIDEwMCUgLyAkY29sdW1ucyk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sb3IuXHJcbiAqXHJcbiAqIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXHJcbiAqIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIG9mIHRoZSBrZXkgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5LCAkdmFsdWUpIHtcclxuXHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcclxufVxyXG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xyXG5cclxuXHJcbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xyXG4ubWZwLWJnIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xyXG4gIG9wYWNpdHk6IDAuODsgfVxyXG5cclxuLm1mcC13cmFwIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcGFkZGluZzogMCA4cHg7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuXHJcbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB6LWluZGV4OiAxMDQ1OyB9XHJcblxyXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxyXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY3Vyc29yOiBhdXRvOyB9XHJcblxyXG4ubWZwLWFqYXgtY3VyIHtcclxuICBjdXJzb3I6IHByb2dyZXNzOyB9XHJcblxyXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICBjdXJzb3I6IHpvb20tb3V0OyB9XHJcblxyXG4ubWZwLXpvb20ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcclxuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcclxuICBjdXJzb3I6IHpvb20taW47IH1cclxuXHJcbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtY2xvc2UsXHJcbi5tZnAtYXJyb3csXHJcbi5tZnAtcHJlbG9hZGVyLFxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG5cclxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4ubWZwLXByZWxvYWRlciB7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAtMC44ZW07XHJcbiAgbGVmdDogOHB4O1xyXG4gIHJpZ2h0OiA4cHg7XHJcbiAgei1pbmRleDogMTA0NDsgfVxyXG4gIC5tZnAtcHJlbG9hZGVyIGEge1xyXG4gICAgY29sb3I6ICNDQ0M7IH1cclxuICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI0ZGRjsgfVxyXG5cclxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5idXR0b24ubWZwLWNsb3NlLFxyXG5idXR0b24ubWZwLWFycm93IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgei1pbmRleDogMTA0NjtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwOyB9XHJcblxyXG4ubWZwLWNsb3NlIHtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxyXG4gIC5tZnAtY2xvc2U6aG92ZXIsXHJcbiAgLm1mcC1jbG9zZTpmb2N1cyB7XHJcbiAgICBvcGFjaXR5OiAxOyB9XHJcbiAgLm1mcC1jbG9zZTphY3RpdmUge1xyXG4gICAgdG9wOiAxcHg7IH1cclxuXHJcbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xyXG4gIGNvbG9yOiAjMzMzOyB9XHJcblxyXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxyXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgcmlnaHQ6IC02cHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgcGFkZGluZy1yaWdodDogNnB4O1xyXG4gIHdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuXHJcbi5tZnAtYXJyb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwLjY1O1xyXG4gIG1hcmdpbjogMDtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAtNTVweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiA5MHB4O1xyXG4gIGhlaWdodDogMTEwcHg7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcclxuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpob3ZlcixcclxuICAubWZwLWFycm93OmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWFycm93OmJlZm9yZSxcclxuICAubWZwLWFycm93OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XHJcbiAgICB0b3A6IDhweDsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xyXG4gICAgb3BhY2l0eTogMC43OyB9XHJcblxyXG4ubWZwLWFycm93LWxlZnQge1xyXG4gIGxlZnQ6IDA7IH1cclxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzFweDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1hcnJvdy1yaWdodCB7XHJcbiAgcmlnaHQ6IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcclxuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cclxuXHJcbi5tZnAtaWZyYW1lLWhvbGRlciB7XHJcbiAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xyXG4gICAgdG9wOiAtNDBweDsgfVxyXG5cclxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XHJcbiAgLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxyXG5cclxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xyXG5pbWcubWZwLWltZyB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvOyB9XHJcblxyXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cclxuLm1mcC1maWd1cmUge1xyXG4gIGxpbmUtaGVpZ2h0OiAwOyB9XHJcbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiA0MHB4O1xyXG4gICAgYm90dG9tOiA0MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cclxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cclxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwOyB9XHJcblxyXG4ubWZwLWJvdHRvbS1iYXIge1xyXG4gIG1hcmdpbi10b3A6IC0zNnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtdGl0bGUge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgY29sb3I6ICNGM0YzRjM7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XHJcbiAgLyoqXHJcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cclxuICAgICAgICovXHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xyXG4gICAgcGFkZGluZzogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xyXG4gICAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XHJcbiAgICByaWdodDogNXB4O1xyXG4gICAgdG9wOiAzcHg7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwOyB9IH1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgLm1mcC1hcnJvdyB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cclxuICAubWZwLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XHJcblxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcbiIsIi8qKlxyXG4gKiBDb250YWluZXJcclxuICogXHJcbiAqIENlbnRlciBhbGlnbnMgZWxlbWVudCB3aXRoIGdpdmVuIG1heGltdW0gd2lkdGgsIHBhZGRpbmcsIGFuZCBtYXJnaW5zIHRvcCBhbmQgYm90dG9tLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRnYXAgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBjb250YWluZXIoMTAyNHB4LCAyMHB4KTtcclxuICovXHJcblxyXG5AbWl4aW4gY29udGFpbmVyKCR3aWR0aDogJGdyaWQtd2lkdGgsICRnYXA6ICRncmlkLWdhcCkge1xyXG5cdEBpZiAodHlwZS1vZigkd2lkdGgpID09IG51bWJlciBhbmQgdHlwZS1vZigkZ2FwKSA9PSBudW1iZXIpIHtcclxuXHRcdEBpZiAoJGdhcCAhPSAwKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygjeyR3aWR0aH0gKyAjeygkZ2FwICogMil9KTtcclxuXHRcdFx0cGFkZGluZzogMCAkZ2FwO1xyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdG1heC13aWR0aDogJHdpZHRoO1xyXG5cdFx0fVxyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnQXJndW1lbnRzIGAkd2lkdGhgIGFuZCBgJGdhcGAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2VjdGlvblxyXG4gKlxyXG4gKiBBZGQgdG9wIGFuZCBib3R0b20gc3BhY2luZyB0byBlbGVtZW50IHVzaW5nIHBhZGRpbmdzLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJHRvcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm90dG9tIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgc2VjdGlvbigxMDBweCwgMTAwcHgpO1xyXG4gKi8gXHJcblxyXG5AbWl4aW4gc2VjdGlvbigkdG9wOiAwLCAkYm90dG9tOiAwKSB7XHJcblx0QGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcclxuXHRcdHBhZGRpbmc6ICR0b3AgMCAkYm90dG9tO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250LlxyXG4gKlxyXG4gKiBBZGRzIGByZW1gIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhIGZhbGxiYWNrIGBweGAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGFuZCBhIGBlbWAgdW5pdCBiYXNlZCBsaW5lIGhlaWdodCBwcm9wZXJ0eSB0byBhbnkgcnVsZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRmb250LXNpemUgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGxpbmUtaGVpZ2h0IC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBmb250KCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xyXG5cdEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIgYW5kIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4Jykge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplO1xyXG5cdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRmb250LXNpemV9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xyXG5cdH1cclxuXHRAaWYgKHR5cGUtb2YoJGxpbmUtaGVpZ2h0KSA9PSBudW1iZXIgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSAncHgnKSB7XHJcblx0XHRsaW5lLWhlaWdodDogKCgkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKSAqIDFlbSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIGZvciBgI3skbGluZS1oZWlnaHR9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0LlxyXG4gKlxyXG4gKiBTaG9ydGhhbmQgZm9yIHRoZSBmb250IG1peGluLCBydW5zIHRoZSBmb250IG1peGluIGJhc2VkIG9uIGEgY29tbW9uIGRlbWVhbm91ciBleGlzdGluZyBib3RoIGluIHRoZSBgJGZvbnQtc2l6ZWAgYW5kIHRoZSBgJGxpbmUtaGVpZ2h0YCBtYXBzLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhbHVlIC0gU3RyaW5nXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIHRleHQoJ3AnKTtcclxuICovIFxyXG5cclxuQG1peGluIHRleHQoJHZhbHVlKSB7XHJcblx0QGlmICh0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KG1hcC1nZXQoJGZvbnQtc2l6ZSwgJHZhbHVlKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICR2YWx1ZSkpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBzaG91bGQgYmUgYSBzdHJpbmcnO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IEF3ZXNvbWUuXHJcbiAqXHJcbiAqIEFkZCBGb250IEF3ZXNvbWUgaWNvbnMgYXMgcHN1ZWRvIGVsZW1lbnRzIGJ5IHVzaW5nIHRoZWlyIHVuaWNvZGUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkY29udGVudCAtIFVuaWNvZGUgc3RyaW5nLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGZvbnRhd2Vzb21lKCdmMTAwJywgJ0xpZ2h0Jyk7XHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnRhd2Vzb21lKCRjb250ZW50LCAkZmFtaWx5KSB7XHJcblx0QGlmICh0eXBlLW9mKCRmYW1pbHkpID09IHN0cmluZykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgI3skZmFtaWx5fSc7XHJcblx0XHRjb250ZW50OiB1bmljb2RlKCRjb250ZW50KTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnQXJndW1lbnQgYCRmYW1pbHlgIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1lZGlhLlxyXG4gKlxyXG4gKiBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiIChodHRwczovL21lZGl1bS5mcmVlY29kZWNhbXAuY29tL3RoZS0xMDAtY29ycmVjdC13YXktdG8tZG8tY3NzLWJyZWFrcG9pbnRzLTg4ZDZhNWJhMTg2MikuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge31cclxuICovIFxyXG4gXHJcbkBtaXhpbiBtZWRpYSgkc2l6ZSkge1xyXG5cdEBpZiAoJHNpemUgPT0gJ2Rlc2t0b3AnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICdwaG9uZScpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA1OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxyXG4gKlxyXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cclxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXHJcbiAqL1xyXG5cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym94LXNpemluZzogaW5oZXJpdDsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIFNldCByb290IGZvbnQgc2l6ZSB0byAxMC5cclxuICovXHJcblxyXG5odG1sIHtcclxuXHRoZWlnaHQ6IDEwMHZoO1xyXG5cdGZvbnQtc2l6ZTogNjIuNSU7IC8qIDEgKi9cclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNldCBtaW5pbWFsIGhlaWdodCBvZiB0aGUgYm9keSB0byBtYXhpbXVtIHZpZXdwb3J0IGhlaWdodCB0b1xyXG4gKiBtYXRjaCB0aGUgZG9jdW1lbnQncyBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIEZpcmVmb3ggMjUrLlxyXG4gKiAyLiBDaHJvbWUgNSsuXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcblx0QGluY2x1ZGUgdGV4dCgkYm9keS10ZXh0KTtcclxuXHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdGNvbG9yOiAkYm9keS1jb2xvcjtcclxuXHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xyXG59XHJcbiIsIi8qKlxyXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxyXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcclxuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cclxuICovXHJcblxyXG5hIHtcclxuXHRjb2xvcjogaW5oZXJpdDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxyXG4gKi9cclxuXHJcbmJ1dHRvbiB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7IC8qIDEgKi9cclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiAwO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5ociB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGluaGVyaXRlZCB1c2VyIGFnZW50IGFwcGVhcmFuY2UuXHJcbiAqL1xyXG5cclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRvdXRsaW5lOiBub25lO1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXHJcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcblx0cmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxudWwsXHJcbm9sIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbnAge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBDb2xsYXBzZSBib3JkZXJzIHRvIHByZXZlbnQgZG91YmxlIHNpZGVkIGJvcmRlcnMuXHJcbiAqL1xyXG5cclxudGFibGUge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAxICovXHJcbn1cclxuXHJcbnN0cm9uZyB7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4iLCIuYmFja2dyb3VuZCB7XHJcblx0LmNvbnRlbnQtY29uc3RyYWludCB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAxMDUwcHg7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxNDQwcHg7XHJcblx0XHRcdGhlaWdodDogNTc1cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvYmFja2dyb3VuZC1ib2R5LnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuYnJlYWRjcnVtYnMge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTZweCwgMjBweCk7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0YSB7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyAvICc7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogM3B4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuIiwiLyoqXHJcbiAqIEJ1dHRvbi5cclxuICovXHJcblxyXG4lYnV0dG9uLFxyXG4uYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDE0cHg7XHJcblx0XHRoZWlnaHQ6IDE0cHg7XHJcblx0fVxyXG5cclxuXHQmLmhhcy1zdmctbGVmdCB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5oYXMtc3ZnLXJpZ2h0IHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiAoZGVmYXVsdCkuXHJcbiAqL1xyXG5cclxuJWJ1dHRvbi0tZGVmYXVsdCxcclxuLmJ1dHRvbi0tZGVmYXVsdCB7XHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0cGFkZGluZzogOHB4IDI1cHggOXB4IDI1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC00MDA7XHJcblx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkICRyZWQtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDI5cHg7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQnV0dG9uIChncmVlbikuXHJcbiAqL1xyXG5cclxuJWJ1dHRvbi0tZ3JlZW4sXHJcbi5idXR0b24tLWdyZWVuIHtcclxuXHRAaW5jbHVkZSBmb250KDE4cHgsIDIzcHgpO1xyXG5cdGhlaWdodDogNDJweDtcclxuXHRwYWRkaW5nOiAxMHB4IDI1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWxpZ2h0LTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAyOXB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAxcHg7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQnV0dG9uIChhcnJvdykuXHJcbiAqL1xyXG5cclxuJWJ1dHRvbi0tYXJyb3csXHJcbi5idXR0b24tLWFycm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiA1MHB4O1xyXG5cdHdpZHRoOiA1MHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRyZWQtNDAwO1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcblx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMjA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMTVweDtcclxuXHRcdGhlaWdodDogMjJweDtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRhaW5lciB7XHJcblx0QGluY2x1ZGUgY29udGFpbmVyO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWNvbnN0cmFpbnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmZsZXgge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mbGV4LXdyYXAge1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdCB3aXRoIGEgY29sdW1uIGJhc2VkIGxheW91dCBzeXN0ZW0uXHJcbiAqL1xyXG5cclxuLnJvdyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4OiAwIDEgYXV0bztcclxuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG5cdG1hcmdpbjogMCAtI3soJGdyaWQtZ2FwLzIpfTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmJveCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGtleXMgaW4gdGhlIGAkYnJlYWtwb2ludHNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXHJcbi8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xyXG5cclxuXHQvLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZXZlcnkga2V5IGluIGAkYnJlYWtwb2ludHNgLlxyXG5cdEBpbmNsdWRlIG1lZGlhKCR2YWx1ZSkge1xyXG5cclxuXHRcdC8vIEl0ZXJhdGUgZnJvbSAxIHRocm91Z2ggdGhlIGFtb3VudCBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieVxyXG5cdFx0Ly8gYCRncmlkLWNvbHVtbnNgIGluIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIENvbHVtbiAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5jb2wtI3ska2V5fS0jeyRpfSB7XHJcblx0XHRcdFx0ZmxleDogMCAxIGF1dG87XHJcblx0XHRcdFx0d2lkdGg6IGNvbHVtbigkaSk7XHJcblx0XHRcdFx0cGFkZGluZzogMCAoJGdyaWQtZ2FwLzIpO1xyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0Ly8gT3V0cHV0IGFuIG9mZnNldCB1dGlsaXR5IGNsYXNzIGlmIHRoZSBpdGVyYXRvciBpcyBsZXNzIHRoYW4gdGhlIGFtb3VudFxyXG5cdFx0XHQvLyBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieSBgJGdyaWQtY29sdW1uc2AgaW5cclxuXHRcdFx0Ly8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuXHRcdFx0QGlmICgkaSA8ICRncmlkLWNvbHVtbnMpIHtcclxuXHJcblx0XHRcdFx0LyoqXHJcblx0XHRcdFx0ICogT2Zmc2V0ICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHRcdFx0ICovXHJcblxyXG5cdFx0XHRcdC5vZmZzZXQtI3ska2V5fS0jeyRpfSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogY29sdW1uKCRpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBgYWxpZ24taXRlbXNgIHByb3BlcnR5LlxyXG5cdFx0QGVhY2ggJHZhbHVlIGluIHN0cmV0Y2gsIGNlbnRlciwgZmxleC1zdGFydCwgZmxleC1lbmQsIGJhc2VsaW5lIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBBbGlnbiBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuYWxpZ24tI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBganVzdGlmeS1jb250ZW50YCBwcm9wZXJ0eS5cclxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdGFydCwgY2VudGVyLCBzcGFjZS1iZXR3ZWVuLCBzcGFjZS1hcm91bmQsIHNwYWNlLWV2ZW5seSB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogSnVzdGlmeSBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuanVzdGlmeS0jeyRrZXl9LSN7JHZhbHVlfSB7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGRpcmVjdGlvbiBmcm9tIGxlZnQgdG8gcmlnaHQuXHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0IHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBCbGVlZCAjeyRkaXJlY3Rpb259IGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5ibGVlZC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHQgKi9cclxuXHJcblx0XHQuZmlyc3QtI3ska2V5fSB7XHJcblx0XHRcdG9yZGVyOiAtMTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBPcmRlciBsYXN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHQgKi9cclxuXHJcblx0XHQubGFzdC0jeyRrZXl9IHtcclxuXHRcdFx0b3JkZXI6IDE7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0LnJldmVyc2UtI3ska2V5fSB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIERlZmF1bHQgZmllbGRzLlxyXG4gKi9cclxuXHJcbmxhYmVsIHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDI0cHgpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4laW5wdXQsXHJcbnNlbGVjdCxcclxuaW5wdXQsXHJcbnRleHRhcmVhIHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDI0cHgpO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDM2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdHBhZGRpbmc6IDVweCAxNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmVlbi0yNTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG5cdGhlaWdodDogMTkwcHg7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5naW5wdXRfY29udGFpbmVyX3NlbGVjdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGdyZWVuLTI1O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxNHB4O1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHR3aWR0aDogOXB4O1xyXG5cdFx0aGVpZ2h0OiAxM3B4O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRtYXJnaW46IC0ycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0fVxyXG59XHJcblxyXG4uZ2ZpZWxkX2NoZWNrYm94IHtcclxuXHRsaSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHRsYWJlbCB7XHJcbiAgICBcdG1hcmdpbjogMCAwIDAgMTBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10sXHJcbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG5cdHdpZHRoOiAxNXB4O1xyXG5cdGhlaWdodDogMTVweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkcmVkLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAxcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdCY6Y2hlY2tlZCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10ge1xyXG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogR3Jhdml0eSBGb3Jtcy5cclxuICovXHJcblxyXG4uZ2ZpZWxkIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4uZ2lucHV0X2NvbnRhaW5lcl9uYW1lIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0c3BhbiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiBjYWxjKDUwJSAtIDZweCk7XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5oaWRkZW5fbGFiZWwgPiBsYWJlbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnZhbGlkYXRpb25fbWVzc2FnZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAxNnB4KTtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0Y29sb3I6ICRyZWQtMTAwO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbl9lcnJvciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW46IDAgMCAzNXB4O1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0PiBzcGFuIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjJweCwgMjhweCk7XHJcblx0XHR3aWR0aDogMTBweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0fVxyXG5cclxuXHRwIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMTZweCk7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjVweCk7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBIZWFkaW5nLlxyXG4gKi9cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG4laGVhZGluZyxcclxuLmhlYWRpbmcge1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0Ji5pcy13aGl0ZSB7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcblxyXG5cdCYuaXMtZ3JlZW4ge1xyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMS5cclxuICovXHJcblxyXG5oMSxcclxuLmhlYWRpbmctMSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgzMnB4LCA0N3B4KTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAwLjg5cHg7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDU0cHgsIDY4cHgpO1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2hlYWRpbmcnKTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAxLjE3cHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAyLlxyXG4gKi9cclxuXHJcbmgyLFxyXG4laGVhZGluZy0yLFxyXG4uaGVhZGluZy0yIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDI0cHgsIDI4cHgpO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNjdweDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoNDJweCwgNDhweCk7XHJcblx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnaGVhZGluZycpO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuOTRweDtcclxuXHRjb2xvcjogJHJlZC0xMDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAzLlxyXG4gKi9cclxuXHJcbmgzLFxyXG4laGVhZGluZy0zLFxyXG4uaGVhZGluZy0zIHtcclxuXHRAaW5jbHVkZSBmb250KDI4cHgsIDMycHgpO1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2hlYWRpbmcnKTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjc4cHg7XHJcblx0Y29sb3I6ICRyZWQtMTAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgNC5cclxuICovXHJcblxyXG5oNCxcclxuJWhlYWRpbmctNCxcclxuLmhlYWRpbmctNCB7XHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyA1LlxyXG4gKi9cclxuXHJcbmg1LFxyXG4laGVhZGluZy01LFxyXG4uaGVhZGluZy01IHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDIwcHgpO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNDRweDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFN1YmhlYWRpbmcuXHJcbiAqL1xyXG5cclxuJXN1YmhlYWRpbmcsXHJcbi5zdWJoZWFkaW5nIHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xyXG5cdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblxyXG5cdCYuaXMtYmlnIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjBweCwgMjVweCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMC41NnB4O1xyXG5cdH1cclxuXHJcblx0Ji5pcy1yZWQge1xyXG5cdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdH1cclxuXHJcblx0Ji5pcy13aGl0ZSB7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcbn1cclxuIiwiLmxpbmsge1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0Ji5oYXMtc3ZnLXJpZ2h0IHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5oYXMtc3ZnLWxlZnQge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogM3B4O1xyXG5cdFx0d2lkdGg6IDE0cHg7XHJcblx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5wYWdpbmF0aW9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNzVweDtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG5cclxuXHRoMiB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0Lm5hdi1saW5rcyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuXHJcblx0LnBhZ2UtbnVtYmVycyB7XHJcblx0XHRAaW5jbHVkZSBmb250KDIwcHgsIDI1cHgpO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0Y29sb3I6ICRncmV5LTEwMDtcclxuXHJcblx0XHQmLmN1cnJlbnQge1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5wcmV2LFxyXG5cdFx0Ji5uZXh0IHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiAycHg7XHJcblx0XHRcdFx0d2lkdGg6IDE1cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5uZXh0IHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogV3JhcHBlciAoZGVmYXVsdClcclxuICovXHJcblxyXG4ud3JhcHBlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDExMDBweCwgNjBweCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRhaW5lcigxMTAwcHgsIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgY29udGFpbmVyKDExMDBweCwgNTBweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogV3JhcHBlciAoYmlnKVxyXG4gKi9cclxuXHJcbi53cmFwcGVyLS1jb250ZW50IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoODIwcHgsIDYwcHgpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoODIwcHgsIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgY29udGFpbmVyKDgyMHB4LCA1MHB4KTtcclxufVxyXG4iLCIvKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXHJcblxyXG4uY21zLW91dHB1dCB7XHJcblx0cCB7XHJcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRoMixcclxuXHRoMyxcclxuXHRoNCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0aDUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdG9sLFxyXG5cdHVsIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0Ly8gcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDQwcHg7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMzBweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ+IHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMTBweDtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0XHRcdGhlaWdodDogOHB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0PiB1bCB7XHJcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7XHJcblxyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9sIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdHJvbmcge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0fVxyXG5cclxuXHRidXR0b24ge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGVtIHtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHR9XHJcblxyXG5cdGJsb2NrcXVvdGUge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZzogNDBweCA0NXB4IDIwcHggNDVweDtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0XHQuaWNvbiB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Zm9udC1zaXplOiA2OHB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkcmVkLTExO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRmb250LXNpemU6IDQ3cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaXMtYmVmb3JlIHtcclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHR0b3A6IDQwcHg7XHJcblx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCLigJxcIjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0dG9wOiAzNnB4O1xyXG5cdFx0XHRcdFx0bGVmdDogMTNweDtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwi4oCcXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmlzLWFmdGVyIHtcclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdGJvdHRvbTogMzBweDtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwi4oCdXCI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0Ym90dG9tOiAzMHB4O1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCLigJ1cIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53cC1jYXB0aW9uIHtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRcdH1cclxuXHJcblx0XHQud3AtY2FwdGlvbi10ZXh0IHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi1saWdodC0xMDA7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjQ0cHg7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5jb250YWN0LWZvcm0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMTIwcHg7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtLlxyXG4gKi9cclxuXHJcbi5jb250YWN0LWZvcm1fX2Zvcm0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDcwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYyg1MCUgLSAzNXB4KTtcclxuXHRtYXgtd2lkdGg6IDQ0MHB4O1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4uY29udGVudC1mb3JtX19mb3JtLXdyYXAge1xyXG5cdG1hcmdpbi10b3A6IDU1cHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29udGFjdC5cclxuICovXHJcblxyXG4uY29udGFjdC1mb3JtX19jb250YWN0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoNTAlIC0gNjVweCk7XHJcblx0bWF4LXdpZHRoOiA0NDBweDtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1pdGVtIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHR9XHJcblxyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0bWFyZ2luLWxlZnQ6IC0zMHB4O1xyXG5cclxuXHQmLmlzLWhvdXJzIHtcclxuXHRcdG1hcmdpbi10b3A6IDU1cHg7XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiA3cHg7XHJcblx0XHR3aWR0aDogMTVweDtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHRcdGNvbG9yOiAkZ3JleS0xMDA7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2VkaXRvciB7XHJcblx0bWFyZ2luLXRvcDogNTBweDtcclxufVxyXG4iLCIuY29udGVudC1kZWZhdWx0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNzBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG59XHJcblxyXG4uY29udGVudC1kZWZhdWx0X190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG4iLCIuY29udGVudC1mYXEge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMTIwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWZhcV9fdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWZhcV9fcXVlc3Rpb25zIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNvbnRlbnQtZmFxX19xdWVzdGlvbiB7XHJcblx0cGFkZGluZy1ib3R0b206IDE1cHg7XHJcblxyXG5cdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1mYXFfX3F1ZXN0aW9uLWhlYWQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDEzcHggMjVweCAxNXB4IDI1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgJGJsYWNrLTEwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0c3ZnIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiBjYWxjKDUwJSAtIDlweCk7XHJcblx0XHRyaWdodDogMThweDtcclxuXHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0Y29sb3I6ICRncmVlbi0yMjtcclxuXHRcdHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlcixcclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgJGJsYWNrLTIwO1xyXG5cclxuXHRcdC50ZWFzZXJzX19xdWVzdGlvbi10aXRsZSB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LWZhcV9fcXVlc3Rpb24tdGl0bGUge1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG59XHJcblxyXG4uY29udGVudC1mYXFfX3F1ZXN0aW9uLWJvZHkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0cGFkZGluZzogMzVweCAyMHB4IDIwcHggMjBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtZmFxX19xdWVzdGlvbi1hbnN3ZXIge1xyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMjlweCk7XHJcbn1cclxuIiwiLmNvbnRlbnQtdGFicyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDcwcHg7XHJcblx0XHRwYWRkaW5nOiAxMDBweCAwIDcwcHggMHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG5cdHBhZGRpbmc6IDEzMHB4IDAgMTAwcHggMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRyZWQtNztcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDE0NDBweDtcclxuXHRcdGhlaWdodDogNjJweDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9iYWNrZ3JvdW5kLXRhYnMuc3ZnJykgbm8tcmVwZWF0O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC10YWJzX19tZW51IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IGNhbGMoNTAlIC0gMzEuNXB4KTtcclxuXHRtYXgtd2lkdGg6IDQ0MHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiAtMTAwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LXRhYnNfX21lbnUtaXRlbSB7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdCYuaXMtYWN0aXZlLFxyXG5cdCY6aG92ZXIge1xyXG5cdFx0LmNvbnRlbnQtdGFic19fbWVudS10aXRsZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQtMTAwO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC10YWJzX19tZW51LXRpdGxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAyOTBweDtcclxuXHRoZWlnaHQ6IDQ4cHg7XHJcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Y29sb3I6ICRncmV5LTEwMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAxNXB4IDAgJGJsYWNrLTEwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxufVxyXG5cclxuLmNvbnRlbnQtdGFic19fbWVudS1pY29uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdHdpZHRoOiAxN3B4O1xyXG5cdFx0aGVpZ2h0OiAxN3B4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDNweDtcclxuXHRcdGNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LXRhYnNfX2NvbnRlbnQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiBjYWxjKDUwJSAtIDMxLjVweCk7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDE1cHg7XHJcblx0XHRsZWZ0OiAtMzBweDtcclxuXHRcdHdpZHRoOiAzcHg7XHJcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LXRhYnNfX2NvbnRlbnQtaXRlbSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0Ji5pcy1maXJzdCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC10YWJzX19jb250ZW50LWhlYWQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHRwYWRkaW5nOiAxNHB4IDEwcHggMTZweCAxMHB4O1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMTA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gOXB4KTtcclxuXHRcdHJpZ2h0OiAxOHB4O1xyXG5cdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZTtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMjVweCAwICRibGFjay0yMDtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LXRhYnNfX2NvbnRlbnQtYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHBhZGRpbmc6IDMwcHggMTBweDtcclxuXHR9XHJcbn1cclxuXHJcbiIsIi5mb290ZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdHBhZGRpbmc6IDAgMjBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRoZWlnaHQ6IDQ2MHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0yO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0dG9wOiA4MCU7XHJcblx0XHRcdGxlZnQ6IC00MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0XHR3aWR0aDogMjAwdnc7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogODB2dztcclxuXHRcdHdpZHRoOiAxMDB2dztcclxuXHRcdGhlaWdodDogNDYwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0ei1pbmRleDogMDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0cmlnaHQ6IC0xMDBweDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHdpZHRoOiA1NDBweDtcclxuXHRcdGhlaWdodDogNDYwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2Zvb3Rlci10b3dlci5zdmcnKSBuby1yZXBlYXQ7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdFx0b3BhY2l0eTogMC40O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0fVxyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHRoZWlnaHQ6IDQ2MHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fbGVmdCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0YWxpZ24tY29udGVudDogYmFzZWxpbmU7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDQwcHggNDBweCAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDQ1cHggMCAyNXB4IDA7XHJcblx0fVxyXG5cclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0d2lkdGg6IDUwJTtcclxuXHRwYWRkaW5nOiA4MHB4IDcwcHggNTBweCAwO1xyXG5cdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG59XHJcblxyXG4uZm9vdGVyX19yaWdodCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDgwcHggMCAzMHB4IDEwMHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDAgNDBweCAxMDBweDtcclxuXHRcdGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDgwcHggMCAzNXB4IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHR3aWR0aDogNTAlO1xyXG5cdHBhZGRpbmc6IDgwcHggMCA1MHB4IDE1MHB4O1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArIDgxcHgpO1xyXG5cdFx0XHRoZWlnaHQ6IDM2MXB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogLTQxcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLy4uL2ltYWdlcy9iYWNrZ3JvdW5kLWZvb3Rlci1tb2JpbGUuc3ZnKSBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiA5ODlweDtcclxuXHRcdGhlaWdodDogNDYwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2JhY2tncm91bmQtZm9vdGVyLnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdHotaW5kZXg6IDA7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHR9XHJcblxyXG5cdCoge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzLlxyXG4gKi9cclxuXHJcbi5mb290ZXJfX2FkZHJlc3Mge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTsgXHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDI2MHB4O1xyXG59XHJcblxyXG4uZm9vdGVyX19hZGRyZXNzLWhlYWQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogY2FsYyg1MCUgLSA5cHgpO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fYWRkcmVzcy1ib2R5IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2FkZHJlc3MtdmlzaXQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbjogMCAwIDIwcHggLTI3cHg7XHJcblx0fVxyXG5cclxuXHRtYXJnaW46IDAgMCAzMHB4IC0yN3B4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiA2cHg7XHJcblx0XHR3aWR0aDogMTdweDtcclxuXHRcdGhlaWdodDogMTRweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjdweCk7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19hZGRyZXNzLXBvc3Qge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbjogMCAwIDEwcHggLTI3cHg7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tbGVmdDogLTI3cHg7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDZweDtcclxuXHRcdHdpZHRoOiAxN3B4O1xyXG5cdFx0aGVpZ2h0OiAxNHB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyN3B4KTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29udGFjdC5cclxuICovXHJcblxyXG4uZm9vdGVyX19jb250YWN0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7IFxyXG5cdH1cclxuXHJcblx0d2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4uZm9vdGVyX19jb250YWN0LWhlYWQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogY2FsYyg1MCUgLSA5cHgpO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fY29udGFjdC1ib2R5IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbnRhY3QtaG91cnMge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbnRhY3QtdGV4dCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2l0ZW1hcC5cclxuICovXHJcblxyXG4uZm9vdGVyX19zaXRlbWFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNTAlO1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG59XHJcblxyXG4uZm9vdGVyX19zaXRlbWFwLWhlYWQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogY2FsYyg1MCUgLSA5cHgpO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fc2l0ZW1hcC1ib2R5IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEaXNjbGFpbWVyLlxyXG4gKi9cclxuXHJcbi5mb290ZXJfX2Rpc2NsYWltZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlOyBcclxuXHR9XHJcblxyXG5cdHdpZHRoOiA1MCU7XHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcbn1cclxuXHJcbi5mb290ZXJfX2Rpc2NsYWltZXItaGVhZCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiBjYWxjKDUwJSAtIDlweCk7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTdweDtcclxuXHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19kaXNjbGFpbWVyLWJvZHkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI1cHgpO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFNvY2lhbC5cclxuICovXHJcblxyXG4uZm9vdGVyX19zb2NpYWwtd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cG9zaXRpb246IGluaXRpYWw7XHJcblx0fVxyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9vdGVyX19zb2NpYWwge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbjogNDBweCAwIDAgMDtcclxuXHR9XHJcblxyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0d2lkdGg6IDUwJTtcclxuXHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19kZXZlbG9wZWQtYnkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG5cdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogNTAlO1x0XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiA0MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRib3R0b206IGF1dG87XHJcblx0XHRtYXJnaW4tdG9wOiA3MHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAyNHB4KTtcclxuXHR3aWR0aDogNTAlO1xyXG59XHJcbiIsIi5nb29nbGUtbWFwcyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5nb29nbGUtbWFwc19fbWFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA1ODVweCk7XHJcblx0aGVpZ2h0OiA0MDBweDtcclxuXHJcblx0PiBkaXYge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4uZ29vZ2xlLW1hcHNfX2ltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogNTg1cHg7XHJcblx0aGVpZ2h0OiA0MDBweDtcclxufVxyXG4iLCIuaGVhZGVyLXNlYXJjaCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNzVweDtcclxuXHR9XHJcblxyXG5cdG1pbi1oZWlnaHQ6IDcxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiA0MDtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250ZW50LlxyXG4gKi9cclxuXHJcbi5oZWFkZXItc2VhcmNoX19zdWJ0aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0cGFkZGluZy10b3A6IDM1cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRwYWRkaW5nLXRvcDogODBweDtcclxufVxyXG5cclxuLmhlYWRlci1zZWFyY2hfX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcdFxyXG5cdH1cclxuXHJcblx0bWF4LXdpZHRoOiA2NTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG59XHJcblxyXG4uaGVhZGVyLXNlYXJjaF9fZm9ybSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDYxMHB4O1xyXG5cdGhlaWdodDogNDdweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMjBweDtcclxufVxyXG5cclxuLmhlYWRlci1zZWFyY2hfX2xpbmtzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAyNHB4KTtcclxuXHRtYXJnaW46IDAgLTEycHg7XHJcbn1cclxuXHJcbi5oZWFkZXItc2VhcmNoX19saW5rIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRtYXJnaW46IDEwcHggMCAwIDA7XHJcblx0XHRwYWRkaW5nOiAwIDMwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHBhZGRpbmc6IDAgMjVweDtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogY2FsYygyMCUgLSAyNHB4KTtcclxuXHRoZWlnaHQ6IDE2NXB4O1xyXG5cdG1hcmdpbjogMCAxMnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRib3gtc2hhZG93OiAwIDAgMjVweCAwICRibGFjay0yMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0c3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRcdGhlaWdodDogMjBweDtcclxuXHRcdFx0bWFyZ2luOiAwIDE1cHggMCAwIDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMzRweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0XHRzdmcsXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogQmFja2dyb3VuZC5cclxuICovXHJcblxyXG4uaGVhZGVyLXNlYXJjaF9fYmFja2dyb3VuZCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0aGVpZ2h0OiA0ODJweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDcxMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdGltZyB7XHJcblx0XHR6LWluZGV4OiAxMDtcclxuXHR9XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdHJpZ2h0OiAxNjBweDtcclxuXHRcdFx0bGVmdDogYXV0bztcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0cmlnaHQ6IDEwMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR0b3A6IC0xMDVweDtcclxuXHRcdFx0cmlnaHQ6IDM1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiA5NzVweDtcclxuXHRcdGhlaWdodDogNzEwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2hlYWRlci1zZWFyY2guc3ZnJykgbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAyMDtcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRib3R0b206IC0xNjBweDtcdFxyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogLTE3MHB4O1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxNDQwcHg7XHJcblx0XHRoZWlnaHQ6IDIwNHB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9oZWFkZXIuc3ZnJykgbm8tcmVwZWF0O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAzMDtcclxuXHR9XHJcbn1cclxuIiwiLmhlYWRlci10ZXh0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcblx0cGFkZGluZzogNDVweCAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRyZWQtMzAwO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDM2NXB4O1xyXG5cdFx0aGVpZ2h0OiA0ODJweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvdG93ZXItcmVkLnN2ZycpO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXItdGV4dF9fdGV4dCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiA1NSU7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiA2NSU7XHJcblx0cGFkZGluZy1yaWdodDogMTAwcHg7XHJcblx0ei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5oZWFkZXItdGV4dF9faW1hZ2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogNDUlO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGhlaWdodDogMjAwcHg7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDM1JTtcclxuXHRoZWlnaHQ6IDM4N3B4O1xyXG5cclxuXHRpbWcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XHJcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0bWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuXHR9XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IC0xMTVweDtcclxuXHRcdHdpZHRoOiAyMjlweDtcclxuXHRcdGhlaWdodDogMzg3cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2ltYWdlLW92ZXJsYXkuc3ZnJykgbm8tcmVwZWF0O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IC0xNTBweDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMjI4cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvaGVhZGVyLXRleHQtbW9iaWxlLnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGJvdHRvbTogLTE3NXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlci10ZXh0X19oZWFkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQtMzAwO1xyXG5cdFx0cGFkZGluZzogNDBweCA2MHB4IDIwcHggNjBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0cGFkZGluZzogNDBweCAyMHB4IDIwcHggMjBweDtcclxuXHR9XHJcblxyXG5cdC5icmVhZGNydW1icyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0fVxyXG59XHJcblxyXG4uaGVhZGVyLXRleHRfX2RhdGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRjb2xvcjogJHJlZC0xMDA7XHJcbn1cclxuXHJcbi5oZWFkZXItdGV4dF9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbn1cclxuXHJcbi5oZWFkZXItdGV4dF9fZWRpdG9yIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA1NXB4IDYwcHggMCA2MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwYWRkaW5nOiA1NXB4IDIwcHggMCAyMHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgyMHB4LCAzOHB4KTtcclxuXHJcblx0dWwgbGkgc3ZnIHtcclxuXHRcdHRvcDogMTdweDtcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXItdGV4dF9fbGluayB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZzogMjBweCA2MHB4IDAgNjBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0cGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBhZGRpbmc6IDIwcHggMCAwIDA7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59IiwiLmhlYWRlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0aGVpZ2h0OiA3MHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTEwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR6LWluZGV4OiA5OTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHR9XHJcblxyXG5cdCYuaXMtc2Nyb2xsZWQge1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMTA7XHJcblx0fVxyXG59XHJcblxyXG4uaGVhZGVyX19jb250YWluZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGhlaWdodDogNzBweDtcclxuXHR9XHJcblxyXG5cdGhlaWdodDogMTEwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVG9wLlxyXG4gKi9cclxuXHJcbi5oZWFkZXJfX3RvcCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWxpZ2h0LTIwMDtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE3MHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRoZWlnaHQ6IDM1cHg7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogNzBweDtcclxuXHRcdH1cclxuXHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0aGVpZ2h0OiA1NXB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxNjBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX3Bob25lIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDEycHgsIDI0cHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyNHB4KTtcclxuXHRjb2xvcjogJGdyZWVuLTEwMDtcclxufVxyXG5cclxuLmhlYWRlcl9fbWVudS10b3Age1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjRweCk7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRjb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0I21lbnUtaXRlbS0yMTMge1xyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm90dG9tLlxyXG4gKi9cclxuXHJcbi5oZWFkZXJfX21haW4ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNzBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0aGVpZ2h0OiAzNXB4O1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDcwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogNTVweDtcclxuXHRcdHBhZGRpbmctbGVmdDogMTYwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uaGVhZGVyX19sb2dvIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0dG9wOiAtNDJweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IC01N3B4O1xyXG5cdGxlZnQ6IDM0cHg7XHJcblxyXG5cdGltZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdHdpZHRoOiA4MnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDEyMHB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbG9nby1uYW1lIHtcclxuXHRpbWcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWF4LXdpZHRoOiAxNThweDtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDI2NHB4O1xyXG5cdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbWVudS1tYWluIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdD4gbGkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjRweCk7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIsXHJcblx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0ei1pbmRleDogOTk7XHJcblxyXG5cdFx0XHQ+IC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHR0b3A6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0LnN1Ym1lbnUge1xyXG5cdFx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogLTEwMCU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDUwcHg7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XHJcblx0XHR3aWR0aDogbWF4LWNvbnRlbnQ7XHJcblx0XHR3aWR0aDogMTkwcHg7XHJcblx0XHRwYWRkaW5nLXRvcDogMTZweDtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHJcblx0XHQuc3VibWVudSB7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgJGJsYWNrLTIwO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHggMDtcclxuXHJcblx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDI1cHg7XHJcblxyXG5cdFx0XHRcdD4gYSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDI0cHgpO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogNXB4IDA7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHJlZC0yMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0sXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHR6LWluZGV4OiA5OTtcclxuXHJcblx0XHRcdFx0XHQ+IC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHRcdHotaW5kZXg6IDEwMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHR0b3A6IC0yNXB4O1xyXG5cdFx0XHRcdFx0bGVmdDogMTAwJTtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSk7XHJcblxyXG5cdFx0XHRcdFx0LnN1Ym1lbnUge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTIwMDtcclxuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogNHB4IDJweCA0cHggMCAkYmxhY2stMjA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1lbnUgQnV0dG9uLlxyXG4gKi9cclxuXHJcbiR0cmFuc2l0aW9uLXRpbWluZzogNDAwbXM7XHJcbi5oZWFkZXJfX21lbnUtYnV0dG9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMThweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdHotaW5kZXg6IDEwMDtcclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMThweDtcclxuXHRcdFx0aGVpZ2h0OiAycHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nIDBzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0dG9wOiBjYWxjKDUwJSAtIDFweCk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIG9wYWNpdHkgMG1zICR0cmFuc2l0aW9uLXRpbWluZztcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgzKSB7XHJcblx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAwcztcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdFx0dG9wOiBjYWxjKDUwJSAtIDFweCk7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcclxuXHRcdFx0XHRcdGJvdHRvbTogY2FsYyg1MCUgLSAxcHgpO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIGJvdHRvbSAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIubmF2aWdhdGlvbi1tb2JpbGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gNzBweCk7XHJcblx0XHRtYXJnaW4tdG9wOiA3MHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMTAwdmg7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAxMTBweCk7XHJcblx0bWFyZ2luLXRvcDogMTEwcHg7XHJcblx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlLTEwMDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHotaW5kZXg6IDk5O1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1haW4gbWVudS5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbi1tb2JpbGVfX21haW4ge1xyXG5cdHBhZGRpbmc6IDVweCAwIDIwcHggMDtcclxuXHRib3JkZXItYm90dG9tOiA1cHggc29saWQgJGdyZWVuLWxpZ2h0LTE4O1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdD4gbGkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCYuY3VycmVudF9wYWdlX2FuY2VzdG9yLFxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0XHRcdFx0PiBzcGFuIHN2ZyB7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gYSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjNweCk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW46IDIwcHggMDtcclxuXHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblxyXG5cdFx0XHQ+IHNwYW4ge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweCAwIDVweDtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gOHB4KTtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHRcdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0PiAuc3VibWVudS1jb250YWluZXIge1xyXG5cdFx0XHRwYWRkaW5nOiAxNXB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0LnN1Ym1lbnUtY29udGFpbmVyIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNjBweDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDg1cHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMjBweDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IDEwMHZ3O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogLTUwcHg7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogNzVweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC01O1xyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDMzcHgpO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblxyXG5cdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gOHB4KTtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuc3VibWVudS1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuY3VycmVudF9wYWdlX2FuY2VzdG9yLFxyXG5cdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cclxuXHRcdFx0XHRcdFx0PiBzcGFuIHN2ZyB7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBUb3AgbWVudS5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbi1tb2JpbGVfX3RvcCB7XHJcblx0bGkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAzM3B4KTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvcixcclxuXHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubmF2aWdhdGlvbi1tb2JpbGVfX3Bob25lIHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDMzcHgpO1xyXG59XHJcblxyXG4vKipcclxuICogRGlzYWJsZSBzY3JvbGwuXHJcbiAqL1xyXG5cclxuYm9keS5pcy1hY3RpdmUge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdC5oZWFkZXI6OmJlZm9yZSB7XHJcblx0XHRib3R0b206IDA7XHJcblx0fVxyXG59XHJcbiIsIi5uZXdzLWl0ZW0ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMTA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHRcdC5uZXdzLWl0ZW1fX21vcmUsXHJcblx0XHQubmV3cy1pdGVtX190aXRsZSB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMjBweFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5ld3MtaXRlbV9fZGF0ZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQtNjQ7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5uZXdzLWl0ZW1fX2ltYWdlIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1pdGVtX19pbWFnZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTk1cHg7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQtMzA7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3MtaXRlbV9fZGF0ZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogMTA1cHg7XHJcblx0aGVpZ2h0OiAyNnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS05MDtcclxuXHRjb2xvcjogJHJlZC0xMDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweCAwIDAgMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxufVxyXG5cclxuLm5ld3MtaXRlbV9fYm9keSB7XHJcblx0cGFkZGluZzogMjBweCAyNXB4O1xyXG59XHJcblxyXG4ubmV3cy1pdGVtX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLm5ld3MtaXRlbV9fbW9yZSB7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHR9XHJcbn0iLCIubmV3cy1sYXRlc3Qge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAxNjBweDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0QG1lZGlhKG1pbi13aWR0aDogMTQwMHB4KSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTQ0MHB4O1xyXG5cdFx0aGVpZ2h0OiA1NzVweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvYmFja2dyb3VuZC1uZXdzLnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1sYXRlc3RfX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMTVweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fd3JhcCB7XHJcblx0Lm5ld3MtaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdHdpZHRoOiAyNzBweDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogMzAwcHg7XHJcblx0fVxyXG5cclxuXHQub3dsLXN0YWdlLW91dGVyIHtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdFx0d2lkdGg6IDEwMHZ3O1xyXG5cdH1cclxuXHJcblx0Lm93bC1uYXYge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR0b3A6IC05MHB4O1xyXG5cdFx0fVxyXG5cdFxyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogLTEyMHB4O1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMTEwcHg7XHJcblxyXG5cdFx0YnV0dG9uIHtcclxuXHRcdFx0QGV4dGVuZCAlYnV0dG9uLS1hcnJvdztcclxuXHJcblx0XHRcdCYuZGlzYWJsZWQge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcclxuXHRcdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0XHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5uZXdzLWxpc3Qge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDcwcHg7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRoZWlnaHQ6IDQ4MnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC01O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAwO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDM2NXB4O1xyXG5cdFx0aGVpZ2h0OiA0ODJweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvdG93ZXItcmVkLnN2ZycpO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3MtbGlzdF9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDcwcHggMCA3MHB4IDA7O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHBhZGRpbmc6IDEyMHB4IDAgODBweCAwO1xyXG59XHJcblxyXG4ubmV3cy1saXN0X193cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogLTE1cHggMDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHR3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XHJcblx0bWFyZ2luOiAtMTVweDtcclxuXHJcblx0Lm5ld3MtaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAxNXB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoMzMuMzMzMyUgLSAzMHB4KTtcclxuXHRcdG1hcmdpbjogMTVweDtcclxuXHR9XHJcbn1cclxuIiwiLm5ld3Mtc2luZ2xlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbn1cclxuIiwiLnNlYXJjaC1mb3JtX19kZXNrdG9wIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogNDdweDtcclxuXHJcblx0aW5wdXQge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDQ3cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMzZweDtcclxuXHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0XHQmOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdGNvbG9yOiAkcmVkLTMzO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YnV0dG9uIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHdpZHRoOiAyMDBweDtcclxuXHRcdGhlaWdodDogNDdweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDI5cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IDE5cHg7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHdpZHRoOiAyMTBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4uc2VhcmNoLWZvcm1fX21vYmlsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdGlucHV0IHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjNweCk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA0N3B4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDM2cHg7XHJcblx0XHRwYWRkaW5nOiAwIDIwcHggMCA1MHB4O1xyXG5cclxuXHRcdCY6OnBsYWNlaG9sZGVyIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS03MDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGJ1dHRvbiB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDdweDtcclxuXHRcdGxlZnQ6IDIwcHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRcdGhlaWdodDogMzRweDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLnNlYXJjaC1pdGVtIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgJGJsYWNrLTEwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0XHQuc2VhcmNoLWl0ZW1fX21vcmUsXHJcblx0XHQuc2VhcmNoLWl0ZW1fX3RpdGxlIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuc2VhcmNoLWl0ZW1fX2RhdGUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTY0O1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHJcblx0XHQuc2VhcmNoLWl0ZW1fX2ltYWdlIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuc2VhcmNoLWl0ZW1fX2JyZWFkY3J1bWJzIHtcclxuXHRcdFx0YSxcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4uc2VhcmNoLWl0ZW1fX2ltYWdlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxOTVweDtcclxuXHJcblx0YSB7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTMwO1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0ei1pbmRleDogOTk7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNlYXJjaC1pdGVtX19kYXRlIHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHdpZHRoOiAxMDVweDtcclxuXHRoZWlnaHQ6IDI2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTkwO1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG59XHJcblxyXG4uc2VhcmNoLWl0ZW1fX2JvZHkge1xyXG5cdHBhZGRpbmc6IDIwcHggMjVweDtcclxufVxyXG5cclxuLnNlYXJjaC1pdGVtX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnNlYXJjaC1pdGVtX19tb3JlIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxufVxyXG5cclxuLnNlYXJjaC1pdGVtX19icmVhZGNydW1icyB7XHJcblx0c3BhbixcclxuXHRhIHtcclxuXHRcdGNvbG9yOiAkZ3JleS0xMDA7XHJcblx0fVxyXG59IiwiLnNlYXJjaC1yZXN1bHRzIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRoZWlnaHQ6IDQ4MnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC01O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAwO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDM2NXB4O1xyXG5cdFx0aGVpZ2h0OiA0ODJweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvdG93ZXItcmVkLnN2ZycpO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0Lm5hdmlnYXRpb24ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA3MHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdG1hcmdpbi10b3A6IDEwMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnNlYXJjaC1yZXN1bHRzX190aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZzogNzBweCAwIDcwcHggMDs7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0cGFkZGluZzogMTIwcHggMCA4MHB4IDA7XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0c19fd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IC0xNXB4IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTA7XHJcblx0d2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xyXG5cdG1hcmdpbjogLTE1cHg7XHJcblxyXG5cdC5zZWFyY2gtaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAxNXB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoMzMuMzMzMyUgLSAzMHB4KTtcclxuXHRcdG1hcmdpbjogMTVweDtcclxuXHR9XHJcbn1cclxuIiwiLnRleHQtZmFxIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNzBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQuXHJcbiAqL1xyXG5cclxuLnRleHQtZmFxX190ZXh0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDcwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYyg1MCUgLSAzNXB4KTtcclxufVxyXG5cclxuLnRleHQtZmFxX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnRleHQtZmFxX19zdWJ0aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnRleHQtZmFxX19lZGl0b3Ige1xyXG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRkFRLlxyXG4gKi9cclxuXHJcbi50ZXh0LWZhcV9fcXVlc3Rpb25zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDUwJSAtIDM1cHgpO1xyXG59XHJcblxyXG4udGV4dC1mYXFfX3F1ZXN0aW9uIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuXHJcblx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0LWZhcV9fcXVlc3Rpb24taGVhZCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMTNweCAyNXB4IDE1cHggMjVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMTA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gOXB4KTtcclxuXHRcdHJpZ2h0OiAxOHB4O1xyXG5cdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZTtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDA7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMjVweCAwICRibGFjay0yMDtcclxuXHJcblx0XHQudGVhc2Vyc19fcXVlc3Rpb24tdGl0bGUge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGV4dC1mYXFfX3F1ZXN0aW9uLXRpdGxlIHtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxufVxyXG5cclxuLnRleHQtZmFxX19xdWVzdGlvbi1ib2R5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHBhZGRpbmc6IDI1cHggMjBweCAxMHB4IDIwcHg7XHJcbn1cclxuIiwiLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBjbGFzc2VzIGJhc2VkIG9uIGV2ZXJ5IGNvbG9yIGRlZmluaXRpb24gaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICogTG9vcCB0aHJvdWdoIGV2ZXJ5IGAka2V5YCBhbmQgYCRtYXBgIGluIHRoZSBgJGNvbG9yc2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICovXHJcbiBcclxuQGVhY2ggJGtleSwgJG1hcCBpbiAkY29sb3JzIHtcclxuXHJcblx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGAkc2hhZGVgIGFuZCBgJHJnYmAgaW4gYCRtYXBgLlxyXG5cdEBlYWNoICRzaGFkZSwgJHJnYiBpbiAkbWFwIHtcclxuXHJcblx0XHQvLyBMb29wIHRocm91Z2ggZXZlcnkgYGNvbG9yYCBhbmQgYGJhY2tncm91bmQtY29sb3JgIHJ1bGVzLlxyXG5cdFx0QGVhY2ggJHJ1bGUgaW4gY29sb3IsIGJhY2tncm91bmQtY29sb3Ige1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIGAjeyRydWxlfWAgI3skcmdifS0jeyRzaGFkZX0gY29sb3IgdXRpbGl0eS5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuI3skcnVsZX0tI3t1bnF1b3RlKCRrZXkpfS0je3VucXVvdGUoJHNoYWRlKX0ge1xyXG5cdFx0XHRcdCN7JHJ1bGV9OiAkcmdiO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBWaXN1YWxseSBoaWRlIGFueSBlbGVtZW50IGZyb20gdGhlIHVzZXIuXHJcbiAqL1xyXG5cclxuLnZpc3VhbGx5LWhpZGRlbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxcHg7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDFweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXHJcbiAqL1xyXG5cclxuLmxhenlsb2FkIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgY2xhc3MgZm9yIG9iamVjdCBmaXQgcG9seWZpbGwuIEFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50XHJcbiAqIHRoYXQgdXRpbGl6ZXMgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG4lb2JqZWN0LWZpdCxcclxuLm9iamVjdC1maXQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiBjZW50ZXIuXHJcbiAqL1xyXG5cclxuLmFsaWduLWNlbnRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWxpZ24gbGVmdC5cclxuICovXHJcblxyXG4uYWxpZ24tbGVmdCB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsaWduIHJpZ2h0LlxyXG4gKi9cclxuXHJcbi5hbGlnbi1yaWdodCB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gZmlsbCwgY29udGFpbiwgY292ZXIsIG5vbmUsIHNjYWxlLWRvd24ge1xyXG5cclxuXHQvKipcclxuXHQgKiBgb2JqZWN0LWZpdGAgI3skdmFsdWV9IHV0aWxpdHkgY2xhc3MuXHJcblx0ICovXHJcblxyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07JzsgLyogMSAqL1xyXG5cdFx0b2JqZWN0LWZpdDogI3skdmFsdWV9O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0cG9zaXRpb246ICR2YWx1ZTtcclxuXHR9XHJcbn1cclxuIiwiXHJcbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LXNpemUge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdGV4dCgkcHJvcGVydHkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgYWxpZ25tZW50IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0LCBjZW50ZXIge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246ICRkaXJlY3Rpb247XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuXHRcdFx0JGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHRyYW5zZm9ybSBpbiBjYXBpdGFsaXplLCB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgbm9uZSwgZnVsbC13aWR0aCB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skdHJhbnNmb3JtfSB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFZlcnRpY2FsIFJoeXRobS5cclxuICovXHJcbiBcclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMCB7XHJcblx0JGk6ICRpICogODtcclxuXHJcblx0LnZyLSN7JGl9IHtcclxuXHRcdG1hcmdpbi1ib3R0b206ICN7JGl9cHg7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkei1pbmRleCB7XHJcblx0LnotaW5kZXgtI3ska2V5fSB7XHJcblx0XHR6LWluZGV4OiAkdmFsdWU7XHJcblx0fVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FBUUg7O0dBRUc7QUFZSDs7R0FFRztBRzFCSDs7R0FFRztBQWVIOztHQUVHO0FBTUg7O0dBRUc7QUFlSDs7R0FFRztBQU1ILEFBQUEsQ0FBQyxBQUFBLFdBQVcsQ0FBQztFQUNYLGdCQUFnQixFRjVCVCxPQUEwQjtFRTZCakMsS0FBSyxFRjNDRSxLQUFvQixHRTRDNUI7O0FBRUQ7O0dBRUc7QUxuREg7O0dBRUc7QU1SSCw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElB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 */
