@charset "UTF-8";

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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,
main,
menu,
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/10/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */

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,
h2,
h3 {
  font-size: 2em;
  margin: 0;
  font-weight: normal;
}

p {
  margin: 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 {
  -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;
  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.
 */

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 2 */
}

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

@font-face {
  font-family: 'avenir-book';
  src: url("../fonts/AvenirLTStd-Book.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/AvenirLTStd-Book.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirLTStd-Book.woff") format("woff"), url("../fonts/AvenirLTStd-Book.ttf") format("truetype"), url("../fonts/AvenirLTStd-Book.svg#68ae522795537c9085762656931f5f55") format("svg");
  /* Legacy iOS */
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'avenir-heavy';
  src: url("../fonts/AvenirLTStd-Heavy.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/AvenirLTStd-Heavy.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirLTStd-Heavy.woff") format("woff"), url("../fonts/AvenirLTStd-Heavy.ttf") format("truetype"), url("../fonts/AvenirLTStd-Heavy.svg#a1eb5a5cfcec2ff7c30fe732daf3b2e8") format("svg");
  /* Legacy iOS */
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'avenir-book';
  src: url("../fonts/AvenirLTStd-BookOblique.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/AvenirLTStd-BookOblique.eot?#iefix") format("embedded-opentype"), url("../fonts/AvenirLTStd-BookOblique.woff") format("woff"), url("../fonts/AvenirLTStd-BookOblique.ttf") format("truetype"), url("../fonts/AvenirLTStd-BookOblique.svg#2d92c7089977381e7146422e05fbbf56") format("svg");
  /* Legacy iOS */
  font-style: oblique;
  font-weight: 400;
}

/* Slider */

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.tag {
  font-size: 11px;
  font-family: 'avenir-heavy', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

h1 {
  font-family: 'avenir-heavy', sans-serif;
  font-size: 42px;
  line-height: 1.15em;
  letter-spacing: -.0005em;
}

.tag + h1,
.tag + h2 {
  margin-top: 5px;
}

.tag + h2.h3 {
  margin-top: 0;
}

h2 {
  font-family: 'avenir-heavy', sans-serif;
  font-size: 32px;
  line-height: 1.15em;
  letter-spacing: -.0005em;
}

h2.h1 {
  font-size: 42px;
  line-height: 1.15em;
}

.h3,
h3 {
  font-size: 24px;
  line-height: 1.15em;
  letter-spacing: -.0005em;
}

.label {
  color: #666666;
}

.label.wide {
  margin-bottom: 5px;
}

.label.pull-left + .value.pull-left {
  margin-left: 15px;
}

.value strong {
  font-size: 32px;
}

.sidenote {
  color: #666;
  line-height: 1em;
  font-size: 12px;
}

h2 + h3,
h2 + p,
p + h3,
h3 + p {
  margin-top: 30px;
}

p + p,
p + ul,
p + ul.no-styling,
ul + p {
  margin-top: 15px;
}

@-webkit-keyframes punchlineCaption {
  from {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes punchlineCaption {
  from {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes slideTop {
  from {
    top: -100px;
  }

  to {
    top: 0;
  }
}

@keyframes slideTop {
  from {
    top: -100px;
  }

  to {
    top: 0;
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.to-animate {
  opacity: 0;
}

.animate {
  -webkit-animation: fadeIn 1s 0s cubic-bezier(0.18, 0.98, 0.45, 1) forwards;
  animation: fadeIn 1s 0s cubic-bezier(0.18, 0.98, 0.45, 1) forwards;
}

.punchlineCaption.animate {
  -webkit-animation-name: punchlineCaption;
  animation-name: punchlineCaption;
}

.slideTop.animate {
  -webkit-animation-name: slideTop;
  animation-name: slideTop;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
}

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #000000;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.8em;
}

body {
  background: #ffffff;
  color: #000000;
  font-family: 'avenir-book', sans-serif;
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  border-radius: 0;
  border: 0 none;
  background: transparent;
}

strong {
  font-weight: normal;
  font-family: 'avenir-heavy', sans-serif;
}

img {
  height: auto;
}

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

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
  display: none !important;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url("../js/boxsizing.htc");
}

.container {
  margin: 0 auto;
}

.container:after,
.row:after,
.col:after,
.clr:after,
.group:after {
  content: "";
  display: table;
  clear: both;
}

.col {
  display: block;
  float: left;
  width: 100%;
}

/* ==========================================================================
   Utilities
   ========================================================================== */

.wide {
  float: left;
  width: 100%;
}

.stretch {
  height: 100%;
}

.stretch-vh {
  height: 100vh;
  overflow: hidden;
}

.relative {
  position: relative;
}

.mid {
  float: none;
  margin: 0px auto;
  max-width: 1280px;
  position: relative;
}

.mid.s {
  max-width: 920px;
}

.mid.xs {
  max-width: 640px;
}

.mid.static {
  position: static;
}

.full {
  width: 100%;
}

.half {
  float: left;
  width: 50%;
}

.half img {
  width: 100%;
  float: left;
}

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

.flex {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-stretch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

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

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

.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.pull-left {
  float: left;
}

.pull-right {
  float: right;
}

.margin {
  margin: 60px 0;
}

.margin-small {
  margin: 30px 0;
}

.margin-small-bottom {
  margin-bottom: 30px;
}

.margin-small-top {
  margin-top: 30px;
}

.margin-xsmall-bottom {
  margin-bottom: 15px;
}

.margin-xsmall-top {
  margin-top: 15px;
}

.margin-top {
  margin-top: 60px;
}

.margin-bottom {
  margin-bottom: 60px;
}

.margin-small-top {
  margin-top: 30px;
}

.margin-small-bottom {
  margin-bottom: 30px;
}

.negative-margin-top {
  margin-top: -30px;
}

.margin-xsmall-top {
  margin-top: 15px;
}

.margin-xsmall-bottom {
  margin-bottom: 15px;
}

.padding {
  padding: 60px 0;
}

.padding-small {
  padding: 30px 0;
}

.padding-xsmall {
  padding: 15px 0;
}

.padding-large-right {
  padding-right: 90px;
}

.padding-large-left {
  padding-left: 90px;
}

.padding-top {
  padding-top: 60px;
}

.padding-bottom {
  padding-bottom: 60px;
}

.padding-small-top {
  padding-top: 30px;
}

.padding-small-bottom {
  padding-bottom: 30px;
}

.padding-xsmall-top {
  padding-top: 15px;
}

.padding-xsmall-bottom {
  padding-bottom: 15px;
}

.xl-padding {
  padding: 120px 0;
}

.grey {
  background: #f6f6f6;
  color: #000000;
}

.blue {
  background: #0828cc;
  color: #fff;
}

.black {
  background: #1c1c1c;
  color: #fff;
}

.white {
  background: #fff;
  color: #000;
}

.xsmall-whitespace {
  padding: 15px;
}

.small-whitespace {
  padding: 30px;
}

.whitespace {
  padding: 60px;
}

.large-whitespace {
  padding: 90px 120px;
}

.xl-whitespace {
  padding: 120px;
}

.xl-whitespace-horizontal {
  padding: 0 120px;
}

.overflow {
  margin-left: -30px;
  width: calc(100% + 60px);
}

.show_s,
.mobile-only {
  display: none;
}

ul.no-styling {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul.cols-2,
ul.cols-3 {
  float: left;
  width: 100%;
}

ul.cols-2 li {
  float: left;
  width: 50%;
}

ul.cols-3 {
  -webkit-column-count: 3;
  column-count: 3;
}

ul.horizontal li {
  display: inline-block;
}

ul.no-styling a {
  border-bottom: 0 none;
  padding-bottom: 0;
}

ul.no-styling img {
  float: left;
}

ul.no-styling .pull-left {
  line-height: 1em;
  text-transform: none;
}

blockquote {
  margin: 30px 0;
  font-size: 30px;
  line-height: 48px;
  padding: 15px 0;
  position: relative;
}

blockquote::before {
  width: 3px;
  background: #a7146e;
  height: 100%;
  content: "";
  left: -60px;
  position: absolute;
  top: 0;
  float: left;
}

blockquote.no-stripe::before {
  display: none;
}

.vertical-align-holder {
  height: 100%;
  display: table;
  width: 100%;
}

.vertical-align {
  display: table-cell;
  vertical-align: middle;
}

.half-content {
  max-width: 520px;
  display: inline-block;
  text-align: left;
  font-size: 18px;
  line-height: 1.6em;
}

.border-bottom {
  border-bottom: 1px solid #e5e5e5;
}

.border-top {
  border-top: 1px solid #e5e5e5;
}

.border-left {
  border-left: 1px solid #e5e5e5;
}

.border-right {
  border-right: 1px solid #e5e5e5;
}

html,
body,
.container,
.pusher {
  height: 100%;
}

body {
  overflow-x: hidden;
}

.btn {
  background: transparent;
  border: 0.2em solid #000;
  color: #000;
  line-height: 1em;
  padding: 15px 20px;
  position: relative;
  font-size: 12px;
  font-family: 'avenir-heavy', sans-serif;
  white-space: nowrap;
  -webkit-transition: all 0.2s linear 0s;
  transition: all 0.2s linear 0s;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  display: inline-block;
}

.black .btn {
  border: 0.2em solid #fff;
  color: #fff;
}

.link {
  color: #000;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 12px;
  font-family: 'avenir-heavy', sans-serif;
  line-height: 1.8em;
  cursor: pointer;
}

.black .link {
  color: #fff;
}

.decorated-link,
a[href^="tel:"],
a[href^="mailto:"],
ul.no-styling a[href^="tel:"],
ul.no-styling a[href^="mailto:"],
ul.no-styling a.decorated-link,
.contact-page p a {
  border-bottom: 0.08em solid rgba(0, 0, 0, 0.2);
  padding-bottom: 0.08em;
}

.black .decorated-link {
  border-bottom: 0.08em solid rgba(255, 255, 255, 0.2);
}

.decorated-link span {
  color: #666;
}

.no-js #preloader {
  display: none;
}

#preloader {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: #fff url("../images/preloader.gif") no-repeat center center;
}

#wrapper.xsmall-whitespace {
  padding: 15px 15px 0;
  min-height: 100%;
}

#wrapper.xsmall-whitespace > .wide.white {
  min-height: 100%;
}

#wrapper::before,
#wrapper::after {
  width: 100%;
  height: 15px;
  content: "";
  background: #0828cc;
  position: fixed;
  float: left;
  top: 0;
  left: 0;
}

#wrapper::after {
  top: auto;
  bottom: 0;
}

#logo a {
  float: left;
  width: 150px;
  height: 52px;
  position: absolute;
  left: 45px;
  top: 45px;
}

.fixed #logo a {
  position: fixed;
  top: 15px;
  width: 120px;
  height: 42px;
}

#logo a svg {
  float: left;
  width: 150px;
  height: 52px;
  fill: #000;
  -webkit-transition: all 0.2s linear 0s;
  transition: all 0.2s linear 0s;
}

#logo.has-dark-bg a svg {
  fill: #fff;
}

.fixed #logo a svg {
  width: 120px;
  height: 42px;
}

.logo-tag svg {
  width: 150px;
  height: 52px;
  fill: #fff;
}

#menu {
  position: absolute;
  right: 0;
  top: 30px;
  padding: 0;
  background: #fff;
  border: 1px solid #e5e5e5;
}

.fixed #menu {
  position: fixed;
  top: 0;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
}

.nav {
  font-size: 11px;
  font-family: 'avenir-heavy', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #666;
}

.nav li {
  padding: 10px 15px;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
}

.nav li:last-child {
  border-right: 0 none;
}

