/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/**
 * Swiper 3.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * 
 * http://www.idangero.us/swiper/
 * 
 * Copyright 2016, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 * 
 * Licensed under MIT
 * 
 * Released on: February 7, 2016
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  -ms-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-transition-property: -webkit-transform, height;
  transition-property: transform, height;
}

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

/* IE10 Windows Phone 8 Fixes */
.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

/* Arrows */
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -webkit-background-size: 27px 44px;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

/* 3D Container */
.swiper-container-3d {
  -webkit-perspective: 1200px;
  -o-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  /* Safari 4+, Chrome */
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  /* Safari 4+, Chrome */
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
  /* Safari 4+, Chrome */
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  /* Safari 4+, Chrome */
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */
}

/* Coverflow */
.swiper-container-coverflow .swiper-wrapper,
.swiper-container-flip .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px;
}

/* Cube + Flip */
.swiper-container-cube,
.swiper-container-flip {
  overflow: visible;
}

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-cube .swiper-slide .swiper-slide,
.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-flip .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Cube */
.swiper-container-cube .swiper-slide {
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

/* Fade */
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  -webkit-background-size: 100%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@font-face {
  font-family: "Lineto";
  src: url("../fonts/lineto-typ1451-regular-s.eot");
  src: url("../fonts/lineto-typ1451-regular-s.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-typ1451-regular-s.woff") format("woff"), url("../fonts/lineto-typ1451-regular-s.ttf") format("truetype"), url("../fonts/lineto-typ1451-regular-s.svg#Lineto") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Haptik";
  src: url("../fonts/GT-Haptik-Regular.eot");
  src: url("../fonts/GT-Haptik-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/GT-Haptik-Regular.woff") format("woff"), url("../fonts/GT-Haptik-Regular.ttf") format("truetype"), url("../fonts/GT-Haptik-Regular.svg#Haptik") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Maison Neue Light';
  src: url("../fonts/MaisonNeueWEB-Light.woff2") format("woff2"), url("../fonts/MaisonNeueWEB-Light.woff") format("woff");
  font-weight: normal;
}

@font-face {
  font-family: 'Maison Neue Demi';
  src: url("../fonts/MaisonNeueWEB-Demi.woff2") format("woff2"), url("../fonts/MaisonNeueWEB-Demi.woff") format("woff");
  font-weight: normal;
}

body {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: scroll;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

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

.float-left {
  float: left;
}

.float-right {
  float: right;
}

@media (min-width: 768px) {
  .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (max-width: 767px) {
  .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.lazy {
  -webkit-transition: opacity 350ms;
  transition: opacity 350ms;
}

.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
}

/* Typography
--------------*/
body {
  font: 100%/1 "Maison Neue Light", "Calibri", "Arial", sans-serif;
  color: #212121;
  background: #fff;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
  color: inherit;
}

b, strong {
  font-weight: normal;
}

strong {
  font-family: "Maison Neue Demi", "Calibri", "Arial", sans-serif;
}

@media (min-width: 1025px) {
  .text-content--large {
    font-size: 1.25rem;
    line-height: 1.2;
  }
}

@media (max-width: 1024px) {
  .text-content--large {
    line-height: 1.375em;
  }
}

@media (max-width: 500px) {
  .text-content--large {
    font-size: .875rem;
  }
}

/* Headings
--------------*/
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 1em;
  margin: 0;
}

@media (min-width: 1025px) {
  .h2 {
    font-size: 2.1875em;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .h2 {
    font-size: 1.5em;
  }
}

@media (max-width: 767px) {
  .h2 {
    font-size: 1.25em;
  }
}

.h3 {
  font-size: 1.5em;
}

hr {
  border-top: 1px solid #000;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
}

/* Nav
--------------*/
.header {
  position: fixed;
  top: 0;
  z-index: 2000;
  width: 100%;
  background: #212121;
  padding-top: .8125em;
  padding-bottom: .8125em;
  color: #fff;
}

.header-masthead {
  overflow: hidden;
  -webkit-transition: opacity 350ms;
  transition: opacity 350ms;
}

.header-masthead a {
  position: relative;
  display: block;
  color: inherit;
}

.header-masthead__home {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.header-current-page,
.header-masthead__name {
  font-family: "Lineto", "Helvetica", "Helvetica Neue", "Arial", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  letter-spacing: 0.25em;
  font-size: 0.85em;
  line-height: 1.4375rem;
}

.header-current-page {
  position: absolute;
  top: .8125rem;
  left: 0;
  right: 0;
  z-index: 1;
  display: none;
  text-align: center;
}

.header-masthead__name {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (max-width: 1023px) {
  .header-masthead__name {
    left: 50%;
  }
}

.header-masthead__icon,
.header-masthead__strap {
  display: inline-block;
  vertical-align: middle;
}

.header-masthead__icon {
  width: 36px;
  height: 23px;
  background: url(../img/fb-logo-white.svg) no-repeat 0 0;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  margin: 0 1.5em 0 0;
}

.header-masthead__strap {
  font-family: "Maison Neue Light", "Calibri", "Arial", sans-serif;
}

@media (max-width: 767px) {
  .header-masthead__strap {
    display: none;
  }
}

@media (min-width: 1025px) {
  .primary-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0;
  }
  .primary-nav li {
    font-size: 1rem;
    display: inline-block;
    margin: 0 1.25em;
  }
  .primary-nav li:last-child {
    margin-right: 0;
  }
  .primary-nav li:first-child {
    margin-left: 0;
  }
  .primary-nav .current-menu-item a {
    color: #00AEEF;
  }
  .primary-nav a {
    font-family: "Lineto", "Helvetica", "Helvetica Neue", "Arial", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    letter-spacing: 0.25em;
    font-size: 0.85em;
    color: inherit;
    line-height: 1.4375rem;
    -webkit-transition: color 350ms;
    transition: color 350ms;
  }
  .primary-nav a:hover {
    color: #00AEEF;
  }
}

@media (max-width: 1024px) and (min-height: 500px) {
  .primary-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media (max-width: 1024px) {
  .header__left {
    float: none;
  }
  body:not(.home) .header-masthead__home {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  .primary-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
    height: 100%;
    background: #212121;
    text-align: center;
    padding: 4.5rem;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .primary-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .primary-nav li {
    font-size: 3.125em;
    margin: 3rem 0;
  }
  .primary-nav .current-menu-item a {
    color: #00AEEF;
  }
  .primary-nav a {
    font-family: "Lineto", "Helvetica", "Helvetica Neue", "Arial", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.3em;
  }
  .primary-nav.nav-active {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-box-shadow: -2px 3px 12px rgba(0, 0, 0, 0.5);
    box-shadow: -2px 3px 12px rgba(0, 0, 0, 0.5);
  }
  .mobile-nav-close,
  .mobile-nav-icon {
    position: absolute;
    top: 0;
    z-index: 2;
    width: 3.0625em;
    height: 3.0625em;
  }
  .mobile-nav-close {
    right: .875rem;
    background: url(../img/mobile-icon-close.svg) no-repeat 50% 50%;
    -webkit-background-size: .875rem;
    background-size: .875rem;
  }
  .mobile-nav-icon {
    right: 1.0625rem;
    background: url(../img/mobile-icon-white.svg) no-repeat 50% 50%;
    -webkit-background-size: 19px 13px;
    background-size: 19px 13px;
  }
  .header-current-page {
    display: block;
  }
  .header__right {
    float: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
  }
}

@media (max-width: 767px) {
  .primary-nav {
    padding: 2rem;
  }
  .primary-nav li {
    font-size: 1.5em;
    margin: 2rem 0;
  }
  .mobile-nav-close,
  .mobile-nav-icon {
    width: 3.375em;
  }
  .mobile-nav-close {
    right: 0;
  }
  .mobile-nav-icon {
    right: .25em;
  }
}

.header-placeholder {
  height: 3.0625em;
}

.single-films .menu-item-thinking,
.post-type-archive-films .menu-item-thinking,
.single-chapters .menu-item-thinking,
.post-type-archive-chapters .menu-item-thinking,
.single-press .menu-item-thinking,
.post-type-archive-press .menu-item-thinking,
.single-post .menu-item-thinking,
.blog .menu-item-thinking {
  color: #00AEEF;
}

.section {
  background: #fff;
  position: relative;
  z-index: 1;
}

@media (min-width: 769px) {
  .section {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
}

@media (max-width: 768px) {
  .section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.section:first-child {
  padding-top: 2rem;
}

.section-title {
  text-align: center;
}

@media (min-width: 769px) {
  .section-title {
    margin: 0 0 4.5rem;
  }
}

@media (max-width: 768px) {
  .section-title {
    margin: 0 0 3rem;
  }
}

/* Footer
--------------*/
.footer {
  background: #212121;
  color: #C8C8C8;
  position: relative;
  z-index: 1;
}

.footer a {
  -webkit-transition: color 350ms;
  transition: color 350ms;
}

.footer a:hover {
  color: #00AEEF;
}

@media (min-width: 1024px) {
  .footer {
    padding: 3rem;
  }
}

@media (max-width: 1023px) {
  .footer {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.footer-title {
  font-size: 1.375rem;
  padding-bottom: 1em;
  border-bottom: 1px solid #C8C8C8;
}

.footer-columns {
  font-size: 0;
}

@media (min-width: 768px) {
  .footer-columns {
    margin: 3rem 0;
  }
}

@media (max-width: 767px) {
  .footer-columns {
    margin: 2rem 0;
  }
}

.footer-column {
  display: inline-block;
  vertical-align: top;
  font-size: .75rem;
  line-height: 1.5;
}

.footer-column p:last-child {
  margin-bottom: 0;
}

.footer-column p:first-child {
  margin-top: 0;
}

@media (min-width: 1024px) {
  .footer-column {
    width: 16.6666%;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .footer-column {
    width: 33.3333%;
  }
}

@media (max-width: 767px) {
  .footer-column {
    width: 100%;
  }
  .footer-column:not(:last-child) {
    margin: 0 0 2rem;
  }
}

.footer-copyright {
  border-top: 1px solid #C8C8C8;
  padding-top: 1.375rem;
}

.footer-copyright p, .footer-copyright li {
  display: inline-block;
  font-size: .75rem;
}

@media (min-width: 768px) {
  .footer-copyright p, .footer-copyright li {
    margin: 0 2rem 0 0;
  }
}

@media (max-width: 767px) {
  .footer-copyright p, .footer-copyright li {
    margin: 0 1.25rem 0 0;
  }
}

.footer-copyright ul {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}

.text-button {
  appearance: none;
  background: none;
  border: 0;
  font-size: inherit;
  -webkit-transition: color 250ms;
  transition: color 250ms;
}

.text-link {
  font-family: "Maison Neue Light", "Calibri", "Arial", sans-serif;
  font-size: .875rem;
  color: #00AEEF;
}

.play-button {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 1px solid #fff;
  margin: 0 .75rem 0 0;
}

.play-button:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8.7px;
  margin: -5px 0 0 -3px;
  border-color: transparent transparent transparent #fff;
}

.button {
  display: inline-block;
  font-size: .875rem;
  padding: .75rem;
  text-align: center;
  min-width: 10rem;
  border: 1px solid #00AEEF;
  color: #00AEEF;
  -webkit-transition: 350ms;
  transition: 350ms;
}

.button:hover {
  background: #00AEEF;
  color: #fff;
}

/* Custom Video
--------------*/
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.fresh-player_wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.vjs-hidden {
  display: none;
}

.fresh-player {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.fresh-player video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

.fresh-player.vjs-waiting:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1000;
  margin: -3em 0 0 -3em;
  width: 6em;
  height: 6em;
  background: url(../img/icon-video-loader.svg) no-repeat 50% 50%;
  -webkit-background-size: 6em;
  background-size: 6em;
  -webkit-animation: rotate 1000ms infinite linear;
  animation: rotate 1000ms infinite linear;
}

.fresh-player .vjs-big-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 150;
  margin: -1.25em 0 0 -1.25em;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid #fff;
  cursor: pointer;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
}

.fresh-player .vjs-big-play-button:after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 0 7.5px 12.5px;
  border-color: transparent transparent transparent #fff;
  -webkit-transform: translateY(-50%) translateX(-33.33%);
  -ms-transform: translateY(-50%) translateX(-33.33%);
  transform: translateY(-50%) translateX(-33.33%);
}

.fresh-player .vjs-poster {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 140;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: 50% 50%;
  cursor: pointer;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
}

.fresh-player.vjs-has-started .vjs-poster {
  opacity: 0;
}

.fresh-player.vjs-has-started .vjs-big-play-button {
  opacity: 0;
}

.fresh-player.vjs-has-started .vjs-control-bar {
  opacity: 1;
  z-index: 150;
}

.fresh-player .vjs-control-text,
.fresh-player .vjs-time-controls,
.fresh-player .vjs-time-divider {
  display: none;
}

.fresh-player.vjs-user-inactive .vjs-control-bar {
  opacity: 0;
}

.fresh-player .vjs-control-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  padding: 2em 3em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
}

.fresh-player .vjs-play-control {
  width: 1.75em;
  height: 1.75em;
  float: left;
  cursor: pointer;
  -webkit-transition: opacity 250ms;
  transition: opacity 250ms;
}

.fresh-player .vjs-play-control:hover {
  opacity: 0.4;
}

.fresh-player .vjs-play-control.vjs-paused .vjs-control-content {
  height: 100%;
  width: 100%;
  background: url(../img/icon-video-play.svg) no-repeat 50% 50%;
  -webkit-background-size: 29px 29px;
  background-size: 29px 29px;
}

.fresh-player .vjs-play-control.vjs-playing .vjs-control-content {
  height: 100%;
  width: 100%;
  background: url(../img/icon-video-pause.svg) no-repeat 50% 50%;
  -webkit-background-size: 36px 29px;
  background-size: 36px 29px;
}

.fresh-player .vjs-progress-control {
  position: absolute;
  left: 7em;
  right: 13em;
  top: 2em;
  height: 36px;
  margin-top: -3px;
}

.fresh-player .vjs-progress-holder {
  position: relative;
  height: 100%;
}

.fresh-player .vjs-load-progress {
  position: absolute;
  top: 50%;
  height: 3px;
  margin-top: -2px;
  background: #D8D8D8;
}

.fresh-player .vjs-seek-handle {
  position: absolute;
  top: 0;
  height: 39px;
  width: 3px;
  margin-top: -2px;
  background: #fff;
  cursor: -webkit-grab;
}

.fresh-player .vjs-time-controls,
.fresh-player .vjs-live-controls {
  display: none;
}

.fresh-player .vjs-fullscreen-control {
  position: absolute;
  top: 50%;
  right: 3em;
  cursor: pointer;
}

.fresh-player .vjs-fullscreen-control .vjs-control-content {
  width: 59px;
  height: 36px;
  margin-top: -19px;
  border: 2px solid #fff;
  -webkit-transition: border-width 250ms;
  transition: border-width 250ms;
}

.fresh-player.vjs-scrubbing {
  cursor: -webkit-grabbing;
}

.fresh-player.vjs-fullscreen .vjs-fullscreen-control .vjs-control-content,
.fresh-player .vjs-fullscreen-control:hover .vjs-control-content {
  border-width: 10px 15px 2px 2px;
}

.fresh-player.vjs-fullscreen .vjs-fullscreen-control:hover .vjs-control-content {
  border-width: 2px;
}

.fresh-player .vjs-mute-control {
  position: absolute;
  top: 50%;
  right: 8.5em;
  margin-top: -22.5px;
  cursor: pointer;
  -webkit-transition: opacity 250ms;
  transition: opacity 250ms;
}

.fresh-player .vjs-mute-control:hover {
  opacity: 0.4;
}

.fresh-player .vjs-mute-control div {
  width: 45px;
  height: 45px;
  background: url(../img/icon-video-mute.svg) 50% 50% no-repeat;
}

.fresh-player .vjs-mute-control.vjs-vol-0 div {
  background-image: url(../img/icon-video-unmute.svg);
}

.fresh-player .vjs-control:focus {
  outline: 0;
}

.fresh-player .vjs-control-bar {
  padding: 1em 1.5em;
}

.fresh-player .vjs-play-control.vjs-playing .vjs-control-content {
  -webkit-background-size: 24px 20px;
  background-size: 24px 20px;
}

.fresh-player .vjs-play-control.vjs-paused .vjs-control-content {
  -webkit-background-size: 20px 20px;
  background-size: 20px 20px;
}

.fresh-player .vjs-fullscreen-control {
  right: 1.5em;
}

.fresh-player .vjs-fullscreen-control .vjs-control-content {
  width: 36px;
  height: 24px;
  margin-top: -12px;
}

.fresh-player .vjs-progress-control {
  left: 4.5em;
  right: 7.5em;
  top: 1em;
}

.fresh-player .vjs-seek-handle {
  height: 24px;
  margin-top: 5px;
}

.fresh-player .vjs-mute-control {
  right: 4.5em;
  margin-top: -15px;
}

.fresh-player .vjs-mute-control div {
  width: 30px;
  height: 30px;
  -webkit-background-size: 100%;
  background-size: 100%;
}

.fresh-player .vjs-menu-button {
  display: none;
}

.vjs-paused {
  -webkit-transition: all 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-filter: brightness(100%);
  filter: brightness(100%);
}

.vjs-paused .vjs-big-play-button {
  -webkit-transition: inherit;
  transition: inherit;
}

.vjs-paused:hover {
  -webkit-filter: brightness(90%);
  filter: brightness(90%);
}

.vjs-paused:hover .vjs-big-play-button {
  -webkit-transform: scale(0.9);
  -ms-transform: scale(0.9);
  transform: scale(0.9);
  opacity: 0.9;
}

.ambient-bg-video {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.ambient-bg-video:not(.homepage-video).video-js {
  width: 100% !important;
  height: 100% !important;
}

.ambient-bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.homepage-video {
  position: fixed;
  z-index: 0;
}

@media (orientation: portrait) {
  .homepage-video-landscape {
    display: none;
  }
}

@media (orientation: landscape) {
  .homepage-video-portrait {
    display: none;
  }
}

.homepage-vision .ambient-bg,
.vision-standalone .ambient-bg {
  position: fixed;
  z-index: 0;
}

.breadcrumbs {
  margin: 0 0 2rem;
  font-size: .875rem;
}

.breadcrumbs a {
  -webkit-transition: color 350ms;
  transition: color 350ms;
}

.breadcrumbs a:hover {
  color: #00AEEF;
}

.breadcrumbs span {
  cursor: default;
}

.newsletter-column {
  width: 100%;
  max-width: 20rem;
  float: right;
}

@media (max-width: 1023px) {
  .newsletter-column {
    float: none;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .newsletter-column {
    margin-top: 2rem;
  }
}

.newsletter-signup_wrapper {
  width: 100%;
}

.newsletter-signup_inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.newsletter_email {
  color: #C8C8C8;
  background: none;
  padding: .375rem .75rem .25rem;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-right: .5rem;
}

.newsletter_email::-webkit-input-placeholder {
  color: #C8C8C8;
  opacity: 1;
}

.newsletter_email::-moz-placeholder {
  color: #C8C8C8;
  opacity: 1;
}

.newsletter_email:-ms-input-placeholder {
  color: #C8C8C8;
  opacity: 1;
}

.newsletter_email::placeholder {
  color: #C8C8C8;
  opacity: 1;
}

.newsletter_submit,
.newsletter_email {
  font-size: .75rem;
  border: 1px solid #C8C8C8;
  line-height: normal;
}

.newsletter_submit:focus,
.newsletter_email:focus {
  outline: 0;
}

.newsletter_submit {
  background: #C8C8C8;
  color: #212121;
  padding: .375rem 1.5rem .25rem;
}

.newsletter_submit:hover {
  background: #00AEEF;
  border-color: #00AEEF;
}

.newsletter-signup_message {
  margin-bottom: 1em;
}

/* Transitions
--------------*/
body {
  -webkit-transition: background-color 500ms;
  transition: background-color 500ms;
}

.nav-bar_segment--top {
  -webkit-transition: all 250ms;
  transition: all 250ms;
}

.shadow,
.site-quotes {
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

.work-grid_item--image,
.contact-location_single--image img {
  -webkit-transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.article-grid_item--image-top,
.about_swiper-slide {
  -webkit-transition: opacity 350ms;
  transition: opacity 350ms;
}

.about_swiper-controls-single {
  -webkit-transition: color 350ms;
  transition: color 350ms;
}

p a,
.read-more-link,
.post-single_related-title,
.post-single--series a {
  -webkit-transition: border-color 250ms, color 250ms;
  transition: border-color 250ms, color 250ms;
}

.homepage-cover_links a,
.nav-bar_segment--top:hover .primary-nav li a {
  -webkit-transition: border-color 250ms;
  transition: border-color 250ms;
}

.about_swiper-controls-single {
  -webkit-transition: color 250ms;
  transition: color 250ms;
}

.input-btn,
.insight_filter a {
  -webkit-transition: all 250ms;
  transition: all 250ms;
}

.image-slideshow--next,
.image-slideshow--prev {
  -webkit-transition: all 250ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 250ms cubic-bezier(0.19, 1, 0.22, 1);
}

/* Progress Bar
--------------*/
#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #00AEEF;
  position: fixed;
  z-index: 5000;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

.image-slideshow--prev:hover {
  background-position: 30% 50%;
}

.image-slideshow--next:hover {
  background-position: 70% 50%;
}

.insight_filter a:hover {
  color: #fff;
  background: #000;
  border-color: #000;
}

.about_swiper-controls-single:hover {
  color: #000;
}

.home .header-placeholder {
  display: none;
}

.homepage-cover-wrap {
  background: #000;
}

.homepage-cover {
  position: relative;
  min-height: 50vh;
  min-height: -webkit-calc(50vh - 1.53125em);
  min-height: calc(50vh - 1.53125em);
  overflow: hidden;
}

.homepage-cover__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 73.625rem;
  color: #fff;
  cursor: default;
  text-align: center;
}

.homepage-cover__inner p {
  max-width: 26rem;
  margin: 1.2em auto;
}

@media (min-width: 1024px) {
  .homepage-cover__inner {
    padding: 2rem  4rem;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .homepage-cover__inner {
    padding: 2rem 6rem;
  }
}

@media (max-width: 767px) {
  .homepage-cover__inner {
    padding: 1.25rem;
  }
}

@media (max-width: 500px) {
  .homepage-cover__inner {
    font-size: .8125rem;
  }
}

.homepage-cover__title {
  font-size: 1.25rem;
}

@media (min-width: 1024px) {
  .homepage-cover__title {
    font-size: 1.875rem;
  }
}

@media (min-width: 768px) {
  .homepage-cover__title {
    margin: 0 0 2.4em;
  }
}

.homepage-cover__text {
  line-height: 1.3;
}

@media (min-width: 768px) {
  .homepage-cover__text {
    font-size: 1.25rem;
  }
}

@media (min-width: 769px) {
  .homepage-work__offlink {
    text-align: right;
    margin: 2rem 0;
  }
}

@media (max-width: 768px) {
  .homepage-work__offlink {
    margin: 2rem 0 0;
  }
}

.homepage-vision {
  overflow: hidden;
}

.homepage-scroller {
  position: absolute;
  bottom: 1rem;
  left: 0;
  width: 100%;
}

@media (min-width: 1024px) {
  .homepage-scroller {
    bottom: 2rem;
  }
}

.homepage-scroller__button {
  border: 0;
  padding: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0 auto;
  background: url(../img/icon-homepage-arrow.svg) no-repeat 50% 50%;
  -webkit-background-size: 100%;
  background-size: 100%;
  display: block;
}

.homepage-scroller__button:focus {
  outline: 0;
}

@media (min-width: 1024px) {
  .thinking-columns {
    margin: 0 -1.25em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
  }
}

@media (max-width: 1023px) {
  .thinking-columns {
    margin: 0 -.625em;
  }
}

@media (min-width: 1024px) {
  .thinking-column {
    width: 25%;
    padding: 0 1.3125em;
    border-right: 1px solid #D3D3D3;
  }
}

@media (min-width: 500px) and (max-width: 1023px) {
  .thinking-column {
    width: 50%;
    padding: 0 .625em;
    margin: 0 0 3rem;
  }
}

@media (min-width: 500px) and (max-width: 1023px) {
  .thinking-column .article-item:nth-child(2) {
    display: none;
  }
}

@media (max-width: 499px) {
  .thinking-column {
    float: none;
  }
  .thinking-column:not(:last-child) {
    margin-bottom: 3rem;
  }
  .thinking-column .article-item:nth-last-child(-n+2) {
    display: none;
  }
}

.thinking-column .article-item {
  display: block;
  padding: 0;
}

@media (max-width: 499px) {
  .thinking-column .article-item {
    margin-bottom: .5em;
  }
}

.thinking-column:last-child {
  border: 0;
}

.thinking-title {
  text-align: center;
  margin: 0 0 1.625rem;
}

@media (max-width: 1023px) {
  .thinking-title {
    display: none;
  }
}

.homepage-main-title {
  line-height: 1.1818181818;
  letter-spacing: 0.03em;
  font-family: "Maison Neue Demi", "Calibri", "Arial", sans-serif;
}

@media (min-width: 1025px) {
  .homepage-main-title {
    font-size: 3.4375em;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .homepage-main-title {
    font-size: 2.578125em;
  }
}

@media (max-width: 767px) {
  .homepage-main-title {
    font-size: 2em;
  }
}

@media (max-width: 374px) {
  .homepage-main-title {
    font-size: 1.75em;
  }
}

.homepage-secondary-title {
  line-height: 1.25;
  letter-spacing: 0.03em;
  font-family: "Maison Neue Demi", "Calibri", "Arial", sans-serif;
}

@media (min-width: 1440px) {
  .homepage-secondary-title {
    font-size: 2.5em;
  }
}

@media (min-width: 1025px) and (max-width: 1439px) {
  .homepage-secondary-title {
    font-size: 2em;
  }
}

@media (min-width: 500px) and (max-width: 1024px) {
  .homepage-secondary-title {
    font-size: 1.5em;
  }
}

@media (max-width: 499px) {
  .homepage-secondary-title {
    font-size: 1.375em;
  }
}

@media (max-width: 374px) {
  .homepage-secondary-title {
    font-size: 1em;
  }
}

.homepage-section {
  background-color: rgba(33, 33, 33, 0.8);
  color: #fff;
  position: relative;
  z-index: 1;
}

@media (min-width: 769px) {
  .homepage-section__wrap {
    min-height: 100vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 769px) {
  .homepage-section__col {
    width: 50%;
  }
}

.homepage-section__image {
  position: relative;
}

.homepage-section__image img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.homepage-text-rows {
  width: 100%;
}

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

.homepage-text-row + .homepage-text-row {
  margin-top: 1em;
}

.homepage-text-row__title {
  text-align: right;
  padding-right: 0.5em;
}

.homepage-text-row__text {
  padding-left: 0.5em;
}

.homepage-text-row__title,
.homepage-text-row__text {
  width: 50%;
}

.homepage-section__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .homepage-section__text {
    min-height: 100vh;
  }
}

section.video-page {
  padding: 0 !important;
}

.video-page {
  position: relative;
  color: #fff;
  background: #000;
  min-height: 100vh;
  overflow: hidden;
}

@media (max-width: 767px) {
  .video-page {
    padding: 2rem 1.25rem;
  }
}

.video-page .ambient-bg-video {
  height: 100vh !important;
  width: 100% !important;
}

.video-page__wrap {
  position: relative;
  z-index: 20;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100vh;
  padding: 0 1em;
}

.video-page__100vh {
  height: 100vh;
}

.video-page__inner {
  z-index: 2;
  width: 100%;
}

@media (min-width: 500px) {
  .video-page__inner {
    padding: 0 7.5%;
  }
}

@media (max-width: 767px) {
  .video-page__inner .section-title {
    display: none;
  }
}

.video-page__inner p:first-of-type {
  margin-top: 0;
}

.video-page__inner p:last-of-type {
  margin-bottom: 0;
}

.video-page__inner-full {
  z-index: 2;
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .video-page__inner-full {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}

.video-page__inner-half {
  max-width: 32em;
}

@media (max-width: 499px) {
  .video-page__inner-half {
    margin: 4rem 0;
  }
}

@media (min-width: 500px) and (max-width: 767px) {
  .video-page__inner-half {
    margin: 6rem auto;
  }
}

@media (min-width: 768px) {
  .video-page__inner-half {
    width: 50%;
    float: left;
    padding: 0 1.5em;
  }
}

.video-page__button {
  margin: 1rem 0 0;
  width: 100%;
}

@media (min-width: 1024px) {
  .video-page__button {
    margin: 2rem 0 0;
  }
}

.video-overlay-trigger {
  display: inline-block;
  margin: 0 auto;
  font-size: 1em;
}

@media (min-width: 1024px) {
  .video-overlay-trigger {
    font-size: 1.4375em;
  }
}

.video-overlay-trigger:focus {
  outline: 0;
}

.video-overlay-trigger:hover {
  color: #00AEEF;
}

.vision__player {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5000;
  display: none;
}

.vision__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000;
  width: 3.0625em;
  height: 3.0625em;
  background: url(../img/mobile-icon-close.svg) no-repeat 50% 50%;
  -webkit-background-size: .875rem;
  background-size: .875rem;
}

/* Work Grid
--------------*/
.work-grid {
  font-size: 0;
  margin: -.625rem;
}

@media (max-width: 768px) {
  .work-grid {
    margin: -.4375rem;
  }
}

@media (max-width: 767px) {
  .work-grid {
    margin: -.4375rem -.8125rem;
  }
}

.work-grid__puller {
  width: 100%;
}

.grid-item {
  position: relative;
  display: inline-block;
  vertical-align: top;
  opacity: 1;
  font-size: 1rem;
}

@media (min-width: 769px) {
  .grid-item {
    width: 33.33%;
    padding: .625em;
  }
}

@media (max-width: 768px) {
  .grid-item {
    width: 50%;
    padding: .4375em;
  }
}

.greyscale-img {
  -webkit-filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
  filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
  /* Firefox 3.5+ */
  filter: grayscale(100%) brightness(90%);
  -moz-filter: grayscale(100%) brightness(90%);
  -webkit-filter: grayscale(100%) brightness(90%);
  filter: gray;
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 350ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.greyscale--hover:hover .greyscale-img {
  filter: grayscale(0%) brightness(100%);
  -webkit-filter: grayscale(0%) brightness(100%);
  filter: none;
}

.old-brightness-model .greyscale-img {
  -webkit-filter: grayscale(100%) brightness(10%);
}

.grid-item__image {
  position: relative;
  width: 100%;
  padding-bottom: 67%;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}

.grid-item__image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.grid-item__logo {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 50;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.grid-item__logo img {
  max-width: 50%;
}

.project {
  padding-bottom: 2rem;
}

.project-bar {
  font-size: .875rem;
}

.project-info-toggle {
  cursor: pointer;
  -webkit-transition: color 350ms;
  transition: color 350ms;
}

.project-info-toggle:hover {
  color: #00AEEF;
}

@media (min-width: 769px) {
  .project-imagery {
    font-size: 0;
    margin: 0 -0.65625rem;
  }
}

.imagery-block img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 769px) {
  .imagery-block {
    padding: 0 0.65625em;
    margin: 0 0 1.6875em;
    font-size: 1rem;
    width: 50%;
    display: inline-block;
    vertical-align: top;
  }
}

@media (max-width: 768px) {
  .imagery-block {
    margin: 0 0 .9375em;
  }
  .imagery-block:last-child {
    margin: 0;
  }
}

.image-block__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 66.68%;
}

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

.video-wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 66.68%;
}

.imagery-block:not(.imagery-block--double) .video-wrap {
  width: 100%;
  height: 0;
  padding-bottom: 66.68%;
}

.imagery-block--double {
  width: 100%;
}

@media (min-width: 769px) {
  .imagery-block--double-height {
    float: left;
  }
  .imagery-block--double-height + .imagery-block:not(.imagery-block--double-height) {
    float: left;
  }
  .imagery-block--double-height + .imagery-block:not(.imagery-block--double-height) + .imagery-block {
    float: left;
  }
  .imagery-block--double-height + .imagery-block--double-height {
    float: left;
  }
}

.imagery-block__gallery {
  opacity: 0;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
}

.imagery-block__gallery.lazyloaded {
  opacity: 1;
}

.imagery-block__gallery .swiper-lazy {
  opacity: 0;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
}

.imagery-block__gallery .swiper-lazy-loaded {
  opacity: 1;
}

.imagery-block__gallery .swiper-lazy:not(.swiper-lazy-loaded) {
  height: 0;
}

.project-info {
  margin: 0 -0.65625rem 0;
  font-size: 0;
  display: none;
  overflow: hidden;
}

.project-info.is-active {
  display: block;
}

.project-info__row {
  padding: 0 0.65625rem;
  font-size: .875rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}

@media (min-width: 1024px) {
  .project-info__row {
    width: 33.33%;
    float: left;
  }
}

.project-pagination {
  padding-top: 2rem;
}

.project-pagination a {
  font-size: .875rem;
  -webkit-transition: color 350ms;
  transition: color 350ms;
}

.project-pagination a:hover {
  color: #00AEEF;
}

.article-grid {
  margin: 0 -0.5625rem;
  font-size: 0;
}

.article-item {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  font-size: 1rem;
  padding: 0 0.5625em;
  margin: 0 0 1.6875em;
}

.article-item:hover .article-item__title {
  color: #00AEEF;
}

@media (min-width: 1024px) {
  .four-col .article-item {
    width: 25%;
  }
  .four-col .article-item:nth-child(4n) {
    margin-right: 0;
  }
}

@media (min-width: 500px) and (max-width: 1023px) {
  .four-col .article-item {
    width: 50%;
  }
  .four-col .article-item:nth-child(2n) {
    margin-right: 0;
  }
}

.three-col .article-item {
  width: 33.3333%;
}

.three-col .article-item:nth-child(3n) {
  margin-right: 0;
}

.article-item__image {
  position: relative;
  width: 100%;
  padding-bottom: 67%;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}

.article-item__image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.article-item__play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 150;
  margin: -1.25em 0 0 -1.25em;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid #fff;
  cursor: pointer;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
}

.article-item__play-icon:after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 0 7.5px 12.5px;
  border-color: transparent transparent transparent #fff;
  -webkit-transform: translateY(-50%) translateX(-33.33%);
  -ms-transform: translateY(-50%) translateX(-33.33%);
  transform: translateY(-50%) translateX(-33.33%);
}

.rollover-image-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
  -webkit-transition: opacity 350ms;
  transition: opacity 350ms;
}

.article-item__image:hover .rollover-image-top {
  opacity: 0;
}

.article-item__details {
  margin: 1.0625em 0 0;
}

@media (min-width: 500px) {
  .article-item__details {
    height: 4rem;
    overflow: hidden;
  }
}

.article-item__title {
  display: block;
  color: #000;
  -webkit-transition: color 350ms;
  transition: color 350ms;
}

.article-item__title,
.article-item__excerpt {
  font-size: .875rem;
  line-height: 1.4;
}

.article-item__excerpt {
  margin-top: .5em;
}

.post-related__title,
.archive-title {
  margin: 0 0 2rem;
}

@media (max-width: 1023px) {
  .post-related__title,
  .archive-title {
    text-align: center;
  }
}

@media (max-width: 1023px) {
  .archive-button {
    text-align: center;
  }
}

.page-template-contact .header {
  border-bottom: 1px solid #444;
}

.section-contact {
  background: #212121;
  color: #C8C8C8;
}

.contact-details {
  margin: 0 0 1.5rem;
}

@media (max-width: 767px) {
  .contact-details {
    margin: 0 0 3rem;
  }
}

@media (min-width: 1024px) {
  .contact-images {
    width: 50%;
  }
}

@media (max-width: 1023px) {
  .contact-images {
    width: 66.66%;
  }
}

@media (max-width: 767px) {
  .contact-images {
    display: none;
  }
}

.contact-images img {
  float: left;
  width: 50%;
  padding: 0 .8125em;
}

.contact-images__wrap {
  margin: 0 -.8125em;
}

.location {
  margin: 0 0 1.5rem;
}

@media (max-width: 767px) {
  .location {
    margin: 0 0 3rem;
  }
  .location:last-child {
    margin: 0;
  }
}

@media (min-width: 1024px) {
  .location-map,
  .location-details {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .location {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .location-map {
    width: 66.66%;
  }
  .location-details {
    width: 33.33%;
  }
}

@media (max-width: 767px) {
  .location-map {
    width: 100%;
  }
  .location-details {
    width: 100%;
    margin: 0 0 3rem;
  }
}

.acf-map {
  width: 100%;
  height: 0;
  padding-bottom: 66.66%;
}

.location-content {
  font-size: .875rem;
  line-height: 1.3;
}

.location-content p:last-child {
  margin-bottom: 0;
}

.location-content p:first-child {
  margin-top: 0;
}

.location-title {
  margin: 0 0 2rem;
}

@media (min-width: 1024px) {
  .contact-info {
    width: 50%;
    font-size: 0;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .contact-info {
    width: 33.33%;
  }
}

.contact-info__wrap {
  font-size: 1rem;
}

@media (min-width: 1024px) {
  .contact-info__wrap {
    margin: 0 -.8125rem;
  }
}

.contact-info__col {
  font-size: .875rem;
  line-height: 1.3;
}

.contact-info__col p:first-child {
  margin-top: 0;
}

@media (min-width: 1024px) {
  .contact-info__col {
    display: inline-block;
    vertical-align: top;
    padding: 0 .8125em;
  }
}

@media (max-width: 1023px) {
  .contact-info__col:last-child p:last-child {
    margin-bottom: 0;
  }
}

.contact-info__col a,
.location-content a {
  -webkit-transition: color 350ms;
  transition: color 350ms;
}

.contact-info__col a:hover,
.location-content a:hover {
  color: #00AEEF;
}

.post-body {
  width: 50%;
  padding: 1em 3rem;
}

.post-title {
  font-size: 1.75em;
}

.post-meta,
.post-content,
.post-author {
  line-height: 1.4;
  font-size: 0.9375em;
}

.post-meta {
  margin: .75rem 0 0;
}

@media (min-width: 1025px) {
  .post-content {
    margin: 2rem 0 7.5rem;
  }
}

@media (max-width: 1024px) {
  .post-content {
    margin: 2rem 0 3rem;
  }
}

.post-content p {
  max-width: 33.75rem;
}

.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
  font-family: "Maison Neue Demi", "Calibri", "Arial", sans-serif;
}

.post-content img {
  display: block;
  width: 100%;
  height: auto;
}

.post-content blockquote {
  font-size: 1.375rem;
  max-width: 54rem;
  margin: 5rem 0;
}

.post-content blockquote p {
  font-size: inherit;
  max-width: 100%;
}

.post-content a {
  text-decoration: none;
  border-bottom: 1px solid #212121;
}

.post-content a:hover {
  color: #00AEEF;
}

@media (min-width: 1025px) {
  .post-author {
    margin-bottom: 5rem;
  }
}

@media (max-width: 1024px) {
  .post-author {
    margin-bottom: 3rem;
  }
}

.post-images {
  width: 50%;
}

.post-image,
.post-video {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 2rem;
}

.post-video .video-wrap {
  height: 0;
  padding-bottom: 66.66%;
}

@media (min-width: 1024px) {
  .post-single--films {
    width: 100%;
    max-width: 60em;
    margin: 0 auto;
  }
  .post-single--films .post-images,
  .post-single--films .post-body {
    float: none;
    width: 100%;
  }
  .post-single--films .post-body {
    padding: 0;
  }
}

@media (max-width: 1023px) {
  .single:not(.single-work) .breadcrumbs {
    display: none;
  }
  .post-images {
    float: none;
    width: auto;
    margin: -2rem -2rem 0;
  }
  .post-body {
    float: none;
    width: 100%;
    max-width: 33.75rem;
    margin: 3rem auto;
    padding: 0;
  }
  .post-related__title {
    display: none;
  }
  .post-related .article-item:nth-last-child(-n+2) {
    display: none;
  }
}

@media (max-width: 767px) {
  .post-images {
    margin: -2rem -1.25rem 0;
  }
}

@media (min-width: 769px) {
  .thinking-section {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
}

@media (max-width: 768px) {
  .thinking-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.thinking-section:nth-child(odd) {
  background: #EDEDED;
}

@media (max-width: 1023px) {
  .testimonials-page {
    margin: 4em 0;
  }
  .testimonials-page .video-overlay-trigger {
    margin-bottom: 4em;
  }
}

@media (min-width: 1024px) {
  .testimonials-page {
    margin: 10em 0;
  }
  .testimonials-page .video-overlay-trigger {
    margin-bottom: 4em;
  }
}

.testimonials__inner {
  z-index: 2;
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
  text-align: center;
}

.testimonial {
  margin: 0 0 4em;
  line-height: 1.2;
}

@media (min-width: 1024px) {
  .testimonial {
    font-size: 1.4375em;
  }
}

.testimonial__author {
  color: #00AEEF;
}

.testimonial__logo img {
  max-width: 6rem;
  max-height: 2rem;
  margin: 0 auto .5em;
}

@media (min-width: 768px) {
  .testimonial__logo img {
    max-width: 8rem;
    max-height: 3rem;
  }
}

.page-404 {
  min-height: -webkit-calc(100vh - 3.0625em);
  min-height: calc(100vh - 3.0625em);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.how-page {
  margin: 2rem 0;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1pbi5jc3MiLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwidmVuZG9yL19ub3JtYWxpemUuY3NzIiwidmVuZG9yL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ2ZW5kb3IvX3N3aXBlci5jc3MiLCJjb3JlL19zZXR0aW5ncy5zY3NzIiwiY29yZS9fZm9udHMuc2NzcyIsImNvcmUvX2Jhc2Uuc2NzcyIsImFwcGxpY2F0aW9uL2FwcGxpY2F0aW9uLnNjc3MiLCJhcHBsaWNhdGlvbi9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJhcHBsaWNhdGlvbi9jb21wb25lbnRzL19uYXYuc2NzcyIsImFwcGxpY2F0aW9uL2NvbXBvbmVudHMvX3NlY3Rpb25zLnNjc3MiLCJhcHBsaWNhdGlvbi9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsImFwcGxpY2F0aW9uL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImFwcGxpY2F0aW9uL2NvbXBvbmVudHMvX3ZpZGVvcGxheWVyLnNjc3MiLCJhcHBsaWNhdGlvbi9jb21wb25lbnRzL19hbWJpZW50Ymd2aWRlby5zY3NzIiwiYXBwbGljYXRpb24vY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwiYXBwbGljYXRpb24vY29tcG9uZW50cy9fbmV3c2xldHRlci5zY3NzIiwiYXBwbGljYXRpb24vY29tcG9uZW50cy9fdHJhbnNpdGlvbnMuc2NzcyIsImFwcGxpY2F0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLnNjc3MiLCJhcHBsaWNhdGlvbi9wYWdlcy9faG9tZXBhZ2Uuc2NzcyIsImFwcGxpY2F0aW9uL3BhZ2VzL192aWRlby1wYWdlLnNjc3MiLCJhcHBsaWNhdGlvbi9wYWdlcy9fd29ya2dyaWQuc2NzcyIsImFwcGxpY2F0aW9uL3BhZ2VzL193b3Jrc2luZ2xlLnNjc3MiLCJhcHBsaWNhdGlvbi9wYWdlcy9fYXJ0aWNsZWdyaWQuc2NzcyIsImFwcGxpY2F0aW9uL3BhZ2VzL19jb250YWN0LnNjc3MiLCJhcHBsaWNhdGlvbi9wYWdlcy9fc2luZ2xlLnNjc3MiLCJhcHBsaWNhdGlvbi9wYWdlcy9fdGhpbmtpbmcuc2NzcyIsImFwcGxpY2F0aW9uL3BhZ2VzL190ZXN0aW1vbmlhbHMuc2NzcyIsImFwcGxpY2F0aW9uL3BhZ2VzL180MDQuc2NzcyIsImFwcGxpY2F0aW9uL3BhZ2VzL19ob3cuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSZXNldCDigJMgTm9ybWFsaXplLmNzc1xuLy9cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAndmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndmVuZG9yL3N3aXBlcic7XG5cbi8vXG4vLyBDb3JlXG4vL1xuQGltcG9ydCAnY29yZS9zZXR0aW5ncyc7XG5AaW1wb3J0ICdjb3JlL2ZvbnRzJztcbkBpbXBvcnQgJ2NvcmUvYmFzZSc7XG5cbi8vXG4vLyBBcHBsaWNhdGlvblxuLy9cbkBpbXBvcnQgJ2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9uJzsiLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMSBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOFxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBsb2coJy4uJykge31gIG9yIGAkXzogbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBsb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBsb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBsb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFN3aXBlciAzLjMuMVxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIFxuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXG4gKiBcbiAqIENvcHlyaWdodCAyMDE2LCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICogVGhlIGlEYW5nZXJvLnVzXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL1xuICogXG4gKiBMaWNlbnNlZCB1bmRlciBNSVRcbiAqIFxuICogUmVsZWFzZWQgb246IEZlYnJ1YXJ5IDcsIDIwMTZcbiAqL1xuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1saW5lczogbXVsdGlwbGU7XG4gIC1tb3otYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4OiAwIDAgYXV0bztcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGhlaWdodDtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7XG59XG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci13cDgtaG9yaXpvbnRhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci13cDgtdmVydGljYWwge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi8qIEFycm93cyAqL1xuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG5cbi8qIDNEIENvbnRhaW5lciAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC1tb3otcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLW8tcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tcy10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cbn1cbi8qIENvdmVyZmxvdyAqL1xuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci13cmFwcGVyIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi8qIEN1YmUgKyBGbGlwICovXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQ3ViZSAqL1xuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDtcbn1cbi8qIEZhZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn0iLCIkYnJlYWtwb2ludHM6IChcbiAgJ3MtcGhvbmUnOiAzNzVweCxcbiAgJ3Bob25lJzogNTAwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4gICdsLWRlc2t0b3AnOiAxNDQwcHhcbik7XG5cbiRjb2xvci1kYXJrLWdyZXk6ICMyMTIxMjE7XG4kY29sb3ItbGlnaHQtZ3JleTojQzhDOEM4O1xuJGNvbG9yLWhpZ2hsaWdodDogIzAwQUVFRjtcblxuJGJsYWNrLWRpdmlkZTogMXB4IHNvbGlkICMwMDA7XG5cbiRmb250LW1haXNvbi1saWdodDonTWFpc29uIE5ldWUgTGlnaHQnLCAnQ2FsaWJyaScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG4kZm9udC1tYWlzb24tbGlnaHQtaXRhbGljOidNYWlzb24gTmV1ZSBMaWdodCBJdGFsaWMnLCAnQ2FsaWJyaScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG4kZm9udC1tYWlzb24tZGVtaTonTWFpc29uIE5ldWUgRGVtaScsICdDYWxpYnJpJywgJ0FyaWFsJywgc2Fucy1zZXJpZjtcbiRmb250LWxpbmV0bzonTGluZXRvJywgJ0hlbHZldGljYScsICdIZWx2ZXRpY2EgTmV1ZScsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG5cbiRtYXJnaW4tbGFyZ2U6NC41cmVtO1xuJG1hcmdpbi1tZWRpdW06M3JlbTtcbiRtYXJnaW4tc21hbGw6MnJlbTtcbiRtYXJnaW4teC1zbWFsbDoxLjI1cmVtO1xuXG4kZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTsgXG4kZWFzZS1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTsgXG5cbkBtaXhpbiBzbW9vdGhpbmd7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtcbn1cblxuQG1peGluIGNsZWFye1xuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbkBtaXhpbiBwaXhlbHMoJG51bSl7XG4gIGZvbnQtc2l6ZTokbnVtIC8gMTYrZW07XG59XG5cbkBtaXhpbiB0eXBlLXVwcGVyY2FzZXtcbiAgZm9udC1mYW1pbHk6ICRmb250LWxpbmV0bztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM2VtXG59XG5cbkBtaXhpbiBmbGV4LWNlbnRlcntcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtaXhpbiByZXNldC1saXN0e1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xufVxuXG5AbWl4aW4gdGV4dC1sYXJnZXtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xufSIsIkBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6IFwiTGluZXRvXCI7XG4gICBzcmM6ICAgIHVybChcIi4uL2ZvbnRzL2xpbmV0by10eXAxNDUxLXJlZ3VsYXItcy5lb3RcIik7XG4gICBzcmM6ICAgIHVybChcIi4uL2ZvbnRzL2xpbmV0by10eXAxNDUxLXJlZ3VsYXItcy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICB1cmwoXCIuLi9mb250cy9saW5ldG8tdHlwMTQ1MS1yZWd1bGFyLXMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICB1cmwoXCIuLi9mb250cy9saW5ldG8tdHlwMTQ1MS1yZWd1bGFyLXMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgICB1cmwoXCIuLi9mb250cy9saW5ldG8tdHlwMTQ1MS1yZWd1bGFyLXMuc3ZnI0xpbmV0b1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiBcIkhhcHRpa1wiO1xuICAgc3JjOiAgICB1cmwoXCIuLi9mb250cy9HVC1IYXB0aWstUmVndWxhci5lb3RcIik7XG4gICBzcmM6ICAgIHVybChcIi4uL2ZvbnRzL0dULUhhcHRpay1SZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgIHVybChcIi4uL2ZvbnRzL0dULUhhcHRpay1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgdXJsKFwiLi4vZm9udHMvR1QtSGFwdGlrLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgICB1cmwoXCIuLi9mb250cy9HVC1IYXB0aWstUmVndWxhci5zdmcjSGFwdGlrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01haXNvbiBOZXVlIExpZ2h0JztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL01haXNvbk5ldWVXRUItTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIFxuICB1cmwoJy4uL2ZvbnRzL01haXNvbk5ldWVXRUItTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNYWlzb24gTmV1ZSBEZW1pJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL01haXNvbk5ldWVXRUItRGVtaS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgXG4gIHVybCgnLi4vZm9udHMvTWFpc29uTmV1ZVdFQi1EZW1pLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn0iLCJib2R5e1xuICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gIG92ZXJmbG93LXk6c2Nyb2xsO1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlcntcbiAgYm94LXNpemluZzppbmhlcml0O1xufVxuXG4uY2xlYXI6YWZ0ZXIge1xuICBjb250ZW50OlwiXCI7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGNsZWFyOmJvdGg7XG59XG5cbi5mbG9hdC1sZWZ0e1xuICBmbG9hdDpsZWZ0O1xufVxuXG4uZmxvYXQtcmlnaHR7XG4gIGZsb2F0OnJpZ2h0O1xufVxuXG4uY29udGFpbmVye1xuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpe1xuICAgIHBhZGRpbmctbGVmdDokbWFyZ2luLXNtYWxsO1xuICAgIHBhZGRpbmctcmlnaHQ6JG1hcmdpbi1zbWFsbDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIil7XG4gICAgcGFkZGluZy1sZWZ0OiRtYXJnaW4teC1zbWFsbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiRtYXJnaW4teC1zbWFsbDtcbiAgfVxufVxuXG4ubGF6eXtcbiAgdHJhbnNpdGlvbjpvcGFjaXR5IDM1MG1zO1xufVxuXG4ubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmd7XG4gIG9wYWNpdHk6MDtcbn1cblxuLmxhenlsb2FkZWR7XG4gIG9wYWNpdHk6MTtcbn0iLCIvL1xuLy8gSW1wb3J0IEJhc2UgQ29tcG9uZW50c1xuLy9cblxuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b25zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlkZW9wbGF5ZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9hbWJpZW50Ymd2aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWInO1xuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzbGV0dGVyJztcblxuQGltcG9ydCAnY29tcG9uZW50cy90cmFuc2l0aW9ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzJztcblxuLy9cbi8vIEltcG9ydCBQYWdlc1xuLy9cblxuQGltcG9ydCAncGFnZXMvaG9tZXBhZ2UnO1xuQGltcG9ydCAncGFnZXMvdmlkZW8tcGFnZSc7XG5AaW1wb3J0ICdwYWdlcy93b3JrZ3JpZCc7XG5AaW1wb3J0ICdwYWdlcy93b3Jrc2luZ2xlJztcbkBpbXBvcnQgJ3BhZ2VzL2FydGljbGVncmlkJztcbkBpbXBvcnQgJ3BhZ2VzL2NvbnRhY3QnO1xuQGltcG9ydCAncGFnZXMvc2luZ2xlJztcbkBpbXBvcnQgJ3BhZ2VzL3RoaW5raW5nJztcbkBpbXBvcnQgJ3BhZ2VzL3Rlc3RpbW9uaWFscyc7XG5AaW1wb3J0ICdwYWdlcy80MDQnO1xuQGltcG9ydCAncGFnZXMvaG93JzsiLCIvKiBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tLS0tLSovXG5cbmJvZHl7XG4gIGZvbnQ6IDEwMCUvMSAkZm9udC1tYWlzb24tbGlnaHQ7XG4gIGNvbG9yOiAkY29sb3ItZGFyay1ncmV5O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBAaW5jbHVkZSBzbW9vdGhpbmc7XG59XG5cbmF7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6aW5oZXJpdDtcbn1cblxuYiwgc3Ryb25ne1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5zdHJvbmd7XG4gIGZvbnQtZmFtaWx5OiRmb250LW1haXNvbi1kZW1pO1xufSBcblxuLnRleHQtY29udGVudC0tbGFyZ2V7XG4gIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgIEBpbmNsdWRlIHRleHQtbGFyZ2U7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgIGxpbmUtaGVpZ2h0OjEuMzc1ZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gIH1cbn1cblxuLyogSGVhZGluZ3Ncbi0tLS0tLS0tLS0tLS0tKi9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNntcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmgye1xuICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICBmb250LXNpemU6IDIuMTg3NWVtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8PWRlc2t0b3BcIikge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgfVxufVxuXG4uaDN7XG4gIGZvbnQtc2l6ZToxLjVlbTtcbn1cblxuaHJ7XG4gIGJvcmRlci10b3A6MXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1ib3R0b206MDtcbiAgYm9yZGVyLWxlZnQ6MDtcbiAgYm9yZGVyLXJpZ2h0OjA7XG59IiwiLyogTmF2XG4tLS0tLS0tLS0tLS0tLSovXG5cbi5oZWFkZXJ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstZ3JleTtcbiAgcGFkZGluZy10b3A6IC44MTI1ZW07XG4gIHBhZGRpbmctYm90dG9tOiAuODEyNWVtO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuICAuaGVhZGVyLW1hc3RoZWFke1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgMzUwbXM7XG4gICAgYXtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLW1hc3RoZWFkX19ob21le1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246MzUwbXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIC5oZWFkZXItY3VycmVudC1wYWdlLFxuICAuaGVhZGVyLW1hc3RoZWFkX19uYW1le1xuICAgIEBpbmNsdWRlIHR5cGUtdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjI1ZW07XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgfVxuXG4gIC5oZWFkZXItY3VycmVudC1wYWdle1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDouODEyNXJlbTtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICB6LWluZGV4OjE7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaGVhZGVyLW1hc3RoZWFkX19uYW1le1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGxlZnQ6NTAlO1xuICAgIH0gXG4gICAgdHJhbnNpdGlvbjozNTBtcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgLmhlYWRlci1tYXN0aGVhZF9faWNvbixcbiAgLmhlYWRlci1tYXN0aGVhZF9fc3RyYXB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaGVhZGVyLW1hc3RoZWFkX19pY29ue1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMjNweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ZiLWxvZ28td2hpdGUuc3ZnKSBuby1yZXBlYXQgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7XG4gICAgbWFyZ2luOiAwIDEuNWVtIDAgMDtcbiAgfVxuXG4gIC5oZWFkZXItbWFzdGhlYWRfX3N0cmFwe1xuICAgIC8vIGNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbWFpc29uLWxpZ2h0O1xuICAgIC8vIGZvbnQtc2l6ZTogLjc1ZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgIC5wcmltYXJ5LW5hdntcbiAgICAgIHVse1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0O1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICB9XG4gICAgICBsaXtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxLjI1ZW07XG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIGF7XG4gICAgICAgIGNvbG9yOiRjb2xvci1oaWdobGlnaHQ7XG4gICAgICB9XG4gICAgICBhe1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOmNvbG9yIDM1MG1zO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIGNvbG9yOiRjb2xvci1oaWdobGlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcFwiLCBcImhlaWdodD49NTAwcHhcIikge1xuICAgIC5wcmltYXJ5LW5hdntcbiAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPD1kZXNrdG9wXCIpIHtcbiAgICAuaGVhZGVyX19sZWZ0e1xuICAgICAgZmxvYXQ6bm9uZTtcbiAgICB9XG5cbiAgICBib2R5Om5vdCguaG9tZSkgLmhlYWRlci1tYXN0aGVhZF9faG9tZXtcbiAgICAgIG9wYWNpdHk6MDtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG5cbiAgICAucHJpbWFyeS1uYXZ7XG4gICAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICAgIHRvcDowO1xuICAgICAgcmlnaHQ6MDtcbiAgICAgIHotaW5kZXg6MjtcbiAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgYmFja2dyb3VuZDokY29sb3ItZGFyay1ncmV5O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzokbWFyZ2luLWxhcmdlO1xuICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO1xuXG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTtcblxuICAgICAgdHJhbnNpdGlvbjo1MDBtcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApOyBcblxuICAgICAgdWx7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Q7XG4gICAgICB9XG4gICAgICBsaXtcbiAgICAgICAgZm9udC1zaXplOjMuMTI1ZW07XG4gICAgICAgIG1hcmdpbjokbWFyZ2luLW1lZGl1bSAwO1xuICAgICAgfVxuICAgICAgLmN1cnJlbnQtbWVudS1pdGVtIGF7XG4gICAgICAgIGNvbG9yOiRjb2xvci1oaWdobGlnaHQ7XG4gICAgICB9XG4gICAgICBhe1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgJi5uYXYtYWN0aXZle1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTtcbiAgICAgICAgYm94LXNoYWRvdzotMnB4IDNweCAxMnB4IHJnYmEoIzAwMCwgMC41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLW5hdi1jbG9zZSxcbiAgICAubW9iaWxlLW5hdi1pY29ue1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIHotaW5kZXg6MjtcbiAgICAgIHdpZHRoOjMuMDYyNWVtO1xuICAgICAgaGVpZ2h0OjMuMDYyNWVtO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbmF2LWNsb3Nle1xuICAgICAgcmlnaHQ6Ljg3NXJlbTtcbiAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltZy9tb2JpbGUtaWNvbi1jbG9zZS5zdmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOi44NzVyZW07XG4gICAgfVxuXG4gICAgLm1vYmlsZS1uYXYtaWNvbntcbiAgICAgIHJpZ2h0OjEuMDYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltZy9tb2JpbGUtaWNvbi13aGl0ZS5zdmcpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOjE5cHggMTNweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLWN1cnJlbnQtcGFnZXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3JpZ2h0e1xuICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICByaWdodDowO1xuICAgICAgYm90dG9tOjA7XG4gICAgICB6LWluZGV4OjEwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgLnByaW1hcnktbmF2e1xuICAgICAgcGFkZGluZzokbWFyZ2luLXNtYWxsO1xuICAgICAgbGl7XG4gICAgICAgIGZvbnQtc2l6ZToxLjVlbTtcbiAgICAgICAgbWFyZ2luOiRtYXJnaW4tc21hbGwgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm1vYmlsZS1uYXYtY2xvc2UsXG4gICAgLm1vYmlsZS1uYXYtaWNvbntcbiAgICAgIHdpZHRoOjMuMzc1ZW07XG4gICAgfVxuICAgIC5tb2JpbGUtbmF2LWNsb3Nle1xuICAgICAgcmlnaHQ6MDtcbiAgICB9XG4gICAgLm1vYmlsZS1uYXYtaWNvbntcbiAgICAgIHJpZ2h0Oi4yNWVtO1xuICAgIH1cbiAgfVxuXG4uaGVhZGVyLXBsYWNlaG9sZGVye1xuICBoZWlnaHQ6IDMuMDYyNWVtO1xufVxuXG4uc2luZ2xlLWZpbG1zLFxuLnBvc3QtdHlwZS1hcmNoaXZlLWZpbG1zLFxuLnNpbmdsZS1jaGFwdGVycyxcbi5wb3N0LXR5cGUtYXJjaGl2ZS1jaGFwdGVycyxcbi5zaW5nbGUtcHJlc3MsXG4ucG9zdC10eXBlLWFyY2hpdmUtcHJlc3MsXG4uc2luZ2xlLXBvc3QsXG4uYmxvZ3tcbiAgLm1lbnUtaXRlbS10aGlua2luZ3tcbiAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgfVxufSIsIi5zZWN0aW9ue1xuICBiYWNrZ3JvdW5kOiNmZmY7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB6LWluZGV4OjE7XG4gIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XG4gICAgcGFkZGluZy10b3A6JG1hcmdpbi1sYXJnZTtcbiAgICBwYWRkaW5nLWJvdHRvbTokbWFyZ2luLWxhcmdlO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgIHBhZGRpbmctdG9wOiRtYXJnaW4tbWVkaXVtO1xuICAgIHBhZGRpbmctYm90dG9tOiRtYXJnaW4tbWVkaXVtO1xuICB9XG4gICY6Zmlyc3QtY2hpbGR7XG4gICAgcGFkZGluZy10b3A6JG1hcmdpbi1zbWFsbDtcbiAgfVxufVxuXG4uc2VjdGlvbi10aXRsZXtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xuICAgIG1hcmdpbjowIDAgJG1hcmdpbi1sYXJnZTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICBtYXJnaW46MCAwICRtYXJnaW4tbWVkaXVtO1xuICB9XG59IiwiLyogRm9vdGVyXG4tLS0tLS0tLS0tLS0tLSovXG5cbi5mb290ZXJ7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWdyZXk7XG4gIGNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6MTtcbiAgYXtcbiAgICB0cmFuc2l0aW9uOmNvbG9yIDM1MG1zO1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjokY29sb3ItaGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICBwYWRkaW5nOiAkbWFyZ2luLW1lZGl1bTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuICAgIHBhZGRpbmctdG9wOiAkbWFyZ2luLXNtYWxsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbWFyZ2luLXNtYWxsO1xuICB9XG59XG5cbiAgLmZvb3Rlci10aXRsZXtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xuICB9XG5cbiAgLmZvb3Rlci1jb2x1bW5ze1xuICAgIGZvbnQtc2l6ZTowO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW46ICRtYXJnaW4tbWVkaXVtIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbjogJG1hcmdpbi1zbWFsbCAwO1xuICAgIH1cbiAgfVxuXG4gICAgLmZvb3Rlci1jb2x1bW57XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZm9udC1zaXplOi43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNTtcblxuICAgICAgcDpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICB9XG5cbiAgICAgIHA6Zmlyc3QtY2hpbGR7XG4gICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICB3aWR0aDogMTYuNjY2NiU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgJG1hcmdpbi1zbWFsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAuZm9vdGVyLWNvcHlyaWdodHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZy10b3A6IDEuMzc1cmVtO1xuICAgIHAsIGxpe1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgbWFyZ2luOjAgJG1hcmdpbi1zbWFsbCAwIDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICBtYXJnaW46MCAkbWFyZ2luLXgtc21hbGwgMCAwO1xuICAgICAgfVxuICAgIH1cbiAgICB1bHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Q7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgfVxuICB9IiwiLnRleHQtYnV0dG9ue1xuICBhcHBlYXJhbmNlOm5vbmU7XG4gIGJhY2tncm91bmQ6bm9uZTtcbiAgYm9yZGVyOjA7XG4gIGZvbnQtc2l6ZTppbmhlcml0O1xuICB0cmFuc2l0aW9uOmNvbG9yIDI1MG1zO1xufVxuXG4udGV4dC1saW5re1xuICBmb250LWZhbWlseTogJGZvbnQtbWFpc29uLWxpZ2h0O1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufSBcblxuLnBsYXktYnV0dG9ue1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBtYXJnaW46MCAuNzVyZW0gMCAwO1xuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICBsZWZ0OjUwJTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA4LjdweDtcbiAgICBtYXJnaW46LTVweCAwIDAgLTNweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gIH1cbn1cblxuLmJ1dHRvbntcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTouODc1cmVtO1xuICBwYWRkaW5nOi43NXJlbTtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIG1pbi13aWR0aDoxMHJlbTtcbiAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuICBjb2xvcjokY29sb3ItaGlnaGxpZ2h0O1xuICB0cmFuc2l0aW9uOjM1MG1zO1xuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQ6JGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjojZmZmO1xuICB9XG59IiwiLyogQ3VzdG9tIFZpZGVvXG4tLS0tLS0tLS0tLS0tLSovXG5cbkBrZXlmcmFtZXMgcm90YXRle1xuICAwJXtcbiAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCV7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi5mcmVzaC1wbGF5ZXJfd3JhcHBlcntcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHdpZHRoOjEwMCU7XG4gIGhlaWdodDowO1xuICBwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7XG59XG5cbi52anMtaGlkZGVue1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZnJlc2gtcGxheWVye1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHZpZGVve1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgfVxuICAmLnZqcy13YWl0aW5ne1xuICAgICY6YWZ0ZXJ7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6NTAlO1xuICAgICAgbGVmdDo1MCU7XG4gICAgICB6LWluZGV4OjEwMDA7XG4gICAgICBtYXJnaW46LTNlbSAwIDAgLTNlbTtcbiAgICAgIHdpZHRoOjZlbTtcbiAgICAgIGhlaWdodDo2ZW07XG4gICAgICBiYWNrZ3JvdW5kOnVybCguLi9pbWcvaWNvbi12aWRlby1sb2FkZXIuc3ZnKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTo2ZW07XG4gICAgICBhbmltYXRpb246cm90YXRlIDEwMDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgfVxuICB9XG4gIC52anMtYmlnLXBsYXktYnV0dG9ue1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgbGVmdDo1MCU7XG4gICAgei1pbmRleDoxNTA7XG4gICAgbWFyZ2luOi0xLjI1ZW0gMCAwIC0xLjI1ZW07XG4gICAgd2lkdGg6Mi41cmVtO1xuICAgIGhlaWdodDoyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZmZmO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSA1MDBtcztcbiAgICAmOmFmdGVye1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6NTAlO1xuICAgICAgbGVmdDo1MCU7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNy41cHggMCA3LjVweCAxMi41cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0zMy4zMyUpO1xuICAgIH1cbiAgfVxuICAudmpzLXBvc3RlcntcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6MDtcbiAgICBib3R0b206MDtcbiAgICB6LWluZGV4OjE0MDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSA1MDBtcztcbiAgICAvLyAmOmJlZm9yZXtcbiAgICAvLyAgIGNvbnRlbnQ6Jyc7XG4gICAgLy8gICBkaXNwbGF5OmJsb2NrO1xuICAgIC8vICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgLy8gICB0b3A6MDtcbiAgICAvLyAgIGxlZnQ6MDtcbiAgICAvLyAgIHJpZ2h0OjA7XG4gICAgLy8gICBib3R0b206MDtcbiAgICAvLyAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDI1NSwyNTUsMjU1LDAuNCkgMCUscmdiYSgwLDAsMCwwLjQpIDEwMCUpO1xuICAgIC8vIH1cbiAgfVxuICAmLnZqcy1oYXMtc3RhcnRlZHtcbiAgICAudmpzLXBvc3RlcntcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIC52anMtYmlnLXBsYXktYnV0dG9ue1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLnZqcy1jb250cm9sLWJhcntcbiAgICAgIG9wYWNpdHk6MTtcbiAgICAgIHotaW5kZXg6MTUwO1xuICAgIH1cbiAgfVxuICAudmpzLWNvbnRyb2wtdGV4dCxcbiAgLnZqcy10aW1lLWNvbnRyb2xzLFxuICAudmpzLXRpbWUtZGl2aWRlcntcbiAgICBkaXNwbGF5Om5vbmU7XG4gIH1cbiAgJi52anMtdXNlci1pbmFjdGl2ZXtcbiAgICAudmpzLWNvbnRyb2wtYmFye1xuICAgICAgb3BhY2l0eTowO1xuICAgIH1cbiAgfVxuICAudmpzLWNvbnRyb2wtYmFye1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGJvdHRvbTowO1xuICAgIGxlZnQ6MDtcbiAgICBvcGFjaXR5OjA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBwYWRkaW5nOjJlbSAzZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgNTAwbXM7XG4gIH1cbiAgLnZqcy1wbGF5LWNvbnRyb2x7XG4gICAgd2lkdGg6MS43NWVtO1xuICAgIGhlaWdodDoxLjc1ZW07XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgMjUwbXM7XG4gICAgJjpob3ZlcntcbiAgICAgIG9wYWNpdHk6MC40O1xuICAgIH1cbiAgICAmLnZqcy1wYXVzZWR7XG4gICAgICAudmpzLWNvbnRyb2wtY29udGVudHtcbiAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltZy9pY29uLXZpZGVvLXBsYXkuc3ZnKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjI5cHggMjlweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi52anMtcGxheWluZ3tcbiAgICAgIC52anMtY29udHJvbC1jb250ZW50e1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDp1cmwoLi4vaW1nL2ljb24tdmlkZW8tcGF1c2Uuc3ZnKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjM2cHggMjlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZqcy1wcm9ncmVzcy1jb250cm9se1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6IDdlbTtcbiAgICByaWdodDogMTNlbTtcbiAgICB0b3A6IDJlbTtcbiAgICBoZWlnaHQ6MzZweDtcbiAgICBtYXJnaW4tdG9wOi0zcHg7XG4gIH1cbiAgLnZqcy1wcm9ncmVzcy1ob2xkZXJ7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gIH1cbiAgLnZqcy1sb2FkLXByb2dyZXNze1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgaGVpZ2h0OjNweDtcbiAgICBtYXJnaW4tdG9wOi0ycHg7XG4gICAgYmFja2dyb3VuZDojRDhEOEQ4O1xuICB9XG4gIC52anMtc2Vlay1oYW5kbGV7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgaGVpZ2h0OjM5cHg7XG4gICAgd2lkdGg6M3B4O1xuICAgIG1hcmdpbi10b3A6LTJweDtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgLy8gdHJhbnNpdGlvbjpsZWZ0IDMwMG1zO1xuICAgIGN1cnNvcjotd2Via2l0LWdyYWI7XG4gIH1cbiAgLnZqcy10aW1lLWNvbnRyb2xzLFxuICAudmpzLWxpdmUtY29udHJvbHN7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG4gIC52anMtZnVsbHNjcmVlbi1jb250cm9se1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgcmlnaHQ6M2VtO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIC52anMtY29udHJvbC1jb250ZW50e1xuICAgICAgd2lkdGg6NTlweDtcbiAgICAgIGhlaWdodDozNnB4O1xuICAgICAgbWFyZ2luLXRvcDotMTlweDtcbiAgICAgIGJvcmRlcjoycHggc29saWQgI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246Ym9yZGVyLXdpZHRoIDI1MG1zO1xuICAgIH1cbiAgfVxuICAmLnZqcy1zY3J1YmJpbmd7XG4gICAgY3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7XG4gIH1cbiAgJi52anMtZnVsbHNjcmVlbiAudmpzLWZ1bGxzY3JlZW4tY29udHJvbCxcbiAgLnZqcy1mdWxsc2NyZWVuLWNvbnRyb2w6aG92ZXJ7XG4gICAgIC52anMtY29udHJvbC1jb250ZW50e1xuICAgICAgYm9yZGVyLXdpZHRoOjEwcHggMTVweCAycHggMnB4O1xuICAgIH1cbiAgfVxuICAmLnZqcy1mdWxsc2NyZWVuIC52anMtZnVsbHNjcmVlbi1jb250cm9sOmhvdmVye1xuICAgIC52anMtY29udHJvbC1jb250ZW50e1xuICAgICAgYm9yZGVyLXdpZHRoOjJweDtcbiAgICB9XG4gIH1cbiAgLnZqcy1tdXRlLWNvbnRyb2x7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICByaWdodDo4LjVlbTtcbiAgICBtYXJnaW4tdG9wOi0yMi41cHg7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IDI1MG1zO1xuICAgICY6aG92ZXJ7XG4gICAgICBvcGFjaXR5OjAuNDtcbiAgICB9XG4gICAgZGl2e1xuICAgICAgd2lkdGg6NDVweDtcbiAgICAgIGhlaWdodDo0NXB4O1xuICAgICAgYmFja2dyb3VuZDp1cmwoLi4vaW1nL2ljb24tdmlkZW8tbXV0ZS5zdmcpIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgIH1cbiAgICAmLnZqcy12b2wtMCBkaXZ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvaWNvbi12aWRlby11bm11dGUuc3ZnKTtcbiAgICB9XG4gIH1cblxuICAudmpzLWNvbnRyb2x7XG4gICAgJjpmb2N1c3tcbiAgICAgIG91dGxpbmU6MDtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEBtZWRpYSAjeyR0YWJsZXQtcG9ydHJhaXR9IHtcbiAgICAudmpzLWNvbnRyb2wtYmFye1xuICAgICAgcGFkZGluZzoxZW0gMS41ZW07XG4gICAgfVxuICAgIC52anMtcGxheS1jb250cm9sLnZqcy1wbGF5aW5nIC52anMtY29udHJvbC1jb250ZW50e1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDIwcHg7XG4gICAgfVxuICAgIC52anMtcGxheS1jb250cm9sLnZqcy1wYXVzZWQgLnZqcy1jb250cm9sLWNvbnRlbnR7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICB9XG4gICAgLnZqcy1mdWxsc2NyZWVuLWNvbnRyb2x7XG4gICAgICByaWdodDoxLjVlbTtcbiAgICAgIC52anMtY29udHJvbC1jb250ZW50e1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOi0xMnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAudmpzLXByb2dyZXNzLWNvbnRyb2x7XG4gICAgICBsZWZ0OjQuNWVtO1xuICAgICAgcmlnaHQ6Ny41ZW07XG4gICAgICB0b3A6MWVtO1xuICAgIH1cbiAgICAudmpzLXNlZWstaGFuZGxle1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4OyAgXG4gICAgfVxuICAgIC52anMtbXV0ZS1jb250cm9se1xuICAgICAgcmlnaHQ6NC41ZW07XG4gICAgICBtYXJnaW4tdG9wOi0xNXB4O1xuICAgICAgZGl2e1xuICAgICAgICB3aWR0aDozMHB4O1xuICAgICAgICBoZWlnaHQ6MzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOjEwMCU7XG4gICAgICB9XG4gICAgfVxuICAvLyB9XG5cbiAgLnZqcy1tZW51LWJ1dHRvbntcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cbiAgXG4udmpzLXBhdXNlZHtcbiAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTtcbiAgLnZqcy1iaWctcGxheS1idXR0b257XG4gICAgdHJhbnNpdGlvbjppbmhlcml0O1xuICB9XG59XG5cbi52anMtcGF1c2VkOmhvdmVye1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoOTAlKTtcbiAgLnZqcy1iaWctcGxheS1idXR0b257XG4gICAgdHJhbnNmb3JtOnNjYWxlKDAuOSk7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG59IiwiLmFtYmllbnQtYmctdmlkZW97XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyBcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJjpub3QoLmhvbWVwYWdlLXZpZGVvKS52aWRlby1qc3tcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIHZpZGVve1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4uaG9tZXBhZ2UtdmlkZW97XG4gIHBvc2l0aW9uOmZpeGVkO1xuICB6LWluZGV4OjA7XG59XG5cbi5ob21lcGFnZS12aWRlby1sYW5kc2NhcGUge1xuICBAbWVkaWEgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhvbWVwYWdlLXZpZGVvLXBvcnRyYWl0IHtcbiAgQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaG9tZXBhZ2UtdmlzaW9uLFxuLnZpc2lvbi1zdGFuZGFsb25le1xuICAuYW1iaWVudC1iZ3tcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMDtcbiAgfVxufSIsIi5icmVhZGNydW1ic3tcbiAgbWFyZ2luOjAgMCAkbWFyZ2luLXNtYWxsO1xuICBmb250LXNpemU6Ljg3NXJlbTtcbiAgYXtcbiAgICB0cmFuc2l0aW9uOmNvbG9yIDM1MG1zO1xuICB9XG4gIGE6aG92ZXJ7XG4gICAgY29sb3I6JGNvbG9yLWhpZ2hsaWdodDtcbiAgfVxuICBzcGFue1xuICAgIGN1cnNvcjpkZWZhdWx0O1xuICB9XG59IiwiLm5ld3NsZXR0ZXItY29sdW1ue1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIsIFwiPGRlc2t0b3BcIikge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXItc2lnbnVwX3dyYXBwZXJ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubmV3c2xldHRlci1zaWdudXBfaW5uZXJ7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5uZXdzbGV0dGVyX2VtYWlse1xuICBjb2xvcjogJGNvbG9yLWxpZ2h0LWdyZXk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtIC4yNXJlbTtcbiAgZmxleDogMSAwIGF1dG87XG4gIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICY6OnBsYWNlaG9sZGVye1xuICAgIGNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5uZXdzbGV0dGVyX3N1Ym1pdCxcbi5uZXdzbGV0dGVyX2VtYWlse1xuICBmb250LXNpemU6IC43NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICY6Zm9jdXN7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4ubmV3c2xldHRlcl9zdWJtaXR7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmV5O1xuICBjb2xvcjogJGNvbG9yLWRhcmstZ3JleTtcbiAgcGFkZGluZzogLjM3NXJlbSAxLjVyZW0gLjI1cmVtO1xuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICB9XG59XG5cbi5uZXdzbGV0dGVyLXNpZ251cF9tZXNzYWdle1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59IiwiLyogVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tKi9cblxuYm9keXtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcztcbn1cblxuLm5hdi1iYXJfc2VnbWVudC0tdG9we1xuICB0cmFuc2l0aW9uOmFsbCAyNTBtcztcbn1cblxuLnNoYWRvdyxcbi5zaXRlLXF1b3Rlc3tcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xufVxuXG4ud29yay1ncmlkX2l0ZW0tLWltYWdlLFxuLmNvbnRhY3QtbG9jYXRpb25fc2luZ2xlLS1pbWFnZSBpbWd7XG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyAkZWFzZS1vdXQtcXVhZDtcbn1cblxuLmFydGljbGUtZ3JpZF9pdGVtLS1pbWFnZS10b3AsXG4uYWJvdXRfc3dpcGVyLXNsaWRle1xuICB0cmFuc2l0aW9uOm9wYWNpdHkgMzUwbXM7XG59XG5cbi5hYm91dF9zd2lwZXItY29udHJvbHMtc2luZ2xle1xuICB0cmFuc2l0aW9uOmNvbG9yIDM1MG1zO1xufVxuXG5wIGEsXG4ucmVhZC1tb3JlLWxpbmssXG4ucG9zdC1zaW5nbGVfcmVsYXRlZC10aXRsZSxcbi5wb3N0LXNpbmdsZS0tc2VyaWVzIGF7XG4gIHRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIDI1MG1zLCBjb2xvciAyNTBtcztcbn1cblxuLmhvbWVwYWdlLWNvdmVyX2xpbmtzIGEsXG4ubmF2LWJhcl9zZWdtZW50LS10b3A6aG92ZXIgLnByaW1hcnktbmF2IGxpIGF7XG4gIHRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIDI1MG1zO1xufVxuXG5cbi5hYm91dF9zd2lwZXItY29udHJvbHMtc2luZ2xle1xuICB0cmFuc2l0aW9uOmNvbG9yIDI1MG1zO1xufVxuXG4uaW5wdXQtYnRuLFxuLmluc2lnaHRfZmlsdGVyIGF7XG4gIHRyYW5zaXRpb246YWxsIDI1MG1zOyAgXG59XG5cbi5pbWFnZS1zbGlkZXNob3ctLW5leHQsXG4uaW1hZ2Utc2xpZGVzaG93LS1wcmV2e1xuICB0cmFuc2l0aW9uOmFsbCAyNTBtcyAkZWFzZS1vdXQtZXhwbzsgICAgXG59IiwiLyogUHJvZ3Jlc3MgQmFyXG4tLS0tLS0tLS0tLS0tLSovXG5cbiNucHJvZ3Jlc3Mge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuI25wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZDokY29sb3ItaGlnaGxpZ2h0O1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTAwMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbn1cblxuLm5wcm9ncmVzcy1jdXN0b20tcGFyZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubnByb2dyZXNzLWN1c3RvbS1wYXJlbnQgI25wcm9ncmVzcyAuYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uaW1hZ2Utc2xpZGVzaG93LS1wcmV2OmhvdmVye1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgNTAlO1xufVxuXG4uaW1hZ2Utc2xpZGVzaG93LS1uZXh0OmhvdmVye1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3MCUgNTAlO1xufVxuXG4uaW5zaWdodF9maWx0ZXIgYTpob3ZlcntcbiAgY29sb3I6I2ZmZjtcbiAgYmFja2dyb3VuZDojMDAwO1xuICBib3JkZXItY29sb3I6IzAwMDtcbn1cblxuLmFib3V0X3N3aXBlci1jb250cm9scy1zaW5nbGU6aG92ZXJ7XG4gIGNvbG9yOiMwMDA7XG59IiwiLmhvbWUgLmhlYWRlci1wbGFjZWhvbGRlcntcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhvbWVwYWdlLWNvdmVyLXdyYXB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbiAgLmhvbWVwYWdlLWNvdmVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoNTB2aCAtIDEuNTMxMjVlbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICAgLmhvbWVwYWdlLWNvdmVyX19pbm5lcntcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNzMuNjI1cmVtO1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIGN1cnNvcjpkZWZhdWx0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNnJlbTtcbiAgICAgICAgbWFyZ2luOiAxLjJlbSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIHBhZGRpbmc6MnJlbSAgNHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgICAgcGFkZGluZzoycmVtIDZyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIHBhZGRpbmc6ICRtYXJnaW4teC1zbWFsbDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PXBob25lXCIpIHtcbiAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAgIC5ob21lcGFnZS1jb3Zlcl9fdGl0bGV7XG4gICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgZm9udC1zaXplOjEuODc1cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIG1hcmdpbjowIDAgMi40ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhvbWVwYWdlLWNvdmVyX190ZXh0e1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBmb250LXNpemU6MS4yNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgfVxuXG4gIC5ob21lcGFnZS13b3JrX19vZmZsaW5re1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbjokbWFyZ2luLXNtYWxsIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW46JG1hcmdpbi1zbWFsbCAwIDAgO1xuICAgIH1cbiAgICBcbiAgfVxuXG4uaG9tZXBhZ2UtdmlzaW9ue1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaG9tZXBhZ2Utc2Nyb2xsZXJ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxcmVtO1xuICBsZWZ0OiAwO1xuICB3aWR0aDoxMDAlO1xuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgYm90dG9tOiAycmVtO1xuICB9XG59XG5cbiAgLmhvbWVwYWdlLXNjcm9sbGVyX19idXR0b257XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi1ob21lcGFnZS1hcnJvdy5zdmcpIG5vLXJlcGVhdCA1MCUgNTAlOyBcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJjpmb2N1c3tcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG5cblxuLnRoaW5raW5nLWNvbHVtbnN7XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICBtYXJnaW46MCAtMS4yNWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuICAgIG1hcmdpbjowIC0uNjI1ZW07XG4gIH1cbn1cblxuICAudGhpbmtpbmctY29sdW1ue1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgIHdpZHRoOjI1JTtcbiAgICAgIHBhZGRpbmc6MCAxLjMxMjVlbTtcbiAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgI0QzRDNEMztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmVcIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICB3aWR0aDo1MCU7XG4gICAgICBwYWRkaW5nOjAgLjYyNWVtO1xuICAgICAgbWFyZ2luOjAgMCAkbWFyZ2luLW1lZGl1bTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmVcIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICAuYXJ0aWNsZS1pdGVtOm50aC1jaGlsZCgyKXtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHBob25lXCIpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiRtYXJnaW4tbWVkaXVtO1xuICAgICAgfVxuXG4gICAgICAuYXJ0aWNsZS1pdGVtOm50aC1sYXN0LWNoaWxkKC1uKzIpe1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtaXRlbXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzowO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8cGhvbmVcIikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZHtcbiAgICAgIGJvcmRlcjowO1xuICAgIH1cbiAgfVxuXG4gIC50aGlua2luZy10aXRsZXtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOjAgMCAxLjYyNXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbiAgfVxuXG4uaG9tZXBhZ2UtbWFpbi10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MTg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1tYWlzb24tZGVtaTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICBmb250LXNpemU6IDMuNDM3NWVtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIiwgXCI8PWRlc2t0b3BcIikge1xuICAgIGZvbnQtc2l6ZTogMi41NzgxMjVlbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPHMtcGhvbmVcIikge1xuICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICB9XG59XG5cbi5ob21lcGFnZS1zZWNvbmRhcnktdGl0bGUge1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgZm9udC1mYW1pbHk6ICRmb250LW1haXNvbi1kZW1pO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sLWRlc2t0b3BcIikge1xuICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiLCBcIjxsLWRlc2t0b3BcIikge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZVwiLCBcIjw9ZGVza3RvcFwiKSB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZVwiKSB7XG4gICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPHMtcGhvbmVcIikge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG59XG5cbi5ob21lcGFnZS1zZWN0aW9uICB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWRhcmstZ3JleSwgMC44KTtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB6LWluZGV4OjE7XG59XG5cbi5ob21lcGFnZS1zZWN0aW9uX193cmFwIHtcbiAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5ob21lcGFnZS1zZWN0aW9uX19jb2wge1xuICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmhvbWVwYWdlLXNlY3Rpb25fX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4uaG9tZXBhZ2UtdGV4dC1yb3dzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ob21lcGFnZS10ZXh0LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJiArIC5ob21lcGFnZS10ZXh0LXJvdyB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG59XG5cbi5ob21lcGFnZS10ZXh0LXJvd19fdGl0bGUge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG5cbi5ob21lcGFnZS10ZXh0LXJvd19fdGV4dCB7XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG59XG5cbi5ob21lcGFnZS10ZXh0LXJvd19fdGl0bGUsXG4uaG9tZXBhZ2UtdGV4dC1yb3dfX3RleHQge1xuICB3aWR0aDogNTAlO1xufVxuXG4uaG9tZXBhZ2Utc2VjdGlvbl9fdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG59Iiwic2VjdGlvbi52aWRlby1wYWdle1xuICBwYWRkaW5nOjAgIWltcG9ydGFudDtcbn1cblxuLnZpZGVvLXBhZ2V7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBjb2xvcjojZmZmO1xuICBiYWNrZ3JvdW5kOiMwMDA7XG4gIG1pbi1oZWlnaHQ6MTAwdmg7XG4gIG92ZXJmbG93OmhpZGRlbjtcblxuICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgIHBhZGRpbmc6IDJyZW0gMS4yNXJlbTtcbiAgfVxuXG4gIC5hbWJpZW50LWJnLXZpZGVve1xuICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbiAgLnZpZGVvLXBhZ2VfX3dyYXB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6MjA7XG4gICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG4gICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICBwYWRkaW5nOjAgMWVtO1xuICB9XG5cbiAgLnZpZGVvLXBhZ2VfXzEwMHZoe1xuICAgIGhlaWdodDoxMDB2aDtcbiAgfVxuXG4gIC52aWRlby1wYWdlX19pbm5lcntcbiAgICB6LWluZGV4OjI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gbWFyZ2luOjAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZVwiKSB7XG4gICAgICBwYWRkaW5nOiAwIDcuNSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgIC5zZWN0aW9uLXRpdGxle1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBwOmZpcnN0LW9mLXR5cGV7XG4gICAgICBtYXJnaW4tdG9wOjA7XG4gICAgfVxuICAgIHA6bGFzdC1vZi10eXBle1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIH1cbiAgfVxuXG4gIC52aWRlby1wYWdlX19pbm5lci1mdWxse1xuICAgIHotaW5kZXg6MjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cbiAgfVxuXG4gICAgLnZpZGVvLXBhZ2VfX2lubmVyLWhhbGZ7XG4gICAgICBtYXgtd2lkdGg6IDMyZW07XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxwaG9uZVwiKSB7XG4gICAgICAgIG1hcmdpbjo0cmVtIDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmVcIiwgXCI8dGFibGV0XCIpIHtcbiAgICAgICAgbWFyZ2luOjZyZW0gYXV0bztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIHBhZGRpbmc6MCAxLjVlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgLnZpZGVvLXBhZ2VfX2J1dHRvbntcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgbWFyZ2luOiAycmVtIDAgMDtcbiAgICB9XG4gIH1cblxuICAudmlkZW8tb3ZlcmxheS10cmlnZ2Vye1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIGZvbnQtc2l6ZToxZW07XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgZm9udC1zaXplOjEuNDM3NWVtO1xuICAgIH1cbiAgICAmOmZvY3Vze1xuICAgICAgb3V0bGluZTowO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgfVxuICB9XG5cblxuLnZpc2lvbl9fcGxheWVye1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgdG9wOjA7XG4gIGxlZnQ6MDtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIHotaW5kZXg6NTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnZpc2lvbl9fY2xvc2V7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6MDtcbiAgcmlnaHQ6MDtcbiAgei1pbmRleDoxMDAwO1xuICB3aWR0aDozLjA2MjVlbTtcbiAgaGVpZ2h0OjMuMDYyNWVtO1xuICBiYWNrZ3JvdW5kOnVybCguLi9pbWcvbW9iaWxlLWljb24tY2xvc2Uuc3ZnKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOi44NzVyZW07XG59IiwiLyogV29yayBHcmlkXG4tLS0tLS0tLS0tLS0tLSovXG5cbi53b3JrLWdyaWR7XG4gIGZvbnQtc2l6ZTowO1xuICBtYXJnaW46LS42MjVyZW07XG4gIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgIG1hcmdpbjotLjQzNzVyZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICBtYXJnaW46LS40Mzc1cmVtIC0uODEyNXJlbTtcbiAgfVxufVxuXG4gIC53b3JrLWdyaWRfX3B1bGxlcntcbiAgICB3aWR0aDoxMDAlO1xuICB9XG5cbiAgLmdyaWQtaXRlbXtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgb3BhY2l0eToxO1xuICAgIGZvbnQtc2l6ZToxcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcbiAgICAgIHdpZHRoOjMzLjMzJTtcbiAgICAgIHBhZGRpbmc6LjYyNWVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgIHdpZHRoOjUwJTtcbiAgICAgIHBhZGRpbmc6LjQzNzVlbTtcbiAgICB9XG4gIH1cblxuICAuZ3JleXNjYWxlLWltZ3tcbiAgZmlsdGVyOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVxcJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFwnPjxmaWx0ZXIgaWQ9XFwnZ3JheXNjYWxlXFwnPjxmZUNvbG9yTWF0cml4IHR5cGU9XFwnbWF0cml4XFwnIHZhbHVlcz1cXCcwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwIDAgMCAxIDBcXCcvPjwvZmlsdGVyPjwvc3ZnPiNncmF5c2NhbGVcIik7IC8qIEZpcmVmb3ggMy41KyAqL1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoOTAlKTtcbiAgICAtbW96LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoOTAlKTtcbiAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoOTAlKTtcbiAgICBmaWx0ZXI6IGdyYXk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyAkZWFzZS1vdXQtcXVhZDtcbiAgfVxuXG4gIC5ncmV5c2NhbGUtLWhvdmVyOmhvdmVye1xuICAgIC5ncmV5c2NhbGUtaW1neyBcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDAlKSBicmlnaHRuZXNzKDEwMCUpO1xuICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwJSkgYnJpZ2h0bmVzcygxMDAlKTtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAub2xkLWJyaWdodG5lc3MtbW9kZWwgLmdyZXlzY2FsZS1pbWd7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSBicmlnaHRuZXNzKDEwJSk7XG4gIH1cblxuICAgIC5ncmlkLWl0ZW1fX2ltYWdle1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOjY3JTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgICAgIGltZ3tcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLmdyaWQtaXRlbV9fbG9nb3tcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICByaWdodDowO1xuICAgICAgbGVmdDowO1xuICAgICAgYm90dG9tOjA7XG4gICAgICB6LWluZGV4OjUwO1xuXG4gICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlcjtcblxuICAgICAgaW1ne1xuICAgICAgICBtYXgtd2lkdGg6NTAlO1xuICAgICAgfVxuICAgIH0iLCIucHJvamVjdHtcbiAgcGFkZGluZy1ib3R0b206JG1hcmdpbi1zbWFsbDtcbn1cblxuLnByb2plY3QtYmFye1xuICBmb250LXNpemU6Ljg3NXJlbTtcbn1cblxuICAucHJvamVjdC1pbmZvLXRvZ2dsZXtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOmNvbG9yIDM1MG1zO1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjokY29sb3ItaGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxuXG4ucHJvamVjdC1pbWFnZXJ5e1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XG4gICAgZm9udC1zaXplOjA7XG4gICAgbWFyZ2luOjAgLTAuNjU2MjVyZW07XG5cbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLy8gZmxleC13cmFwOiB3cmFwO1xuICAgIC8vIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAvLyBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgIC8vIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbn1cblxuXG4gIC5pbWFnZXJ5LWJsb2NreyAgXG4gIFxuICAgIGltZ3tcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OmF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcbiAgICAgIHBhZGRpbmc6MCAwLjY1NjI1ZW07IFxuICAgICAgbWFyZ2luOjAgMCAxLjY4NzVlbTtcbiAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgICAgd2lkdGg6NTAlO1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICBcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbjowIDAgLjkzNzVlbTtcbiAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmltYWdlLWJsb2NrX193cmFwcGVye1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjA7XG4gICAgcGFkZGluZy1ib3R0b206IDY2LjY4JTtcbiAgICBpbWd7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDowO1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgb2JqZWN0LWZpdDpjb3ZlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcbiAgICB9XG4gIH1cblxuICAudmlkZW8td3JhcHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDowO1xuICAgIHBhZGRpbmctYm90dG9tOiA2Ni42OCU7XG5cbiAgICAvLyAuZnJlc2gtcGxheWVyIHZpZGVve1xuICAgIC8vICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAvLyB9XG5cbiAgICAuaW1hZ2VyeS1ibG9jazpub3QoLmltYWdlcnktYmxvY2stLWRvdWJsZSkgJntcblxuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDowO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY2LjY4JTtcbiAgICAgIFxuICAgIH1cblxuXG4gIH1cblxuICAuaW1hZ2VyeS1ibG9jay0tZG91Ymxle1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xuICAgIC5pbWFnZXJ5LWJsb2NrLS1kb3VibGUtaGVpZ2h0e1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICYgKyAuaW1hZ2VyeS1ibG9jazpub3QoLmltYWdlcnktYmxvY2stLWRvdWJsZS1oZWlnaHQpe1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICAmICsgLmltYWdlcnktYmxvY2t7XG4gICAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJiArIC5pbWFnZXJ5LWJsb2NrLS1kb3VibGUtaGVpZ2h0e1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWFnZXJ5LWJsb2NrX19nYWxsZXJ5e1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IDUwMG1zO1xuICAgICYubGF6eWxvYWRlZHtcbiAgICAgIG9wYWNpdHk6MTtcbiAgICB9XG4gICAgLnN3aXBlci1sYXp5e1xuICAgICAgb3BhY2l0eTowO1xuICAgICAgdHJhbnNpdGlvbjpvcGFjaXR5IDUwMG1zO1xuICAgIH1cbiAgICAuc3dpcGVyLWxhenktbG9hZGVke1xuICAgICAgb3BhY2l0eToxO1xuICAgIH1cbiAgICAuc3dpcGVyLWxhenk6bm90KC5zd2lwZXItbGF6eS1sb2FkZWQpe1xuICAgICAgaGVpZ2h0OjA7XG4gICAgfVxuICB9XG5cbi5wcm9qZWN0LWluZm97XG4gIG1hcmdpbjowIC0wLjY1NjI1cmVtIDA7XG4gIGZvbnQtc2l6ZTowO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzpoaWRkZW47XG4gICYuaXMtYWN0aXZle1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gIH1cbn1cblxuICAucHJvamVjdC1pbmZvX19yb3d7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgd2lkdGg6MzMuMzMlO1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIC8vIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgLy8gdmVydGljYWwtYWxpZ246dG9wO1xuICAgIH1cbiAgICBwYWRkaW5nOjAgMC42NTYyNXJlbTtcbiAgICBmb250LXNpemU6Ljg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDoxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1zbWFsbDtcbiAgfVxuXG4ucHJvamVjdC1wYWdpbmF0aW9ue1xuICBwYWRkaW5nLXRvcDogJG1hcmdpbi1zbWFsbDtcbiAgYXtcbiAgICBmb250LXNpemU6Ljg3NXJlbTtcbiAgICB0cmFuc2l0aW9uOmNvbG9yIDM1MG1zO1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICB9XG4gIH1cbn0iLCIuYXJ0aWNsZS1ncmlke1xuICBtYXJnaW46MCAtMC41NjI1cmVtO1xuICBmb250LXNpemU6MDtcbn1cblxuLmFydGljbGUtaXRlbXtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gIHdpZHRoOjEwMCU7XG4gIGZvbnQtc2l6ZToxcmVtO1xuICBwYWRkaW5nOjAgMC41NjI1ZW07XG4gIG1hcmdpbjowIDAgMS42ODc1ZW07XG4gICY6aG92ZXJ7XG4gICAgLmFydGljbGUtaXRlbV9fdGl0bGV7XG4gICAgICBjb2xvcjokY29sb3ItaGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uZm91ci1jb2x7XG4gIC5hcnRpY2xlLWl0ZW17XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgd2lkdGg6MjUlO1xuICAgICAgJjpudGgtY2hpbGQoNG4pe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmVcIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICB3aWR0aDo1MCU7XG4gICAgICAmOm50aC1jaGlsZCgybil7XG4gICAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGhyZWUtY29se1xuICAuYXJ0aWNsZS1pdGVte1xuICAgIHdpZHRoOjMzLjMzMzMlO1xuICAgICY6bnRoLWNoaWxkKDNuKXtcbiAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgIH1cbiAgfVxufVxuXG4gIC5hcnRpY2xlLWl0ZW1fX2ltYWdle1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOjY3JTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgIGltZ3tcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGUtaXRlbV9fcGxheS1pY29ue1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgbGVmdDo1MCU7XG4gICAgei1pbmRleDoxNTA7XG4gICAgbWFyZ2luOi0xLjI1ZW0gMCAwIC0xLjI1ZW07XG4gICAgd2lkdGg6Mi41cmVtO1xuICAgIGhlaWdodDoyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZmZmO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSA1MDBtcztcbiAgICAmOmFmdGVye1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6NTAlO1xuICAgICAgbGVmdDo1MCU7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNy41cHggMCA3LjVweCAxMi41cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0zMy4zMyUpO1xuICAgIH1cbiAgfVxuXG4gIC5yb2xsb3Zlci1pbWFnZS10b3B7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgYm90dG9tOjA7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSAzNTBtcztcbiAgfVxuXG4gIC5hcnRpY2xlLWl0ZW1fX2ltYWdlOmhvdmVye1xuICAgIC5yb2xsb3Zlci1pbWFnZS10b3B7XG4gICAgICBvcGFjaXR5OjA7XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGUtaXRlbV9fZGV0YWlsc3tcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmVcIikge1xuICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgbWFyZ2luOiAxLjA2MjVlbSAwIDA7XG4gIH1cblxuICAuYXJ0aWNsZS1pdGVtX190aXRsZXtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGNvbG9yOiMwMDA7XG4gICAgdHJhbnNpdGlvbjpjb2xvciAzNTBtczsgICBcbiAgfVxuXG4gIC5hcnRpY2xlLWl0ZW1fX3RpdGxlLFxuICAuYXJ0aWNsZS1pdGVtX19leGNlcnB0e1xuICAgIGZvbnQtc2l6ZTouODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OjEuNDtcbiAgfVxuXG4gIC5hcnRpY2xlLWl0ZW1fX2V4Y2VycHR7XG4gICAgbWFyZ2luLXRvcDouNWVtO1xuICB9XG5cbi5wb3N0LXJlbGF0ZWRfX3RpdGxlLFxuLmFyY2hpdmUtdGl0bGV7XG4gIG1hcmdpbjowIDAgJG1hcmdpbi1zbWFsbDtcbiAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5hcmNoaXZlLWJ1dHRvbntcbiAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiLnBhZ2UtdGVtcGxhdGUtY29udGFjdHtcbiAgLmhlYWRlcntcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNDQ0O1xuICB9XG59XG5cbi5zZWN0aW9uLWNvbnRhY3R7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWdyZXk7XG4gIGNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcbn1cblxuLmNvbnRhY3QtZGV0YWlsc3tcbiAgbWFyZ2luOjAgMCAxLjVyZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICBtYXJnaW46MCAwICRtYXJnaW4tbWVkaXVtO1xuICB9XG59XG5cbiAgLmNvbnRhY3QtaW1hZ2Vze1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgIHdpZHRoOjUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgIHdpZHRoOjY2LjY2JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cblxuICAgIGltZ3tcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICB3aWR0aDo1MCU7XG4gICAgICBwYWRkaW5nOjAgLjgxMjVlbTtcbiAgICB9XG4gIH1cblxuICAuY29udGFjdC1pbWFnZXNfX3dyYXB7XG4gICAgbWFyZ2luOjAgLS44MTI1ZW07XG4gIH1cblxuLmxvY2F0aW9ue1xuICBtYXJnaW46MCAwIDEuNXJlbTtcbiAgXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgbWFyZ2luOjAgMCAkbWFyZ2luLW1lZGl1bTtcbiAgICAmOmxhc3QtY2hpbGR7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gIH1cbn1cbiAgXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAubG9jYXRpb24tbWFwLFxuICAgIC5sb2NhdGlvbi1kZXRhaWxze1xuICAgICAgd2lkdGg6NTAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIC5sb2NhdGlvbntcbiAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIixcIjxkZXNrdG9wXCIpIHtcbiAgICAubG9jYXRpb24tbWFwe1xuICAgICAgd2lkdGg6NjYuNjYlO1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1kZXRhaWxze1xuICAgICAgd2lkdGg6MzMuMzMlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgLmxvY2F0aW9uLW1hcHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWRldGFpbHN7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgbWFyZ2luOjAgMCAkbWFyZ2luLW1lZGl1bTtcbiAgICB9XG4gIH1cblxuICAgIC5hY2YtbWFwe1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDowO1xuICAgICAgcGFkZGluZy1ib3R0b206NjYuNjYlO1xuICAgIH1cblxuICAubG9jYXRpb24tZGV0YWlsc3tcbiAgICAvLyBwYWRkaW5nLWxlZnQ6JG1hcmdpbi1zbWFsbDtcbiAgfVxuXG4gIC5sb2NhdGlvbi1jb250ZW50e1xuICAgIGZvbnQtc2l6ZTouODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OjEuMztcbiAgICBwOmxhc3QtY2hpbGR7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICAgIHA6Zmlyc3QtY2hpbGR7XG4gICAgICBtYXJnaW4tdG9wOjA7XG4gICAgfVxuICB9XG5cbiAgLmxvY2F0aW9uLXRpdGxle1xuICAgIG1hcmdpbjowIDAgJG1hcmdpbi1zbWFsbDtcbiAgfVxuXG4uY29udGFjdC1pbmZve1xuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgd2lkdGg6NTAlO1xuICAgIGZvbnQtc2l6ZTowO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICB3aWR0aDozMy4zMyU7XG4gIH1cbiAgLy8gcGFkZGluZy1sZWZ0OiRtYXJnaW4tc21hbGw7XG59XG5cbi5jb250YWN0LWluZm9fX3dyYXB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgXG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIG1hcmdpbjowIC0uODEyNXJlbTtcbiAgfVxufVxuXG4gIC5jb250YWN0LWluZm9fX2NvbHtcbiAgICBmb250LXNpemU6Ljg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDoxLjM7XG4gICAgcDpmaXJzdC1jaGlsZHtcbiAgICAgIG1hcmdpbi10b3A6MDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICBwYWRkaW5nOjAgLjgxMjVlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgcDpsYXN0LWNoaWxke1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWluZm9fX2NvbCxcbiAgLmxvY2F0aW9uLWNvbnRlbnR7XG4gICAgYXtcbiAgICAgIHRyYW5zaXRpb246Y29sb3IgMzUwbXM7XG4gICAgfVxuICAgIGE6aG92ZXJ7XG4gICAgICBjb2xvcjokY29sb3ItaGlnaGxpZ2h0O1xuICAgIH1cbiAgfSIsIi5wb3N0LWJvZHl7XG4gIHdpZHRoOjUwJTtcbiAgcGFkZGluZzoxZW0gJG1hcmdpbi1tZWRpdW07XG59XG5cbiAgLnBvc3QtdGl0bGV7XG4gICAgZm9udC1zaXplOjEuNzVlbTtcbiAgfVxuXG4gIC5wb3N0LW1ldGEsXG4gIC5wb3N0LWNvbnRlbnQsXG4gIC5wb3N0LWF1dGhvcntcbiAgICBsaW5lLWhlaWdodDoxLjQ7XG4gICAgZm9udC1zaXplOjAuOTM3NWVtO1xuICB9XG5cbiAgLnBvc3QtbWV0YXtcbiAgICBtYXJnaW46Ljc1cmVtIDAgMDtcbiAgfVxuXG4gIC5wb3N0LWNvbnRlbnR7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG4gICAgICBtYXJnaW46JG1hcmdpbi1zbWFsbCAwIDcuNXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgICAgbWFyZ2luOiRtYXJnaW4tc21hbGwgMCAkbWFyZ2luLW1lZGl1bTtcbiAgICB9XG4gICAgcHtcbiAgICAgIG1heC13aWR0aDozMy43NXJlbTtcbiAgICB9XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNntcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tYWlzb24tZGVtaTtcbiAgICB9XG4gICAgaW1ne1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBoZWlnaHQ6YXV0bztcbiAgICB9XG4gICAgYmxvY2txdW90ZXtcbiAgICAgIGZvbnQtc2l6ZToxLjM3NXJlbTtcbiAgICAgIG1heC13aWR0aDo1NHJlbTtcbiAgICAgIG1hcmdpbjo1cmVtIDA7XG4gICAgICBwe1xuICAgICAgICBmb250LXNpemU6aW5oZXJpdDtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIGF7XG4gICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRjb2xvci1kYXJrLWdyZXk7XG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjokY29sb3ItaGlnaGxpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wb3N0LWF1dGhvcntcbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206NXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgICAgbWFyZ2luLWJvdHRvbTokbWFyZ2luLW1lZGl1bTtcbiAgICB9XG4gIH1cblxuLnBvc3QtaW1hZ2Vze1xuICB3aWR0aDo1MCU7XG59XG5cbiAgLnBvc3QtaW1hZ2UsXG4gIC5wb3N0LXZpZGVve1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICBtYXJnaW46MCAwICRtYXJnaW4tc21hbGw7XG4gIH1cblxuICAucG9zdC12aWRlbyAudmlkZW8td3JhcHtcbiAgICBoZWlnaHQ6MDtcbiAgICBwYWRkaW5nLWJvdHRvbTo2Ni42NiU7XG4gIH1cblxuXG5AaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gIC5wb3N0LXNpbmdsZS0tZmlsbXN7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBtYXgtd2lkdGg6IDYwZW07XG4gICAgbWFyZ2luOjAgYXV0bztcblxuICAgIC5wb3N0LWltYWdlcyxcbiAgICAucG9zdC1ib2R5e1xuICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfSBcblxuICAgIC5wb3N0LWJvZHl7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuICAuc2luZ2xlOm5vdCguc2luZ2xlLXdvcmspe1xuICAgIC5icmVhZGNydW1ic3tcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBvc3QtaW1hZ2Vze1xuICAgIGZsb2F0Om5vbmU7XG4gICAgd2lkdGg6YXV0bztcbiAgICBtYXJnaW46LTJyZW0gLTJyZW0gMDtcbiAgfVxuXG4gIC5wb3N0LWJvZHl7XG4gICAgZmxvYXQ6bm9uZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIG1heC13aWR0aDozMy43NXJlbTtcbiAgICBtYXJnaW46JG1hcmdpbi1tZWRpdW0gYXV0bztcbiAgICBwYWRkaW5nOjA7XG4gIH1cblxuICAucG9zdC1yZWxhdGVkX190aXRsZXtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnBvc3QtcmVsYXRlZCAuYXJ0aWNsZS1pdGVtOm50aC1sYXN0LWNoaWxkKC1uKzIpIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgLnBvc3QtaW1hZ2Vze1xuICAgIG1hcmdpbjotMnJlbSAtMS4yNXJlbSAwO1xuICB9XG59IiwiLnRoaW5raW5nLXNlY3Rpb257XG4gIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XG4gICAgcGFkZGluZy10b3A6JG1hcmdpbi1sYXJnZTtcbiAgICBwYWRkaW5nLWJvdHRvbTokbWFyZ2luLWxhcmdlO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgIHBhZGRpbmctdG9wOiRtYXJnaW4tbWVkaXVtO1xuICAgIHBhZGRpbmctYm90dG9tOiRtYXJnaW4tbWVkaXVtO1xuICB9XG4gICY6bnRoLWNoaWxkKG9kZCl7XG4gICAgYmFja2dyb3VuZDojRURFREVEO1xuICB9XG59IiwiLnRlc3RpbW9uaWFscy1wYWdle1xuICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcbiAgICBtYXJnaW46NGVtIDA7XG4gICAgLnZpZGVvLW92ZXJsYXktdHJpZ2dlcntcbiAgICAgIG1hcmdpbi1ib3R0b206NGVtO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgbWFyZ2luOjEwZW0gMDtcbiAgICAudmlkZW8tb3ZlcmxheS10cmlnZ2Vye1xuICAgICAgbWFyZ2luLWJvdHRvbTo0ZW07XG4gICAgfVxuICB9XG59XG5cbiAgLnRlc3RpbW9uaWFsc19faW5uZXJ7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbHtcbiAgICBtYXJnaW46MCAwIDRlbTsgXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgZm9udC1zaXplOjEuNDM3NWVtO1xuICAgIH1cbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFsX19hdXRob3J7XG4gICAgY29sb3I6JGNvbG9yLWhpZ2hsaWdodDtcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbF9fbG9nbyBpbWd7XG4gICAgbWF4LXdpZHRoOjZyZW07XG4gICAgbWF4LWhlaWdodDoycmVtO1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgbWF4LXdpZHRoOjhyZW07XG4gICAgICBtYXgtaGVpZ2h0OjNyZW07XG4gICAgfVxuICAgIG1hcmdpbjowIGF1dG8gLjVlbTtcbiAgfSIsIi5wYWdlLTQwNHtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMuMDYyNWVtKTtcbiAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG59IiwiLmhvdy1wYWdle1xuICBtYXJnaW46IDJyZW0gMDtcbn0iXSwibWFwcGluZ3MiOiJBQ0FBLDREQUE0RDtBQUU1RDs7OztHQUlHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVztFQUFFLE9BQU87RUFDakMsb0JBQW9CLEVBQUUsSUFBSztFQUFFLE9BQU87RUFDcEMsd0JBQXdCLEVBQUUsSUFBSztFQUFFLE9BQU87Q0FDekM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFFO0NBQ1g7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7O0dBSUc7QUFFSCxBQUFBLE9BQU87QUFDUCxBQUFBLEtBQUs7QUFDTCxBQUFBLE9BQU87QUFDUCxBQUFBLFVBQVU7QUFDVixBQUFBLE1BQU07QUFDTixBQUFBLE1BQU07QUFDTixBQUFBLE1BQU07QUFDTixBQUFBLE1BQU07QUFDTixBQUFBLElBQUk7QUFDSixBQUFBLEdBQUc7QUFDSCxBQUFBLE9BQU87QUFDUCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFNO0NBQ2hCOztBQUVEOzs7R0FHRztBQUVILEFBQUEsS0FBSztBQUNMLEFBQUEsTUFBTTtBQUNOLEFBQUEsUUFBUTtBQUNSLEFBQUEsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQWE7RUFBRSxPQUFPO0VBQy9CLGNBQWMsRUFBRSxRQUFTO0VBQUUsT0FBTztDQUNuQzs7QUFFRDs7O0dBR0c7QUFFSCxBQUFvQixLQUFm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 */