.nav li a {
  -webkit-transition: color 0.2s linear 0s;
  transition: color 0.2s linear 0s;
}

.nav li a::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.nav li a:hover {
  color: #000;
}

.nav li.active a {
  color: #000;
  border-bottom: 0.08em solid rgba(0, 0, 0, 0.1);
}

.scroll-down-trigger {
  position: relative;
  float: left;
  width: 100%;
  margin-top: 80px;
  text-align: center;
}

.scroll-down-trigger::before {
  content: "";
  left: 50%;
  position: absolute;
  top: -80px;
  width: 1px;
  height: 50px;
  background: rgba(0, 0, 0, 0.2);
  float: left;
}

#header {
  z-index: 9999;
}

#punchline.stretch {
  max-height: 660px;
}

#punchline {
  background: url("../images/volvo-hero.jpg") no-repeat center center;
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.75);
}

.star {
  background: url("../images/star.svg") no-repeat center center;
  background-size: 100% auto;
  width: 16px;
  height: 16px;
  float: left;
  opacity: 0.2;
  margin-right: 3px;
}

.star_state_active {
  opacity: 1;
}

.overflow-hidden {
  overflow: hidden;
}

.col-25 {
  float: left;
  width: 25%;
}

.col-33 {
  float: left;
  width: 33.3333%;
}

.col-66 {
  float: left;
  width: 66.6666%;
}

.col-75 {
  float: left;
  width: 75%;
}

.col-33.no-float,
.col-66.no-float {
  float: none;
}

.color-badge {
  float: left;
  border: 2px solid #fff;
  outline: 1px solid rgba(0, 0, 0, 0.1);
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  margin-right: 15px;
  margin-left: 1px;
}

.go-back {
  background: #1c1c1c;
  position: fixed;
  bottom: 0;
  left: 30px;
  height: 60px;
  width: 60px;
  text-align: center;
  line-height: 60px;
  color: #fff;
  /*opacity: 0;*/
  -webkit-transform: translateY(139px);
  transform: translateY(139px);
  -webkit-transition: all 0.2s linear 0s;
  transition: all 0.2s linear 0s;
}

.go-back.show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.go-back::before {
  content: "‹";
  font-family: 'avenir-book', sans-serif;
  font-size: 42px;
}

.nfs-overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  background: rgba(255, 255, 255, 0.6);
  overflow: hidden;
}

.blog-content .col-33 .nfs-overlay .tag {
  width: 100%;
  background: #000;
  color: #fff;
  float: left;
  position: absolute;
  top: 25%;
  left: 0;
}

.car-specs {
  font-size: 14px;
  line-height: 1.6em;
}

.car-specs li {
  display: block;
  float: left;
  width: 50%;
}

.featured-item:last-child .item.margin-bottom {
  margin-bottom: 0;
}

.featured-item:nth-child(even) .item .half:first-child {
  float: right;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.price-incl {
  margin-left: 15px;
  margin-top: 6px;
}

.price-holder.padding-small {
  padding-bottom: 20px;
}

.item img {
  width: 100%;
  float: left;
}

.blog-top {
  margin-top: -15px;
  padding-bottom: 50px;
}

.blog-content {
  width: calc(100% + 60px);
  margin-left: -30px;
}

.blog-content .col-33 {
  padding: 0 30px 30px;
  margin-bottom: 60px;
  border-bottom: 1px solid #e5e5e5;
}

.blog-content .col-33 p {
  font-size: 16px;
  line-height: 1.6em;
}

.blog-content h2 + p,
.blog-featured h2 + p {
  margin-top: 25px;
}

.blog-content h2.h3 + p {
  margin-top: 15px;
}

.blog-content .col-33 .input strong {
  font-size: 24px;
}

.blog-content .col-33 .btn {
  position: relative;
  top: -4px;
  margin-left: 15px;
}

.blog-content .col-33 .link {
  position: relative;
  margin-left: 30px;
  top: -1px;
}

.blog-content .col-33 .tag {
  font-size: 10px;
  color: #666666;
  letter-spacing: 0.15em;
}

.item-page-header {
  max-height: 750px;
  overflow: hidden;
}

.item-page-header img,
.item-page-header video {
  width: 100%;
  float: left;
  height: auto;
  max-height: 750px;
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.item-page-header-content-shadow,
.item-page-content-history-shadow {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  float: left;
  height: 40%;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(28, 28, 28, 0.5)));
  background: linear-gradient(to bottom, transparent 0%, rgba(28, 28, 28, 0.5) 100%);
}

.item-page-header-content,
.supersized-image-content {
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

.item-page-header .scroll-down-trigger {
  position: absolute;
  bottom: 45px;
  right: 45px;
  width: auto;
  color: #fff;
}

.item-page-header .scroll-down-trigger::before {
  background: #fff;
}

.item-page-header-content h1 {
  display: inline-block;
  color: #fff;
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.75);
}

.item-page-header-content .price-cta {
  display: inline-block;
  top: 12px;
  margin-left: 30px;
  position: relative;
}

.item-page-header-content .price {
  color: #fff;
  margin-right: 30px;
  position: relative;
  top: 1px;
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.75);
}

.item-page-header-content .price .label {
  color: inherit;
}

.item-page-header-content .cta {
  padding: 5px 30px;
  left: -1px;
  position: relative;
}

.item-page-header-content .price .value {
  position: relative;
  top: 7px;
  margin-left: 10px;
  display: inline-block;
}

.item-page-header-content .price .value strong {
  font-size: 42px;
}

.item-page-header-content .cta .cta-btn {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 12px;
  font-family: 'avenir-heavy', sans-serif;
}

.item-page-content .col-75 p,
.item-page-content .col-66 p {
  -webkit-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 60px;
  column-gap: 60px;
  margin-top: 60px;
}

.flip {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  float: left;
}

.flip span {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 42px;
  font-family: 'avenir-heavy', sans-serif;
}

.item-page-content h2 + p,
.item-page-content h3 + ul {
  margin-top: 30px;
}

.image-shadow {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  left: -60px;
  bottom: -60px;
}

.image-shadow.image-shadow-right {
  left: auto;
  right: -60px;
}

.item-page-specs {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.item-page-specs .flex {
  border-right: 1px solid #e5e5e5;
  padding: 15px 30px;
  float: left;
}

.item-page-specs .flex:last-child {
  border-right: 0 none;
}

.item-page-specs img.brand-logo {
  width: 70px;
  height: auto;
  display: inline-block;
  margin-right: 15px;
}

.item-page-specs .label {
  font-size: 14px;
  line-height: 1em;
  margin-bottom: 6px;
}

.item-page-specs .color-badge {
  top: -2px;
  margin-right: 7px;
}

.item-page-specs .value {
  line-height: 1em;
  font-size: 14px;
  font-family: 'avenir-heavy', sans-serif;
}

.item-page-header-content.fixed #price-cta {
  position: fixed;
  top: 0;
  bottom: auto;
  background: #fff;
  height: 54px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-top: 0;
  z-index: 99;
  margin-left: 0;
}

.item-page-header-content.fixed #price-cta .price {
  text-shadow: none;
  color: #000;
  margin-left: 30px;
  top: 9px;
}

.item-page-header-content.fixed #price-cta .price .value {
  top: 2px;
}

.item-page-header-content.fixed #price-cta .price .value strong {
  font-size: 26px;
}

.item-page-header-content.fixed #price-cta .cta {
  border-left: 1px solid #e5e5e5;
  height: 52px;
  line-height: 42px;
}

.item-page-content .item-page-content-image-gallery .image-holder img {
  float: left;
  width: 100%;
}

.item-page-content .item-page-content-image-gallery a.image-holder {
  border: 10px solid #fff;
}

.item-page-content .item-page-content-image-gallery .thumbs-holder a.image-holder {
  height: 145px;
  overflow: hidden;
  padding: 0;
}

.item-page-content-image-gallery-holder {
  width: calc(100% + 30px);
  margin-left: -15px;
}

.photoview-icon {
  padding-left: 25px;
  position: relative;
}

.photoview-icon::before {
  background: url("../images/photoview.svg") no-repeat center center;
  background-size: 16px 16px;
  content: '';
  float: left;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 3px;
}

.inclusive-list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 5px;
}

.facts-list li {
  margin-bottom: 5px;
  float: left;
  width: 100%;
}

.facts-list li span {
  float: left;
  width: 50%;
}

.facts-list li span:last-child {
  float: right;
}

.inclusive-list li::before {
  content: "";
  float: left;
  position: absolute;
  left: 0;
  top: 8px;
  background: url("../images/checkmark.svg") no-repeat center center;
  background-size: 16px 12px;
  width: 16px;
  height: 12px;
}

.half-content .tag + p,
.half-content .tag + ul {
  margin-top: 7px;
}

.supersized-image-content h2 {
  font-size: 42px;
  color: #fff;
  text-shadow: 0 0 50px rgba(0, 0, 0, 0.75);
}

.item-page-content-history .overflow-right,
.item-page-content-history .overflow-left {
  position: absolute;
  right: 0;
  width: 50%;
  padding-left: 0;
  margin-left: 0;
  top: 0;
  max-width: 960px;
}

.item-page-content-history .overflow-left {
  left: 0;
  right: auto;
}

.item-page-content-history .cols-2 {
  -webkit-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 60px;
  column-gap: 60px;
}

.resume-list li {
  float: left;
  margin-right: 30px;
  margin-bottom: 10px;
}

.resume-list li.col-33 {
  width: 33.3333%;
}

.resume-list li .pull-left {
  line-height: 1.8em;
}

.resume-list li .badge {
  top: 8px;
}

.item-page-resume .half-content {
  max-width: 100%;
}

.resume-list li .label {
  font-size: 14px;
  position: relative;
  top: 4px;
}

.relative .play-btn {
  background: url("../images/play-btn.png") no-repeat center center;
  width: 64px;
  height: 64px;
  background-size: 100% auto;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -32px;
  margin-top: -32px;
  pointer-events: none;
}

.playing-full-video .play-btn {
  display: none;
}

#boomerang-video {
  cursor: pointer;
  float: left;
  width: 100%;
  min-height: 360px;
}

.item-page-content-image-gallery-popup,
.item-page-content-image-overview-popup {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #191919;
  z-index: 10000;
  padding: 120px 0;
  display: none;
}

.item-page-content-image-gallery-popup.active,
.item-page-content-image-overview-popup.active {
  display: block;
}

.item-page-content-image-overview-popup {
  height: auto;
  min-height: 100vh;
  max-height: 100%;
  overflow-y: auto;
}

.slider-hero .slick-track {
  height: calc(100vh - 240px);
}

.slick-slide {
  height: 100%;
}

.slick-slide .image-holder {
  width: 100%;
  border-bottom: 0 none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: calc(100vh - 240px);
  text-align: center;
}

.slick-slide img {
  display: inline-block;
  max-height: calc(100vh - 240px);
  max-width: calc(100vw - 240px);
}

.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: fixed;
  top: 50%;
  display: block;
  width: 20px;
  height: 50px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  margin-top: -25px;
  z-index: 10001;
}

.slick-prev {
  left: 45px;
}

.slick-next {
  right: 45px;
}

.slick-prev::before,
.slick-next::before {
  font-family: 'avenir-book', sans-serif;
  font-size: 50px;
  line-height: 1;
  opacity: .75;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  float: left;
  margin-top: -11px;
  -webkit-transition: opacity 0.2s linear 0s;
  transition: opacity 0.2s linear 0s;
}

.slick-prev::before {
  content: '‹';
}

.slick-next::before {
  content: '›';
}

.item-page-content-image-gallery-popup .photoview-icon {
  position: fixed;
  bottom: 45px;
  right: 45px;
}

.top-icons {
  position: fixed;
  top: 45px;
  right: 45px;
  float: left;
}

.close-icon {
  margin-left: 30px;
}

.close-icon::before {
  content: "";
  cursor: pointer;
  background: url("../images/close.svg") no-repeat center center;
  background-size: 12px 12px;
  width: 18px;
  height: 18px;
  float: left;
  margin-right: 9px;
}

.fullscreen-icon::before {
  content: "";
  background: url("../images/fullscreen.svg") no-repeat center center;
  width: 18px;
  height: 18px;
  float: left;
  margin-right: 9px;
}

.image-overview-popup-content {
  width: calc(100% + 60px);
  margin-left: -30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 0;
}

.image-overview-popup-content .col-33 {
  padding: 0 30px 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.image-overview-popup-content img {
  max-width: 100%;
  height: auto;
}

textarea {
  background: #ffffff;
  border: 1px solid #eee;
  width: 100%;
  height: 150px;
  padding: 15px;
  font-family: 'avenir-book', sans-serif;
  float: left;
  margin-bottom: 15px;
  color: #000;
  border-radius: 0;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
.product-qty input[type="number"],
input[type="password"] {
  width: 100%;
  height: 50px;
  line-height: 50px;
  border: 1px solid #e5e5e5;
  background-color: #fff;
  font-size: 16px;
  font-family: 'avenir-book', sans-serif;
  margin-bottom: 15px;
  text-align: left;
  border-radius: 0;
  padding: 0 15px;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  color: #000;
}

input[type="number"] {
  width: 80px;
}

label {
  display: inline-block;
}

select {
  border: 1px solid #e5e5e5;
  background-color: #efefef;
  color: #000;
  font-size: 16px;
  height: 50px;
  line-height: 1.8em;
  font-family: 'avenir-book', sans-serif;
  padding: 0 15px;
  float: left;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 32px auto;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  max-width: 480px;
  clear: both;
  cursor: pointer;
  margin-bottom: 15px;
}

select option {
  padding: 10px 15px;
}

.haserror input,
.haserror textarea {
  border: 1px solid #d10000;
  background: #ffb1b1;
}

.no-go {
  background: #d10000;
  color: #fff;
  font-family: 'proximanova-bold', sans-serif;
  padding: 15px;
  border: 1px solid #d10000;
  display: none;
  border-radius: 3px;
}

.no-go.show {
  display: block;
}

label {
  margin-bottom: 5px;
}

label.hide {
  display: none !important;
}

.about-page-header-content {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.about-page-header .bg-slider,
.about-page-header img {
  width: 100%;
  float: left;
}

.about-page-header .tag {
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.75);
}

.about-page-header svg {
  -webkit-filter: drop-shadow(0 0 50px rgba(0, 0, 0, 0.75));
  filter: drop-shadow(0 0 50px rgba(0, 0, 0, 0.75));
}

.item-page-content-services-item.flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.item-page-content-services-item.flex:nth-child(even) .image-holder {
  float: right;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.image-shadow {
  background: #eee;
}

.item-page-content-services-item.flex:nth-child(even) .image-shadow {
  left: auto;
  right: -60px;
}

.contact-page-content svg {
  width: 100%;
  height: 480px;
  float: left;
}

.contact-details li {
  line-height: 1.8em;
}

.contact-details img {
  width: 160px;
  height: 160px;
  margin-right: 30px;
}

#toggle,
.toggle {
  cursor: pointer;
  display: none;
  float: right;
  font-size: 40px;
  font-weight: bold;
  line-height: 50px;
  margin-right: 15px;
  margin-top: 20px;
  padding: 7px;
  position: relative;
  right: 0;
  top: 0;
  -webkit-transition: all 0.2s linear 0s;
  transition: all 0.2s linear 0s;
  z-index: 999;
  width: auto;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

label.toggle span {
  height: 2px;
  width: 22px;
  background: #000;
  float: left;
  clear: both;
  -webkit-transition: all 0.2s linear 0s;
  transition: all 0.2s linear 0s;
}

label.toggle span + span {
  margin-top: 5px;
}

@media (max-width: 768px), screen and (min-device-width: 320px) and (max-device-width: 480px), screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
  #header {
    float: left;
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
  }

  /* menu switch */

  .toggle {
    display: block;
  }

  .toggle:hover {
    background: rgba(0, 0, 0, 0.1);
  }

  #menu,
  .fixed #menu {
    width: 100%;
    position: static !important;
    border: 0 none;
    display: none;
  }

  #menu ul.nav {
    width: calc(100%);
    float: left;
    margin-top: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }

  .nav li {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }

  #toggle:checked ~ #menu {
    display: block;
  }

  #toggle:checked ~ #menu li.deeper.open ul {
    display: block;
  }

  #logo a,
  .fixed #logo a {
    position: static !important;
    margin: 15px;
    float: left;
    width: 120px;
    height: 42px;
  }

  #logo a svg,
  .fixed #logo a svg {
    width: 120px;
    height: 42px;
    fill: #000 !important;
  }

  #logo.visuallyhidden {
    height: auto;
    margin: 0;
    position: static;
    width: auto;
    float: left;
  }
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  /* Retina */
}

@media only screen and (max-width: 1280px) and (min-width: 1025px) {
  #contentwrapper .blog .mid,
  #contentwrapper .blog-featured .mid,
  .item-page-content.wide .mid {
    padding-left: 30px;
    padding-right: 30px;
  }

  .image-shadow {
    left: -30px;
    bottom: -30px;
  }

  .image-shadow-right {
    left: auto;
    right: -30px;
  }

  .xl-whitespace-horizontal {
    padding: 0 90px;
  }
}

@media only screen and (max-width: 1024px) and (min-width: 768px), screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
  .whitespace {
    padding: 30px;
  }

  .blog-content h2 + p,
  .blog-featured h2 + p {
    font-size: 16px;
    line-height: 1.6em;
    margin-top: 15px;
    display: none;
  }

  .featured-item .item .half {
    width: 50%;
  }

  .featured-item h2 {
    font-size: 24px;
    line-height: 1.15em;
    margin-top: 0;
  }

  .featured-item .item .half.whitespace {
    padding: 0 30px;
  }

  .featured-item .item .half:first-child img {
    padding-right: 0;
    padding-left: 30px;
  }

  .featured-item:nth-child(2n) .item .half:first-child img {
    padding-right: 30px;
    padding-left: 0;
  }

  .featured-item .margin-small-top {
    margin-top: 15px;
  }

  .price-incl {
    width: 100%;
    margin-left: 0;
    margin-top: 8px;
    margin-bottom: 2px;
  }

  .featured-item .price-holder.padding-small {
    padding: 0 0 15px;
    border-top: 0 none;
    margin-top: -5px;
  }

  .cta-btns.padding-small {
    padding-top: 0;
    border-top: 0 none;
    padding-bottom: 0;
  }

  .featured-item .value strong {
    font-size: 20px;
  }

  .featured-item a.item {
    padding-bottom: 30px;
  }

  .tag {
    font-size: 10px;
  }

  #contentwrapper .blog .mid {
    max-width: 640px;
  }

  .blog-content .col-33 {
    width: 100%;
  }

  #contentwrapper .blog .mid .link {
    width: auto;
    float: right;
    margin-top: 0;
  }

  #contentwrapper .blog .mid .price-holder .value,
  #contentwrapper .blog .mid .price-holder .label {
    margin-top: 9px;
  }

  #contentwrapper .item-page .half-content,
  #contentwrapper .item-page .mid.s,
  #contentwrapper .item-page .mid.xs,
  .item-page-resume .half-content,
  .about-page .item-page-content .mid.s,
  .about-page .half-content {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  .item-page-content .item-page-resume .half-content {
    background: #ffffff;
  }

  .half + .half.xl-whitespace-horizontal,
  .half.xl-whitespace-horizontal + .half,
  .item-page-resume .half + .half {
    margin-top: 30px;
  }

  .about-page .item-page-content .wide.border-bottom {
    border-bottom: 0 none;
  }

  .item-page-content-services.padding {
    margin-top: 15px;
    border-top: 1px solid #e5e5e5;
    padding-top: 15px;
  }

  .about-page .item-page-content-services-item {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 30px;
    margin-bottom: 10px;
  }

  .about-page .item-page-content-services-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0 none;
  }

  #image-gallery {
    padding-top: 0;
    max-width: 670px;
    float: none;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
  }

  .item-page-content-image-gallery-footer {
    margin-bottom: 40px;
  }

  .about-page-header svg {
    width: 80%;
    height: auto;
  }

  .contact-page-content .half.xl-whitespace {
    padding: 30px 0;
  }

  .contact-page-content .half-content {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    float: none;
  }

  .contact-details.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .contact-page .contact-page-content .jpforms {
    padding-left: 0;
    padding-right: 0;
  }

  .thanks-page-content.wide .image-holder {
    display: none;
  }

  .thanks-page-content.wide .half.xl-whitespace.align-center {
    height: calc(100vh - 73px);
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 60px;
  }

  .stretch-vh {
    height: calc(100vh - 73px);
  }

  .thanks-page-content.wide .half.xl-whitespace.align-center .half-content {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px), screen and (min-device-width: 320px) and (max-device-width: 480px) {
  .logo-tag,
  .item-page-header-content-shadow,
  .item-page-content-history-shadow,
  .item-page-content .equal-flex .col-33,
  .item-page-content .equal-flex .col-25,
  .item-page-specs img.brand-logo,
  .supersized-image,
  .thanks-page-content.wide .image-holder {
    display: none !important;
  }

  .half {
    width: 100%;
  }

  .half-content {
    max-width: 100%;
  }

  .flex {
    display: inline-block;
  }

  .padding,
  .xl-padding {
    padding: 30px 0;
  }

  .margin {
    margin: 30px 0;
  }

  .padding-bottom {
    padding-bottom: 30px;
  }

  .stretch {
    height: auto;
  }

  #punchline {
    padding: 30px 15px;
  }

  .whitespace,
  .xl-whitespace,
  .large-whitespace,
  .xl-whitespace-horizontal {
    padding: 15px;
  }

  h1,
  h2,
  h2.h1 {
    font-size: 28px;
    line-height: 1.3em;
  }

  h2 + h3 {
    margin-top: 15px;
  }

  #punchline.stretch {
    background-size: cover;
    min-height: 40vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
  }

  .featured-item a.item {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 30px;
  }

  .featured-item a.item .half.whitespace {
    padding-bottom: 0;
  }

  .item-page-content .equal-flex .col-66,
  .item-page-content .equal-flex .col-75,
  .blog-content .col-33 {
    width: 100%;
  }

  .blog-content.padding-top {
    padding-top: 0;
  }

  .blog-content .col-33 {
    margin-bottom: 30px;
    padding-bottom: 0;
  }

  .blog-content .col-33 a.item {
    margin-bottom: 15px;
  }

  .price-holder.padding-small {
    padding-bottom: 15px;
    padding-top: 15px;
  }

  .blog-content .col-33 .link {
    width: 100%;
    top: 0;
    float: left;
    margin: 0;
    border: 2px solid #000;
    padding: 15px 20px;
    text-align: center;
    margin-top: 15px;
    line-height: 1em;
  }

  .blog-content .item .wide.padding-xsmall-top {
    padding-left: 15px;
    padding-right: 15px;
  }

  .about-page-header svg {
    width: 80%;
    height: auto;
  }

  .blog-top {
    margin-top: 0;
    padding-bottom: 30px;
  }

  .about-page-header-content.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .item-page-content .col-75 p,
  .item-page-content .col-66 p {
    -webkit-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 0;
    column-gap: 0;
    margin-top: 30px;
  }

  #item-page-header-content {
    position: static;
    padding-left: 15px;
    padding-right: 15px;
    border-bottom: 1px solid #eee;
    background: #f6f6f6;
    float: left;
    width: 100%;
  }

  .item-page-header-content .price,
  .item-page-header-content h1 {
    color: #000;
    text-shadow: 0 0 0 transparent;
    font-size: 28px;
    float: left;
    width: 100%;
    line-height: 1.4em;
  }

  .item-page-header-content .price {
    top: 0;
    position: relative;
    margin: 0;
  }

  .item-page-header-content .price .value,
  .item-page-header-content .price-cta {
    top: 0;
    display: inline;
  }

  .item-page-header-content .price .value strong,
  .item-page-header-content .price .label {
    font-size: 28px;
    line-height: 1.4em;
  }

  .item-page-header-content .cta {
    width: 100%;
    margin-top: 30px;
  }

  .item-page-specs.equal-flex {
    display: inline-block;
    border-bottom: 0 none;
  }

  .item-page-specs .color-badge {
    display: none;
  }

  .item-page-specs .flex {
    width: 50%;
    float: left;
    padding: 15px;
    border-bottom: 1px solid #eee;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  #image-gallery .col-66,
  #image-gallery .col-33 {
    width: 100%;
  }

  #image-gallery .col-66,
  #image-gallery .col-33 .image-holder.wide {
    margin-bottom: 15px;
    padding-left: 15px;
    padding-right: 15px;
  }

  #image-gallery .col-33 .image-holder.half {
    padding: 7px;
  }

  #image-gallery .col-33 .thumbs-holder {
    padding: 0 7px;
    margin-top: -7px;
  }

  .item-page-content .item-page-content-image-gallery .thumbs-holder a.image-holder {
    width: 50%;
    height: auto;
    overflow: hidden;
  }

  .item-page-content-history {
    border-top: 1px solid #eee;
  }

  .item-page-resume .half-content {
    padding: 30px 15px;
    background: #f6f6f6;
  }

  .item-page-form,
  .item-page-content-image-gallery-footer {
    padding-left: 15px;
    padding-right: 15px;
  }

  .item-page-resume .half-content .btn,
  .item-page-resume .half-content .cta,
  .jpforms .field.submit,
  .jpforms .field.submit .btn {
    width: 100%;
    text-align: center;
  }

  .go-back {
    left: 0;
    height: 45px;
    width: 45px;
    line-height: 45px;
  }

  .slick-slide img {
    max-width: 100%;
    max-height: 100%;
  }

  #image-gallery {
    padding-top: 0;
  }

  .item-page-content .item-page-content-image-gallery a.image-holder {
    border: 0 none;
  }

  .item-page-content-image-gallery-holder,
  .image-overview-popup-content {
    width: 100%;
    margin-left: 0;
  }

  .item-page-content-image-gallery-holder {
    padding-top: 15px;
  }

  .image-overview-popup-content {
    padding-left: 7px;
    padding-right: 7px;
  }

  .image-overview-popup-content .col-33 {
    padding: 0 7px 14px;
    width: 50%;
  }

  .mid > h2 {
    padding-top: 15px;
  }

  .flex .xl-whitespace:first-child .tag:first-child,
  .flex .large-whitespace:first-child .tag:first-child {
    padding-top: 12px;
    width: 100%;
    float: left;
  }

  .padding .half + .half.xl-whitespace {
    padding-bottom: 0;
  }

  .item-page-content .resume-list {
    float: left;
    width: 100%;
    margin-top: 0;
  }

  .fullscreen-icon {
    display: none;
  }

  .item-page-content-image-gallery-popup,
  .item-page-content-image-overview-popup {
    padding: 60px 0;
  }

  .item-page-content-image-gallery-popup.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .item-page-content-image-gallery-popup.active .slider-hero {
    width: 100vw;
  }

  .slick-prev {
    left: 15px;
  }

  .slick-next {
    right: 15px;
  }

  .top-icons {
    top: 15px;
    right: 15px;
  }

  .item-page-content-image-gallery-popup .photoview-icon {
    bottom: 15px;
    right: 15px;
  }

  .about-page-header .tag {
    display: none;
  }

  .about-page-header svg {
    width: 50%;
    height: auto;
  }

  .item-page-content-services-item .half.xl-whitespace {
    margin-top: 15px;
  }

  .contact-page-content .half.image-holder {
    display: none;
  }

  .contact-page .jpforms {
    padding-left: 15px;
    padding-right: 15px;
  }

  .image-shadow {
    display: none;
  }

  .thanks-page-content.wide .half.xl-whitespace.align-center {
    min-height: calc(100vh - 73px);
    height: auto;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .stretch-vh {
    min-height: calc(100vh - 73px);
    height: auto;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
  .fullscreen-icon {
    display: none;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
  .fullscreen-icon {
    display: none;
  }

  .about-page .col-33 {
    display: none;
  }

  .about-page .col-66 {
    padding: 60px;
    width: 100%;
  }

  .image-shadow {
    display: none;
  }

  #contentwrapper .item-page .half-content,
  #contentwrapper .item-page .mid.s,
  #contentwrapper .item-page .mid.xs,
  .item-page-resume .half-content,
  .about-page .item-page-content .mid.s,
  .about-page .half-content,
  #contentwrapper .blog .mid {
    max-width: 100%;
    padding: 0;
  }

  .blog-content .col-33 {
    width: 50%;
    padding: 0 15px 30px;
  }

  .blog-content .col-33 .item.margin-bottom {
    margin-bottom: 0;
  }

  .blog-content .price-holder.padding-small {
    padding-bottom: 0;
  }

  #contentwrapper .blog .mid .link {
    border: 2px solid #000;
    padding: 10px 20px;
  }

  .blog-content {
    margin-left: 0;
    width: 100%;
    padding: 30px 15px;
  }

  #image-gallery {
    max-width: 100%;
    width: 100%;
    padding: 0 30px;
    float: left;
  }

  .item-page-content .item-page-content-image-gallery .thumbs-holder a.image-holder {
    height: 110px;
  }

  .xl-padding {
    padding: 60px 0;
  }

  .xl-whitespace-horizontal {
    padding: 0 60px;
  }

  .half + .half.xl-whitespace-horizontal,
  .half.xl-whitespace-horizontal + .half,
  .item-page-resume .half + .half {
    margin-top: 0;
  }

  .item-page-content .image-shadow-holder {
    padding-left: 60px;
  }

  .item-page-content .half + .image-shadow-holder {
    padding-left: 0;
    padding-right: 60px;
  }

  .large-whitespace,
  .item-page-resume .half.relative,
  .xl-whitespace {
    padding: 60px;
  }

  h2.h1 {
    font-size: 26px;
    line-height: 1.15px;
  }

  .item-page-content .item-page-resume h3 + ul,
  .item-page-content .item-page-resume .cta.margin-small-top {
    margin-top: 15px;
  }

  .item-page-content .item-page-resume .wide.margin-xsmall-top {
    margin-top: 3px;
  }

  .item-page-form-holder .jpforms {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }

  #logo a {
    left: 30px;
    top: 30px;
  }

  .about-page-header svg {
    width: 100%;
    height: auto;
  }

  .item-page-content-services.padding {
    padding-top: 60px;
    margin-top: 0;
  }

  .about-page .item-page-content-services-item {
    padding-bottom: 60px;
    margin-bottom: 0;
  }

  .about-page h1.tag {
    margin-bottom: 15px;
  }

  .contact-page-content .half.xl-whitespace {
    padding: 60px;
  }
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after,
  *:first-letter,
  *:first-line {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJtYWluLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcclxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cclxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcclxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxyXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxyXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXHJcbiAqIGFuZCBGaXJlZm94LlxyXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxyXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxyXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxyXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxyXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxyXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXHJcbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXHJcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cclxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxyXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXG5oMSwgaDIsIGgzIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5wIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxyXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXHJcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cbmhyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cclxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcclxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXHJcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cclxuICovXG4vKipcclxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cclxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcclxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cclxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cclxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cclxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxyXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXHJcbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxyXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcclxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxyXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxyXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cclxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcclxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxyXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cclxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xyXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXHJcbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXHJcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXHJcbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWJvb2snO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0F2ZW5pckxUU3RkLUJvb2suZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvQXZlbmlyTFRTdGQtQm9vay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9BdmVuaXJMVFN0ZC1Cb29rLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvQXZlbmlyTFRTdGQtQm9vay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL0F2ZW5pckxUU3RkLUJvb2suc3ZnIzY4YWU1MjI3OTU1MzdjOTA4NTc2MjY1NjkzMWY1ZjU1XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqL1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWhlYXZ5JztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9BdmVuaXJMVFN0ZC1IZWF2eS5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9BdmVuaXJMVFN0ZC1IZWF2eS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9BdmVuaXJMVFN0ZC1IZWF2eS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL0F2ZW5pckxUU3RkLUhlYXZ5LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvQXZlbmlyTFRTdGQtSGVhdnkuc3ZnI2ExZWI1YTVjZmNlYzJmZjdjMzBmZTczMmRhZjNiMmU4XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqL1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWJvb2snO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0F2ZW5pckxUU3RkLUJvb2tPYmxpcXVlLmVvdFwiKTtcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0F2ZW5pckxUU3RkLUJvb2tPYmxpcXVlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL0F2ZW5pckxUU3RkLUJvb2tPYmxpcXVlLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvQXZlbmlyTFRTdGQtQm9va09ibGlxdWUudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9BdmVuaXJMVFN0ZC1Cb29rT2JsaXF1ZS5zdmcjMmQ5MmM3MDg5OTc3MzgxZTcxNDY0MjJlMDVmYmJmNTZcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovXG4gIGZvbnQtc3R5bGU6IG9ibGlxdWU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWcge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWhlYXZ5Jywgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6ICdhdmVuaXItaGVhdnknLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDQycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gIGxldHRlci1zcGFjaW5nOiAtLjAwMDVlbTsgfVxuXG4udGFnICsgaDEsIC50YWcgKyBoMiB7XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuXG4udGFnICsgaDIuaDMge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6ICdhdmVuaXItaGVhdnknLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gIGxldHRlci1zcGFjaW5nOiAtLjAwMDVlbTsgfVxuXG5oMi5oMSB7XG4gIGZvbnQtc2l6ZTogNDJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTVlbTsgfVxuXG4uaDMsIGgzIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4xNWVtO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMDA1ZW07IH1cblxuLmxhYmVsIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLmxhYmVsLndpZGUge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmxhYmVsLnB1bGwtbGVmdCArIC52YWx1ZS5wdWxsLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4udmFsdWUgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAzMnB4OyB9XG5cbi5zaWRlbm90ZSB7XG4gIGNvbG9yOiAjNjY2O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBmb250LXNpemU6IDEycHg7IH1cblxuaDIgKyBoMywgaDIgKyBwLCBwICsgaDMsIGgzICsgcCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxucCArIHAsIHAgKyB1bCwgcCArIHVsLm5vLXN0eWxpbmcsIHVsICsgcCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bmNobGluZUNhcHRpb24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bmNobGluZUNhcHRpb24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVUb3Age1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDBweDsgfVxuICB0byB7XG4gICAgdG9wOiAwOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZVRvcCB7XG4gIGZyb20ge1xuICAgIHRvcDogLTEwMHB4OyB9XG4gIHRvIHtcbiAgICB0b3A6IDA7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi50by1hbmltYXRlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uYW5pbWF0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlSW4gMXMgMHMgY3ViaWMtYmV6aWVyKDAuMTgsIDAuOTgsIDAuNDUsIDEpIGZvcndhcmRzO1xuICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDFzIDBzIGN1YmljLWJlemllcigwLjE4LCAwLjk4LCAwLjQ1LCAxKSBmb3J3YXJkczsgfVxuXG4ucHVuY2hsaW5lQ2FwdGlvbi5hbmltYXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVuY2hsaW5lQ2FwdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHVuY2hsaW5lQ2FwdGlvbjsgfVxuXG4uc2xpZGVUb3AuYW5pbWF0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcDtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjRzOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJhc2Ugc3R5bGVzOiBvcGluaW9uYXRlZCBkZWZhdWx0c1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBsaW5lLWhlaWdodDogMS44ZW07IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogJ2F2ZW5pci1ib29rJywgc2Fucy1zZXJpZjsgfVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDsgfVxuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5idXR0b24sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMCBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogJ2F2ZW5pci1oZWF2eScsIHNhbnMtc2VyaWY7IH1cblxuaW1nIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEhlbHBlciBjbGFzc2VzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi52aXN1YWxseWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uY2xlYXJmaXg6YmVmb3JlLFxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDIgKi8gfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4qIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAqYmVoYXZpb3I6IHVybCguLi8uLi9qcy9ib3hzaXppbmcuaHRjKTsgfVxuXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNvbnRhaW5lcjphZnRlcixcbi5yb3c6YWZ0ZXIsXG4uY29sOmFmdGVyLFxuLmNscjphZnRlcixcbi5ncm91cDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uY29sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBVdGlsaXRpZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi53aWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zdHJldGNoIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zdHJldGNoLXZoIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1pZCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDBweCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5taWQucyB7XG4gIG1heC13aWR0aDogOTIwcHg7IH1cblxuLm1pZC54cyB7XG4gIG1heC13aWR0aDogNjQwcHg7IH1cblxuLm1pZC5zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5mdWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhhbGYge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uaGFsZiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmVxdWFsLWZsZXgge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtc3RyZXRjaCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbGV4LXdyYXAge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYWxpZ24tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5tYXJnaW4ge1xuICBtYXJnaW46IDYwcHggMDsgfVxuXG4ubWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luOiAzMHB4IDA7IH1cblxuLm1hcmdpbi1zbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5tYXJnaW4tc21hbGwtdG9wIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4ubWFyZ2luLXhzbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5tYXJnaW4teHNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLm1hcmdpbi10b3Age1xuICBtYXJnaW4tdG9wOiA2MHB4OyB9XG5cbi5tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuXG4ubWFyZ2luLXNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLm1hcmdpbi1zbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5uZWdhdGl2ZS1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogLTMwcHg7IH1cblxuLm1hcmdpbi14c21hbGwtdG9wIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4ubWFyZ2luLXhzbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5wYWRkaW5nIHtcbiAgcGFkZGluZzogNjBweCAwOyB9XG5cbi5wYWRkaW5nLXNtYWxsIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG5cbi5wYWRkaW5nLXhzbWFsbCB7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuXG4ucGFkZGluZy1sYXJnZS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cblxuLnBhZGRpbmctbGFyZ2UtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxuXG4ucGFkZGluZy10b3Age1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4ucGFkZGluZy1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuXG4ucGFkZGluZy1zbWFsbC10b3Age1xuICBwYWRkaW5nLXRvcDogMzBweDsgfVxuXG4ucGFkZGluZy1zbWFsbC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuXG4ucGFkZGluZy14c21hbGwtdG9wIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cblxuLnBhZGRpbmcteHNtYWxsLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG5cbi54bC1wYWRkaW5nIHtcbiAgcGFkZGluZzogMTIwcHggMDsgfVxuXG4uZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5ibHVlIHtcbiAgYmFja2dyb3VuZDogIzA4MjhjYztcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJsYWNrIHtcbiAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgY29sb3I6ICNmZmY7IH1cblxuLndoaXRlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMwMDA7IH1cblxuLnhzbWFsbC13aGl0ZXNwYWNlIHtcbiAgcGFkZGluZzogMTVweDsgfVxuXG4uc21hbGwtd2hpdGVzcGFjZSB7XG4gIHBhZGRpbmc6IDMwcHg7IH1cblxuLndoaXRlc3BhY2Uge1xuICBwYWRkaW5nOiA2MHB4OyB9XG5cbi5sYXJnZS13aGl0ZXNwYWNlIHtcbiAgcGFkZGluZzogOTBweCAxMjBweDsgfVxuXG4ueGwtd2hpdGVzcGFjZSB7XG4gIHBhZGRpbmc6IDEyMHB4OyB9XG5cbi54bC13aGl0ZXNwYWNlLWhvcml6b250YWwge1xuICBwYWRkaW5nOiAwIDEyMHB4OyB9XG5cbi5vdmVyZmxvdyB7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpOyB9XG5cbi5zaG93X3MsIC5tb2JpbGUtb25seSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxudWwubm8tc3R5bGluZyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG51bC5jb2xzLTIsIHVsLmNvbHMtMyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuXG51bC5jb2xzLTIgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuXG51bC5jb2xzLTMge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7IH1cblxudWwuaG9yaXpvbnRhbCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG51bC5uby1zdHlsaW5nIGEge1xuICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbnVsLm5vLXN0eWxpbmcgaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxudWwubm8tc3R5bGluZyAucHVsbC1sZWZ0IHtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMzBweCAwO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5ibG9ja3F1b3RlOjpiZWZvcmUge1xuICB3aWR0aDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjYTcxNDZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGxlZnQ6IC02MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuYmxvY2txdW90ZS5uby1zdHJpcGU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnZlcnRpY2FsLWFsaWduLWhvbGRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi52ZXJ0aWNhbC1hbGlnbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmhhbGYtY29udGVudCB7XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS42ZW07IH1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4uYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1OyB9XG5cbi5ib3JkZXItbGVmdCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4uYm9yZGVyLXJpZ2h0IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG5odG1sLCBib2R5LCAuY29udGFpbmVyLCAucHVzaGVyIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLmJ0biB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICMwMDA7XG4gIGNvbG9yOiAjMDAwO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogJ2F2ZW5pci1oZWF2eScsIHNhbnMtc2VyaWY7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIgMHM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmJsYWNrIC5idG4ge1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICNmZmY7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5saW5rIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogJ2F2ZW5pci1oZWF2eScsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5ibGFjayAubGluayB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5kZWNvcmF0ZWQtbGluaywgYVtocmVmXj1cInRlbDpcIl0sIGFbaHJlZl49XCJtYWlsdG86XCJdLCB1bC5uby1zdHlsaW5nIGFbaHJlZl49XCJ0ZWw6XCJdLCB1bC5uby1zdHlsaW5nIGFbaHJlZl49XCJtYWlsdG86XCJdLCB1bC5uby1zdHlsaW5nIGEuZGVjb3JhdGVkLWxpbmssIC5jb250YWN0LXBhZ2UgcCBhIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wOGVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcGFkZGluZy1ib3R0b206IDAuMDhlbTsgfVxuXG4uYmxhY2sgLmRlY29yYXRlZC1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wOGVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuXG4uZGVjb3JhdGVkLWxpbmsgc3BhbiB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi5uby1qcyAjcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJlbG9hZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vLi4vaW1hZ2VzL3ByZWxvYWRlci5naWZcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cblxuI3dyYXBwZXIueHNtYWxsLXdoaXRlc3BhY2Uge1xuICBwYWRkaW5nOiAxNXB4IDE1cHggMDtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4jd3JhcHBlci54c21hbGwtd2hpdGVzcGFjZSA+IC53aWRlLndoaXRlIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4jd3JhcHBlcjo6YmVmb3JlLCAjd3JhcHBlcjo6YWZ0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNXB4O1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiAjMDgyOGNjO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGZsb2F0OiBsZWZ0O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuI3dyYXBwZXI6OmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7IH1cblxuI2xvZ28gYSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogNTJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA0NXB4O1xuICB0b3A6IDQ1cHg7IH1cblxuLmZpeGVkICNsb2dvIGEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTVweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDQycHg7IH1cblxuI2xvZ28gYSBzdmcge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGZpbGw6ICMwMDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIgMHM7IH1cblxuI2xvZ28uaGFzLWRhcmstYmcgYSBzdmcge1xuICBmaWxsOiAjZmZmOyB9XG5cbi5maXhlZCAjbG9nbyBhIHN2ZyB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA0MnB4OyB9XG5cbi5sb2dvLXRhZyBzdmcge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogNTJweDtcbiAgZmlsbDogI2ZmZjsgfVxuXG4jbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMzBweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4uZml4ZWQgI21lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmZmZmY7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmZmZmY7IH1cblxuLm5hdiB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1mYW1pbHk6ICdhdmVuaXItaGVhdnknLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi5uYXYgbGkge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5uYXYgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMCBub25lOyB9XG5cbi5uYXYgbGkgYSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyIDBzOyB9XG5cbi5uYXYgbGkgYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4ubmF2IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzAwMDsgfVxuXG4ubmF2IGxpLmFjdGl2ZSBhIHtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1ib3R0b206IDAuMDhlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnNjcm9sbC1kb3duLXRyaWdnZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogODBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zY3JvbGwtZG93bi10cmlnZ2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtODBweDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbiNoZWFkZXIge1xuICB6LWluZGV4OiA5OTk5OyB9XG5cbiNwdW5jaGxpbmUuc3RyZXRjaCB7XG4gIG1heC1oZWlnaHQ6IDY2MHB4OyB9XG5cbiNwdW5jaGxpbmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3ZvbHZvLWhlcm8uanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLnN0YXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3N0YXIuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBvcGFjaXR5OiAwLjI7XG4gIG1hcmdpbi1yaWdodDogM3B4OyB9XG5cbi5zdGFyX3N0YXRlX2FjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNvbC0yNSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlOyB9XG5cbi5jb2wtMzMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzLjMzMzMlOyB9XG5cbi5jb2wtNjYge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDY2LjY2NjYlOyB9XG5cbi5jb2wtNzUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uY29sLTMzLm5vLWZsb2F0LCAuY29sLTY2Lm5vLWZsb2F0IHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLmNvbG9yLWJhZGdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAxcHg7IH1cblxuLmdvLWJhY2sge1xuICBiYWNrZ3JvdW5kOiAjMWMxYzFjO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMzBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIC8qb3BhY2l0eTogMDsqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMzlweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzOXB4KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhciAwczsgfVxuXG4uZ28tYmFjay5zaG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5nby1iYWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAuVwiO1xuICBmb250LWZhbWlseTogJ2F2ZW5pci1ib29rJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA0MnB4OyB9XG5cbi5uZnMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYmxvZy1jb250ZW50IC5jb2wtMzMgLm5mcy1vdmVybGF5IC50YWcge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjUlO1xuICBsZWZ0OiAwOyB9XG5cbi5jYXItc3BlY3Mge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuXG4uY2FyLXNwZWNzIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG5cbi5mZWF0dXJlZC1pdGVtOmxhc3QtY2hpbGQgLml0ZW0ubWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZlYXR1cmVkLWl0ZW06bnRoLWNoaWxkKGV2ZW4pIC5pdGVtIC5oYWxmOmZpcnN0LWNoaWxkIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xuICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICAgICAgb3JkZXI6IDI7IH1cblxuLnByaWNlLWluY2wge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgbWFyZ2luLXRvcDogNnB4OyB9XG5cbi5wcmljZS1ob2xkZXIucGFkZGluZy1zbWFsbCB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbi5pdGVtIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYmxvZy10b3Age1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cblxuLmJsb2ctY29udGVudCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG5cbi5ibG9nLWNvbnRlbnQgLmNvbC0zMyB7XG4gIHBhZGRpbmc6IDAgMzBweCAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4uYmxvZy1jb250ZW50IC5jb2wtMzMgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG5cbi5ibG9nLWNvbnRlbnQgaDIgKyBwLCAuYmxvZy1mZWF0dXJlZCBoMiArIHAge1xuICBtYXJnaW4tdG9wOiAyNXB4OyB9XG5cbi5ibG9nLWNvbnRlbnQgaDIuaDMgKyBwIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uYmxvZy1jb250ZW50IC5jb2wtMzMgLmlucHV0IHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuXG4uYmxvZy1jb250ZW50IC5jb2wtMzMgLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNHB4O1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4uYmxvZy1jb250ZW50IC5jb2wtMzMgLmxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICB0b3A6IC0xcHg7IH1cblxuLmJsb2ctY29udGVudCAuY29sLTMzIC50YWcge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtOyB9XG5cbi5pdGVtLXBhZ2UtaGVhZGVyIHtcbiAgbWF4LWhlaWdodDogNzUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLml0ZW0tcGFnZS1oZWFkZXIgaW1nLCAuaXRlbS1wYWdlLWhlYWRlciB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiA3NTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIC1vLW9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG5cbi5pdGVtLXBhZ2UtaGVhZGVyLWNvbnRlbnQtc2hhZG93LCAuaXRlbS1wYWdlLWNvbnRlbnQtaGlzdG9yeS1zaGFkb3cge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA0MCU7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20odHJhbnNwYXJlbnQpLCB0byhyZ2JhKDI4LCAyOCwgMjgsIDAuNSkpKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMjgsIDI4LCAyOCwgMC41KSAxMDAlKTsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlci1jb250ZW50LCAuc3VwZXJzaXplZC1pbWFnZS1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlciAuc2Nyb2xsLWRvd24tdHJpZ2dlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA0NXB4O1xuICByaWdodDogNDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5pdGVtLXBhZ2UtaGVhZGVyIC5zY3JvbGwtZG93bi10cmlnZ2VyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5pdGVtLXBhZ2UtaGVhZGVyLWNvbnRlbnQgaDEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDMwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlci1jb250ZW50IC5wcmljZS1jdGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlci1jb250ZW50IC5wcmljZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIHRleHQtc2hhZG93OiAwIDAgMzBweCByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG5cbi5pdGVtLXBhZ2UtaGVhZGVyLWNvbnRlbnQgLnByaWNlIC5sYWJlbCB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5pdGVtLXBhZ2UtaGVhZGVyLWNvbnRlbnQgLmN0YSB7XG4gIHBhZGRpbmc6IDVweCAzMHB4O1xuICBsZWZ0OiAtMXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLml0ZW0tcGFnZS1oZWFkZXItY29udGVudCAucHJpY2UgLnZhbHVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDdweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlci1jb250ZW50IC5wcmljZSAudmFsdWUgc3Ryb25nIHtcbiAgZm9udC1zaXplOiA0MnB4OyB9XG5cbi5pdGVtLXBhZ2UtaGVhZGVyLWNvbnRlbnQgLmN0YSAuY3RhLWJ0biB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogJ2F2ZW5pci1oZWF2eScsIHNhbnMtc2VyaWY7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50IC5jb2wtNzUgcCwgLml0ZW0tcGFnZS1jb250ZW50IC5jb2wtNjYgcCB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA2MHB4O1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDYwcHg7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cblxuLmZsaXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmZsaXAgc3BhbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gIGZvbnQtc2l6ZTogNDJweDtcbiAgZm9udC1mYW1pbHk6ICdhdmVuaXItaGVhdnknLCBzYW5zLXNlcmlmOyB9XG5cbi5pdGVtLXBhZ2UtY29udGVudCBoMiArIHAsIC5pdGVtLXBhZ2UtY29udGVudCBoMyArIHVsIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4uaW1hZ2Utc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogLTYwcHg7XG4gIGJvdHRvbTogLTYwcHg7IH1cblxuLmltYWdlLXNoYWRvdy5pbWFnZS1zaGFkb3ctcmlnaHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTYwcHg7IH1cblxuLml0ZW0tcGFnZS1zcGVjcyB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uaXRlbS1wYWdlLXNwZWNzIC5mbGV4IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTVlNTtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBmbG9hdDogbGVmdDsgfVxuXG4uaXRlbS1wYWdlLXNwZWNzIC5mbGV4Omxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDAgbm9uZTsgfVxuXG4uaXRlbS1wYWdlLXNwZWNzIGltZy5icmFuZC1sb2dvIHtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cblxuLml0ZW0tcGFnZS1zcGVjcyAubGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDZweDsgfVxuXG4uaXRlbS1wYWdlLXNwZWNzIC5jb2xvci1iYWRnZSB7XG4gIHRvcDogLTJweDtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7IH1cblxuLml0ZW0tcGFnZS1zcGVjcyAudmFsdWUge1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWhlYXZ5Jywgc2Fucy1zZXJpZjsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlci1jb250ZW50LmZpeGVkICNwcmljZS1jdGEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBoZWlnaHQ6IDU0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlci1jb250ZW50LmZpeGVkICNwcmljZS1jdGEgLnByaWNlIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgdG9wOiA5cHg7IH1cblxuLml0ZW0tcGFnZS1oZWFkZXItY29udGVudC5maXhlZCAjcHJpY2UtY3RhIC5wcmljZSAudmFsdWUge1xuICB0b3A6IDJweDsgfVxuXG4uaXRlbS1wYWdlLWhlYWRlci1jb250ZW50LmZpeGVkICNwcmljZS1jdGEgLnByaWNlIC52YWx1ZSBzdHJvbmcge1xuICBmb250LXNpemU6IDI2cHg7IH1cblxuLml0ZW0tcGFnZS1oZWFkZXItY29udGVudC5maXhlZCAjcHJpY2UtY3RhIC5jdGEge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGhlaWdodDogNTJweDtcbiAgbGluZS1oZWlnaHQ6IDQycHg7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50IC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1nYWxsZXJ5IC5pbWFnZS1ob2xkZXIgaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pdGVtLXBhZ2UtY29udGVudCAuaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2UtZ2FsbGVyeSBhLmltYWdlLWhvbGRlciB7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmOyB9XG5cbi5pdGVtLXBhZ2UtY29udGVudCAuaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2UtZ2FsbGVyeSAudGh1bWJzLWhvbGRlciBhLmltYWdlLWhvbGRlciB7XG4gIGhlaWdodDogMTQ1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50LWltYWdlLWdhbGxlcnktaG9sZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7IH1cblxuLnBob3Rvdmlldy1pY29uIHtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBob3Rvdmlldy1pY29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3Bob3Rvdmlldy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgY29udGVudDogJyc7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogM3B4OyB9XG5cbi5pbmNsdXNpdmUtbGlzdCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmZhY3RzLWxpc3QgbGkge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFjdHMtbGlzdCBsaSBzcGFuIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmZhY3RzLWxpc3QgbGkgc3BhbjpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pbmNsdXNpdmUtbGlzdCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA4cHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvY2hlY2ttYXJrLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMnB4OyB9XG5cbi5oYWxmLWNvbnRlbnQgLnRhZyArIHAsIC5oYWxmLWNvbnRlbnQgLnRhZyArIHVsIHtcbiAgbWFyZ2luLXRvcDogN3B4OyB9XG5cbi5zdXBlcnNpemVkLWltYWdlLWNvbnRlbnQgaDIge1xuICBmb250LXNpemU6IDQycHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDUwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4uaXRlbS1wYWdlLWNvbnRlbnQtaGlzdG9yeSAub3ZlcmZsb3ctcmlnaHQsIC5pdGVtLXBhZ2UtY29udGVudC1oaXN0b3J5IC5vdmVyZmxvdy1sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXgtd2lkdGg6IDk2MHB4OyB9XG5cbi5pdGVtLXBhZ2UtY29udGVudC1oaXN0b3J5IC5vdmVyZmxvdy1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLml0ZW0tcGFnZS1jb250ZW50LWhpc3RvcnkgLmNvbHMtMiB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA2MHB4O1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDYwcHg7IH1cblxuLnJlc3VtZS1saXN0IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucmVzdW1lLWxpc3QgbGkuY29sLTMzIHtcbiAgd2lkdGg6IDMzLjMzMzMlOyB9XG5cbi5yZXN1bWUtbGlzdCBsaSAucHVsbC1sZWZ0IHtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG5cbi5yZXN1bWUtbGlzdCBsaSAuYmFkZ2Uge1xuICB0b3A6IDhweDsgfVxuXG4uaXRlbS1wYWdlLXJlc3VtZSAuaGFsZi1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5yZXN1bWUtbGlzdCBsaSAubGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA0cHg7IH1cblxuLnJlbGF0aXZlIC5wbGF5LWJ0biB7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGxheS1idG4ucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogNjRweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICBtYXJnaW4tdG9wOiAtMzJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnBsYXlpbmctZnVsbC12aWRlbyAucGxheS1idG4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNib29tZXJhbmctdmlkZW8ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMzYwcHg7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50LWltYWdlLWdhbGxlcnktcG9wdXAsIC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1vdmVydmlldy1wb3B1cCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogIzE5MTkxOTtcbiAgei1pbmRleDogMTAwMDA7XG4gIHBhZGRpbmc6IDEyMHB4IDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50LWltYWdlLWdhbGxlcnktcG9wdXAuYWN0aXZlLCAuaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2Utb3ZlcnZpZXctcG9wdXAuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50LWltYWdlLW92ZXJ2aWV3LXBvcHVwIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2xpZGVyLWhlcm8gLnNsaWNrLXRyYWNrIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjQwcHgpOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc2xpY2stc2xpZGUgLmltYWdlLWhvbGRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNDBweCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2xpY2stc2xpZGUgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjQwcHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyNDBweCk7IH1cblxuLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHtcbiAgZm9udC1zaXplOiAwO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgei1pbmRleDogMTAwMDE7IH1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiA0NXB4OyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDQ1cHg7IH1cblxuLnNsaWNrLXByZXY6OmJlZm9yZSwgLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWJvb2snLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAuNzU7XG4gIGNvbG9yOiAjZmZmO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IC0xMXB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXIgMHM7IH1cblxuLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICfigLknOyB9XG5cbi5zbGljay1uZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiAn4oC6JzsgfVxuXG4uaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2UtZ2FsbGVyeS1wb3B1cCAucGhvdG92aWV3LWljb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNDVweDtcbiAgcmlnaHQ6IDQ1cHg7IH1cblxuLnRvcC1pY29ucyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA0NXB4O1xuICByaWdodDogNDVweDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNsb3NlLWljb24ge1xuICBtYXJnaW4tbGVmdDogMzBweDsgfVxuXG4uY2xvc2UtaWNvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2Nsb3NlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCAxMnB4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA5cHg7IH1cblxuLmZ1bGxzY3JlZW4taWNvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9mdWxsc2NyZWVuLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDlweDsgfVxuXG4uaW1hZ2Utb3ZlcnZpZXctcG9wdXAtY29udGVudCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uaW1hZ2Utb3ZlcnZpZXctcG9wdXAtY29udGVudCAuY29sLTMzIHtcbiAgcGFkZGluZzogMCAzMHB4IDYwcHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5pbWFnZS1vdmVydmlldy1wb3B1cC1jb250ZW50IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTUwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWJvb2snLCBzYW5zLXNlcmlmO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgLnByb2R1Y3QtcXR5IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiAnYXZlbmlyLWJvb2snLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICB3aWR0aDogODBweDsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5zZWxlY3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgZm9udC1mYW1pbHk6ICdhdmVuaXItYm9vaycsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYyspO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMzJweCBhdXRvO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDgwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuc2VsZWN0IG9wdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuXG4uaGFzZXJyb3IgaW5wdXQsIC5oYXNlcnJvciB0ZXh0YXJlYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMTAwMDA7XG4gIGJhY2tncm91bmQ6ICNmZmIxYjE7IH1cblxuLm5vLWdvIHtcbiAgYmFja2dyb3VuZDogI2QxMDAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtYm9sZCcsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMTAwMDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ubm8tZ28uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbmxhYmVsLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmFib3V0LXBhZ2UtaGVhZGVyLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4uYWJvdXQtcGFnZS1oZWFkZXIgLmJnLXNsaWRlciwgLmFib3V0LXBhZ2UtaGVhZGVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYWJvdXQtcGFnZS1oZWFkZXIgLnRhZyB7XG4gIHRleHQtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG5cbi5hYm91dC1wYWdlLWhlYWRlciBzdmcge1xuICAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDUwcHggcmdiYSgwLCAwLCAwLCAwLjc1KSk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDUwcHggcmdiYSgwLCAwLCAwLCAwLjc1KSk7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50LXNlcnZpY2VzLWl0ZW0uZmxleCB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uaXRlbS1wYWdlLWNvbnRlbnQtc2VydmljZXMtaXRlbS5mbGV4Om50aC1jaGlsZChldmVuKSAuaW1hZ2UtaG9sZGVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xuICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICAgICAgb3JkZXI6IDI7IH1cblxuLmltYWdlLXNoYWRvdyB7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLml0ZW0tcGFnZS1jb250ZW50LXNlcnZpY2VzLWl0ZW0uZmxleDpudGgtY2hpbGQoZXZlbikgLmltYWdlLXNoYWRvdyB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtNjBweDsgfVxuXG4uY29udGFjdC1wYWdlLWNvbnRlbnQgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDgwcHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb250YWN0LWRldGFpbHMgbGkge1xuICBsaW5lLWhlaWdodDogMS44ZW07IH1cblxuLmNvbnRhY3QtZGV0YWlscyBpbWcge1xuICB3aWR0aDogMTYwcHg7XG4gIGhlaWdodDogMTYwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG4jdG9nZ2xlLCAudG9nZ2xlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmc6IDdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyIDBzO1xuICB6LWluZGV4OiA5OTk7XG4gIHdpZHRoOiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxubGFiZWwudG9nZ2xlIHNwYW4ge1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDIycHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogYm90aDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhciAwczsgfVxuXG5sYWJlbC50b2dnbGUgc3BhbiArIHNwYW4ge1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSwgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNDgwcHgpLCBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjaGVhZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuICAvKiBtZW51IHN3aXRjaCAqL1xuICAudG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgI21lbnUsIC5maXhlZCAjbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI21lbnUgdWwubmF2IHtcbiAgICB3aWR0aDogY2FsYygxMDAlKTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLm5hdiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgI3RvZ2dsZTpjaGVja2VkIH4gI21lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICN0b2dnbGU6Y2hlY2tlZCB+ICNtZW51IGxpLmRlZXBlci5vcGVuIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjbG9nbyBhLCAuZml4ZWQgI2xvZ28gYSB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMTVweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiA0MnB4OyB9XG4gICNsb2dvIGEgc3ZnLCAuZml4ZWQgI2xvZ28gYSBzdmcge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgZmlsbDogIzAwMCAhaW1wb3J0YW50OyB9XG4gICNsb2dvLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNZWRpYSBRdWVyaWVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gIC8qIFJldGluYSAqLyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICNjb250ZW50d3JhcHBlciAuYmxvZyAubWlkLCAjY29udGVudHdyYXBwZXIgLmJsb2ctZmVhdHVyZWQgLm1pZCwgLml0ZW0tcGFnZS1jb250ZW50LndpZGUgLm1pZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgLmltYWdlLXNoYWRvdyB7XG4gICAgbGVmdDogLTMwcHg7XG4gICAgYm90dG9tOiAtMzBweDsgfVxuICAuaW1hZ2Utc2hhZG93LXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMzBweDsgfVxuICAueGwtd2hpdGVzcGFjZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nOiAwIDkwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSwgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAud2hpdGVzcGFjZSB7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAuYmxvZy1jb250ZW50IGgyICsgcCwgLmJsb2ctZmVhdHVyZWQgaDIgKyBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmVhdHVyZWQtaXRlbSAuaXRlbSAuaGFsZiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZmVhdHVyZWQtaXRlbSBoMiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmVhdHVyZWQtaXRlbSAuaXRlbSAuaGFsZi53aGl0ZXNwYWNlIHtcbiAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgLmZlYXR1cmVkLWl0ZW0gLml0ZW0gLmhhbGY6Zmlyc3QtY2hpbGQgaW1nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICAuZmVhdHVyZWQtaXRlbTpudGgtY2hpbGQoMm4pIC5pdGVtIC5oYWxmOmZpcnN0LWNoaWxkIGltZyB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZlYXR1cmVkLWl0ZW0gLm1hcmdpbi1zbWFsbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLnByaWNlLWluY2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cbiAgLmZlYXR1cmVkLWl0ZW0gLnByaWNlLWhvbGRlci5wYWRkaW5nLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgICBib3JkZXItdG9wOiAwIG5vbmU7XG4gICAgbWFyZ2luLXRvcDogLTVweDsgfVxuICAuY3RhLWJ0bnMucGFkZGluZy1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMCBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5mZWF0dXJlZC1pdGVtIC52YWx1ZSBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAuZmVhdHVyZWQtaXRlbSBhLml0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC50YWcge1xuICAgIGZvbnQtc2l6ZTogMTBweDsgfVxuICAjY29udGVudHdyYXBwZXIgLmJsb2cgLm1pZCB7XG4gICAgbWF4LXdpZHRoOiA2NDBweDsgfVxuICAuYmxvZy1jb250ZW50IC5jb2wtMzMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNjb250ZW50d3JhcHBlciAuYmxvZyAubWlkIC5saW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAjY29udGVudHdyYXBwZXIgLmJsb2cgLm1pZCAucHJpY2UtaG9sZGVyIC52YWx1ZSwgI2NvbnRlbnR3cmFwcGVyIC5ibG9nIC5taWQgLnByaWNlLWhvbGRlciAubGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDlweDsgfVxuICAjY29udGVudHdyYXBwZXIgLml0ZW0tcGFnZSAuaGFsZi1jb250ZW50LCAjY29udGVudHdyYXBwZXIgLml0ZW0tcGFnZSAubWlkLnMsICNjb250ZW50d3JhcHBlciAuaXRlbS1wYWdlIC5taWQueHMsIC5pdGVtLXBhZ2UtcmVzdW1lIC5oYWxmLWNvbnRlbnQsIC5hYm91dC1wYWdlIC5pdGVtLXBhZ2UtY29udGVudCAubWlkLnMsIC5hYm91dC1wYWdlIC5oYWxmLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pdGVtLXBhZ2UtY29udGVudCAuaXRlbS1wYWdlLXJlc3VtZSAuaGFsZi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5oYWxmICsgLmhhbGYueGwtd2hpdGVzcGFjZS1ob3Jpem9udGFsLCAuaGFsZi54bC13aGl0ZXNwYWNlLWhvcml6b250YWwgKyAuaGFsZiwgLml0ZW0tcGFnZS1yZXN1bWUgLmhhbGYgKyAuaGFsZiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuYWJvdXQtcGFnZSAuaXRlbS1wYWdlLWNvbnRlbnQgLndpZGUuYm9yZGVyLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMCBub25lOyB9XG4gIC5pdGVtLXBhZ2UtY29udGVudC1zZXJ2aWNlcy5wYWRkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5hYm91dC1wYWdlIC5pdGVtLXBhZ2UtY29udGVudC1zZXJ2aWNlcy1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5hYm91dC1wYWdlIC5pdGVtLXBhZ2UtY29udGVudC1zZXJ2aWNlcy1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMCBub25lOyB9XG4gICNpbWFnZS1nYWxsZXJ5IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDY3MHB4O1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1nYWxsZXJ5LWZvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuYWJvdXQtcGFnZS1oZWFkZXIgc3ZnIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuY29udGFjdC1wYWdlLWNvbnRlbnQgLmhhbGYueGwtd2hpdGVzcGFjZSB7XG4gICAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5jb250YWN0LXBhZ2UtY29udGVudCAuaGFsZi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29udGFjdC1kZXRhaWxzLmZsZXgge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNvbnRhY3QtcGFnZSAuY29udGFjdC1wYWdlLWNvbnRlbnQgLmpwZm9ybXMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC50aGFua3MtcGFnZS1jb250ZW50LndpZGUgLmltYWdlLWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGhhbmtzLXBhZ2UtY29udGVudC53aWRlIC5oYWxmLnhsLXdoaXRlc3BhY2UuYWxpZ24tY2VudGVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA3M3B4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDYwcHg7IH1cbiAgLnN0cmV0Y2gtdmgge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDczcHgpOyB9XG4gIC50aGFua3MtcGFnZS1jb250ZW50LndpZGUgLmhhbGYueGwtd2hpdGVzcGFjZS5hbGlnbi1jZW50ZXIgLmhhbGYtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSwgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogNDgwcHgpIHtcbiAgLmxvZ28tdGFnLCAuaXRlbS1wYWdlLWhlYWRlci1jb250ZW50LXNoYWRvdywgLml0ZW0tcGFnZS1jb250ZW50LWhpc3Rvcnktc2hhZG93LCAuaXRlbS1wYWdlLWNvbnRlbnQgLmVxdWFsLWZsZXggLmNvbC0zMywgLml0ZW0tcGFnZS1jb250ZW50IC5lcXVhbC1mbGV4IC5jb2wtMjUsIC5pdGVtLXBhZ2Utc3BlY3MgaW1nLmJyYW5kLWxvZ28sIC5zdXBlcnNpemVkLWltYWdlLCAudGhhbmtzLXBhZ2UtY29udGVudC53aWRlIC5pbWFnZS1ob2xkZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGFsZiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhhbGYtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBhZGRpbmcsIC54bC1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgLm1hcmdpbiB7XG4gICAgbWFyZ2luOiAzMHB4IDA7IH1cbiAgLnBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuc3RyZXRjaCB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICNwdW5jaGxpbmUge1xuICAgIHBhZGRpbmc6IDMwcHggMTVweDsgfVxuICAud2hpdGVzcGFjZSwgLnhsLXdoaXRlc3BhY2UsIC5sYXJnZS13aGl0ZXNwYWNlLCAueGwtd2hpdGVzcGFjZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG4gIGgxLCBoMiwgaDIuaDEge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07IH1cbiAgaDIgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAjcHVuY2hsaW5lLnN0cmV0Y2gge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWluLWhlaWdodDogNDB2aDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmZlYXR1cmVkLWl0ZW0gYS5pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5mZWF0dXJlZC1pdGVtIGEuaXRlbSAuaGFsZi53aGl0ZXNwYWNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQgLmVxdWFsLWZsZXggLmNvbC02NiwgLml0ZW0tcGFnZS1jb250ZW50IC5lcXVhbC1mbGV4IC5jb2wtNzUsIC5ibG9nLWNvbnRlbnQgLmNvbC0zMyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJsb2ctY29udGVudC5wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmJsb2ctY29udGVudCAuY29sLTMzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5ibG9nLWNvbnRlbnQgLmNvbC0zMyBhLml0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnByaWNlLWhvbGRlci5wYWRkaW5nLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAuYmxvZy1jb250ZW50IC5jb2wtMzMgLmxpbmsge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAuYmxvZy1jb250ZW50IC5pdGVtIC53aWRlLnBhZGRpbmcteHNtYWxsLXRvcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgLmFib3V0LXBhZ2UtaGVhZGVyIHN2ZyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmJsb2ctdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC5hYm91dC1wYWdlLWhlYWRlci1jb250ZW50LmZsZXgge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLml0ZW0tcGFnZS1jb250ZW50IC5jb2wtNzUgcCwgLml0ZW0tcGFnZS1jb250ZW50IC5jb2wtNjYgcCB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDE7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogMDtcbiAgICBjb2x1bW4tZ2FwOiAwO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgI2l0ZW0tcGFnZS1oZWFkZXItY29udGVudCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pdGVtLXBhZ2UtaGVhZGVyLWNvbnRlbnQgLnByaWNlLCAuaXRlbS1wYWdlLWhlYWRlci1jb250ZW50IGgxIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsgfVxuICAuaXRlbS1wYWdlLWhlYWRlci1jb250ZW50IC5wcmljZSB7XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLml0ZW0tcGFnZS1oZWFkZXItY29udGVudCAucHJpY2UgLnZhbHVlLCAuaXRlbS1wYWdlLWhlYWRlci1jb250ZW50IC5wcmljZS1jdGEge1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLml0ZW0tcGFnZS1oZWFkZXItY29udGVudCAucHJpY2UgLnZhbHVlIHN0cm9uZywgLml0ZW0tcGFnZS1oZWFkZXItY29udGVudCAucHJpY2UgLmxhYmVsIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG4gIC5pdGVtLXBhZ2UtaGVhZGVyLWNvbnRlbnQgLmN0YSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuaXRlbS1wYWdlLXNwZWNzLmVxdWFsLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7IH1cbiAgLml0ZW0tcGFnZS1zcGVjcyAuY29sb3ItYmFkZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLml0ZW0tcGFnZS1zcGVjcyAuZmxleCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjaW1hZ2UtZ2FsbGVyeSAuY29sLTY2LCAjaW1hZ2UtZ2FsbGVyeSAuY29sLTMzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjaW1hZ2UtZ2FsbGVyeSAuY29sLTY2LCAjaW1hZ2UtZ2FsbGVyeSAuY29sLTMzIC5pbWFnZS1ob2xkZXIud2lkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAjaW1hZ2UtZ2FsbGVyeSAuY29sLTMzIC5pbWFnZS1ob2xkZXIuaGFsZiB7XG4gICAgcGFkZGluZzogN3B4OyB9XG4gICNpbWFnZS1nYWxsZXJ5IC5jb2wtMzMgLnRodW1icy1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgIG1hcmdpbi10b3A6IC03cHg7IH1cbiAgLml0ZW0tcGFnZS1jb250ZW50IC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1nYWxsZXJ5IC50aHVtYnMtaG9sZGVyIGEuaW1hZ2UtaG9sZGVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pdGVtLXBhZ2UtY29udGVudC1oaXN0b3J5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTsgfVxuICAuaXRlbS1wYWdlLXJlc3VtZSAuaGFsZi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjsgfVxuICAuaXRlbS1wYWdlLWZvcm0sIC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1nYWxsZXJ5LWZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgLml0ZW0tcGFnZS1yZXN1bWUgLmhhbGYtY29udGVudCAuYnRuLCAuaXRlbS1wYWdlLXJlc3VtZSAuaGFsZi1jb250ZW50IC5jdGEsIC5qcGZvcm1zIC5maWVsZC5zdWJtaXQsIC5qcGZvcm1zIC5maWVsZC5zdWJtaXQgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5nby1iYWNrIHtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogNDVweDtcbiAgICB3aWR0aDogNDVweDtcbiAgICBsaW5lLWhlaWdodDogNDVweDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAjaW1hZ2UtZ2FsbGVyeSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLml0ZW0tcGFnZS1jb250ZW50IC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1nYWxsZXJ5IGEuaW1hZ2UtaG9sZGVyIHtcbiAgICBib3JkZXI6IDAgbm9uZTsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2UtZ2FsbGVyeS1ob2xkZXIsIC5pbWFnZS1vdmVydmlldy1wb3B1cC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2UtZ2FsbGVyeS1ob2xkZXIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5pbWFnZS1vdmVydmlldy1wb3B1cC1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7IH1cbiAgLmltYWdlLW92ZXJ2aWV3LXBvcHVwLWNvbnRlbnQgLmNvbC0zMyB7XG4gICAgcGFkZGluZzogMCA3cHggMTRweDtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5taWQgPiBoMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgLmZsZXggLnhsLXdoaXRlc3BhY2U6Zmlyc3QtY2hpbGQgLnRhZzpmaXJzdC1jaGlsZCwgLmZsZXggLmxhcmdlLXdoaXRlc3BhY2U6Zmlyc3QtY2hpbGQgLnRhZzpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBhZGRpbmcgLmhhbGYgKyAuaGFsZi54bC13aGl0ZXNwYWNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQgLnJlc3VtZS1saXN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mdWxsc2NyZWVuLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLml0ZW0tcGFnZS1jb250ZW50LWltYWdlLWdhbGxlcnktcG9wdXAsIC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1vdmVydmlldy1wb3B1cCB7XG4gICAgcGFkZGluZzogNjBweCAwOyB9XG4gIC5pdGVtLXBhZ2UtY29udGVudC1pbWFnZS1nYWxsZXJ5LXBvcHVwLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2UtZ2FsbGVyeS1wb3B1cC5hY3RpdmUgLnNsaWRlci1oZXJvIHtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDE1cHg7IH1cbiAgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAxNXB4OyB9XG4gIC50b3AtaWNvbnMge1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogMTVweDsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQtaW1hZ2UtZ2FsbGVyeS1wb3B1cCAucGhvdG92aWV3LWljb24ge1xuICAgIGJvdHRvbTogMTVweDtcbiAgICByaWdodDogMTVweDsgfVxuICAuYWJvdXQtcGFnZS1oZWFkZXIgLnRhZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWJvdXQtcGFnZS1oZWFkZXIgc3ZnIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQtc2VydmljZXMtaXRlbSAuaGFsZi54bC13aGl0ZXNwYWNlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5jb250YWN0LXBhZ2UtY29udGVudCAuaGFsZi5pbWFnZS1ob2xkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRhY3QtcGFnZSAuanBmb3JtcyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgLmltYWdlLXNoYWRvdyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGhhbmtzLXBhZ2UtY29udGVudC53aWRlIC5oYWxmLnhsLXdoaXRlc3BhY2UuYWxpZ24tY2VudGVyIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzNweCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnN0cmV0Y2gtdmgge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA3M3B4KTtcbiAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5mdWxsc2NyZWVuLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuZnVsbHNjcmVlbi1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hYm91dC1wYWdlIC5jb2wtMzMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFib3V0LXBhZ2UgLmNvbC02NiB7XG4gICAgcGFkZGluZzogNjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaW1hZ2Utc2hhZG93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNjb250ZW50d3JhcHBlciAuaXRlbS1wYWdlIC5oYWxmLWNvbnRlbnQsICNjb250ZW50d3JhcHBlciAuaXRlbS1wYWdlIC5taWQucywgI2NvbnRlbnR3cmFwcGVyIC5pdGVtLXBhZ2UgLm1pZC54cywgLml0ZW0tcGFnZS1yZXN1bWUgLmhhbGYtY29udGVudCwgLmFib3V0LXBhZ2UgLml0ZW0tcGFnZS1jb250ZW50IC5taWQucywgLmFib3V0LXBhZ2UgLmhhbGYtY29udGVudCwgI2NvbnRlbnR3cmFwcGVyIC5ibG9nIC5taWQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5ibG9nLWNvbnRlbnQgLmNvbC0zMyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMzBweDsgfVxuICAuYmxvZy1jb250ZW50IC5jb2wtMzMgLml0ZW0ubWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYmxvZy1jb250ZW50IC5wcmljZS1ob2xkZXIucGFkZGluZy1zbWFsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgI2NvbnRlbnR3cmFwcGVyIC5ibG9nIC5taWQgLmxpbmsge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIC5ibG9nLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDMwcHggMTVweDsgfVxuICAjaW1hZ2UtZ2FsbGVyeSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQgLml0ZW0tcGFnZS1jb250ZW50LWltYWdlLWdhbGxlcnkgLnRodW1icy1ob2xkZXIgYS5pbWFnZS1ob2xkZXIge1xuICAgIGhlaWdodDogMTEwcHg7IH1cbiAgLnhsLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDYwcHggMDsgfVxuICAueGwtd2hpdGVzcGFjZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nOiAwIDYwcHg7IH1cbiAgLmhhbGYgKyAuaGFsZi54bC13aGl0ZXNwYWNlLWhvcml6b250YWwsIC5oYWxmLnhsLXdoaXRlc3BhY2UtaG9yaXpvbnRhbCArIC5oYWxmLCAuaXRlbS1wYWdlLXJlc3VtZSAuaGFsZiArIC5oYWxmIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5pdGVtLXBhZ2UtY29udGVudCAuaW1hZ2Utc2hhZG93LWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG4gIC5pdGVtLXBhZ2UtY29udGVudCAuaGFsZiArIC5pbWFnZS1zaGFkb3ctaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDsgfVxuICAubGFyZ2Utd2hpdGVzcGFjZSwgLml0ZW0tcGFnZS1yZXN1bWUgLmhhbGYucmVsYXRpdmUsIC54bC13aGl0ZXNwYWNlIHtcbiAgICBwYWRkaW5nOiA2MHB4OyB9XG4gIGgyLmgxIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVweDsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQgLml0ZW0tcGFnZS1yZXN1bWUgaDMgKyB1bCwgLml0ZW0tcGFnZS1jb250ZW50IC5pdGVtLXBhZ2UtcmVzdW1lIC5jdGEubWFyZ2luLXNtYWxsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuaXRlbS1wYWdlLWNvbnRlbnQgLml0ZW0tcGFnZS1yZXN1bWUgLndpZGUubWFyZ2luLXhzbWFsbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDNweDsgfVxuICAuaXRlbS1wYWdlLWZvcm0taG9sZGVyIC5qcGZvcm1zIHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAjbG9nbyBhIHtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIHRvcDogMzBweDsgfVxuICAuYWJvdXQtcGFnZS1oZWFkZXIgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLml0ZW0tcGFnZS1jb250ZW50LXNlcnZpY2VzLnBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmFib3V0LXBhZ2UgLml0ZW0tcGFnZS1jb250ZW50LXNlcnZpY2VzLWl0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFib3V0LXBhZ2UgaDEudGFnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5jb250YWN0LXBhZ2UtY29udGVudCAuaGFsZi54bC13aGl0ZXNwYWNlIHtcbiAgICBwYWRkaW5nOiA2MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUHJpbnQgc3R5bGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOmJlZm9yZSxcbiAgKjphZnRlcixcbiAgKjpmaXJzdC1sZXR0ZXIsXG4gICo6Zmlyc3QtbGluZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5zYW5iZWlqaS5jb20vYXJjaGl2ZXMvOTUzICovXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgLypcclxuICAgKiBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxyXG4gICAqIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcclxuICAgKi9cbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC8qXHJcbiAgICogUHJpbnRpbmcgVGFibGVzOlxyXG4gICAqIGh0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xyXG4gICAqL1xuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG4iXSwiZmlsZSI6Im1haW4uY3NzIn0= */