@charset "UTF-8";
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-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);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-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;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("/node_modules/slick-carusel/slick/ajax-loader.gif")
    center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("/node_modules/slick-carusel/slick/fontsslick.eot");
  src: url("/node_modules/slick-carusel/slick/fontsslick.eot?#iefix")
      format("embedded-opentype"),
    url("/node_modules/slick-carusel/slick/fontsslick.woff") format("woff"),
    url("/node_modules/slick-carusel/slick/fontsslick.ttf") format("truetype"),
    url("/node_modules/slick-carusel/slick/fontsslick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: black;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/* ========================================================================
   Component: Base
 ========================================================================== */
/*
 * 1. Set `font-size` to support `rem` units
 *    Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Style
 */
html {
  /* 1 */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666;
}

/*
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/* Links
 ========================================================================== */
/*
 * Style
 */
a,
.uk-link {
  color: #1e87f0;
  text-decoration: none;
  cursor: pointer;
}

a:hover,
.uk-link:hover,
.uk-link-toggle:hover .uk-link {
  color: #0f6ecd;
  text-decoration: underline;
}

/* Text-level semantics
 ========================================================================== */
/*
 * 1. Add the correct text decoration in Edge.
 * 2. The shorthand declaration `underline dotted` is not supported in Safari.
 */
abbr[title] {
  /* 1 */
  text-decoration: underline dotted;
  /* 2 */
  -webkit-text-decoration-style: dotted;
}

/*
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/*
 * 1. Consolas has a better baseline in running text compared to `Courier`
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Style
 */
:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-family: Consolas, monaco, monospace;
  /* 2 */
  font-size: 0.875rem;
  /* 3 */
  color: #f0506e;
  white-space: nowrap;
  padding: 2px 6px;
  background: #f8f8f8;
}

/*
 * Emphasize
 */
em {
  color: #f0506e;
}

/*
 * Insert
 */
ins {
  background: #ffd;
  color: #666;
  text-decoration: none;
}

/*
 * Mark
 */
mark {
  background: #ffd;
  color: #666;
}

/*
 * Quote
 */
q {
  font-style: italic;
}

/*
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/*
 * Prevents `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 the gap between embedded content and the bottom of their containers.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * 1. Add responsiveness.
 * 2. Auto-scale the height. Only needed if `height` attribute is present.
 * 3. Corrects responsive `max-width` behavior if padding and border are used.
 * 4. Exclude SVGs for IE11 because they don't preserve their aspect ratio.
 */
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  box-sizing: border-box;
}

/* 4 */
@supports (display: block) {
  svg {
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
  }
}

/*
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/*
 * 1. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
 * 2. Hide `alt` text for lazy loading images.
 * Note: Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
 */
img:not([src]) {
  /* 1 */
  min-width: 1px;
  /* 2 */
  visibility: hidden;
}

/*
 * Iframe
 * Remove border in all browsers
 */
iframe {
  border: 0;
}

/* Block elements
 ========================================================================== */
/*
 * Margins
 */
p,
ul,
ol,
dl,
pre,
address,
fieldset,
figure {
  margin: 0 0 20px 0;
}

/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
  margin-top: 20px;
}

/* Headings
 ========================================================================== */
h1,
.uk-h1,
h2,
.uk-h2,
h3,
.uk-h3,
h4,
.uk-h4,
h5,
.uk-h5,
h6,
.uk-h6,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge {
  margin: 0 0 20px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: normal;
  color: #333;
  text-transform: none;
}

/* Add margin if adjacent element */
* + h1,
* + .uk-h1,
* + h2,
* + .uk-h2,
* + h3,
* + .uk-h3,
* + h4,
* + .uk-h4,
* + h5,
* + .uk-h5,
* + h6,
* + .uk-h6,
* + .uk-heading-small,
* + .uk-heading-medium,
* + .uk-heading-large,
* + .uk-heading-xlarge,
* + .uk-heading-2xlarge {
  margin-top: 40px;
}

/*
 * Sizes
 */
h1,
.uk-h1 {
  font-size: 2.23125rem;
  line-height: 1.2;
}

h2,
.uk-h2 {
  font-size: 1.7rem;
  line-height: 1.3;
}

h3,
.uk-h3 {
  font-size: 1.5rem;
  line-height: 1.4;
}

h4,
.uk-h4 {
  font-size: 1.25rem;
  line-height: 1.4;
}

h5,
.uk-h5 {
  font-size: 16px;
  line-height: 1.4;
}

h6,
.uk-h6 {
  font-size: 0.875rem;
  line-height: 1.4;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  h1,
  .uk-h1 {
    font-size: 2.625rem;
  }
  h2,
  .uk-h2 {
    font-size: 2rem;
  }
}

/* Lists
 ========================================================================== */
ul,
ol {
  padding-left: 30px;
}

/*
 * Reset margin for nested lists
 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0;
}

/* Description lists
 ========================================================================== */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Horizontal rules
 ========================================================================== */
/*
 * 1. Show the overflow in Chrome, Edge and IE.
 * 2. Add the correct text-align in Edge and IE.
 * 3. Style
 */
hr,
.uk-hr {
  /* 1 */
  overflow: visible;
  /* 2 */
  text-align: inherit;
  /* 3 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #e5e5e5;
}

/* Add margin if adjacent element */
* + hr,
* + .uk-hr {
  margin-top: 20px;
}

/* Address
 ========================================================================== */
address {
  font-style: normal;
}

/* Blockquotes
 ========================================================================== */
blockquote {
  margin: 0 0 20px 0;
  font-size: 1.25rem;
  line-height: 1.5;
  font-style: italic;
  color: #333;
}

/* Add margin if adjacent element */
* + blockquote {
  margin-top: 20px;
}

/*
 * Content
 */
blockquote p:last-of-type {
  margin-bottom: 0;
}

blockquote footer {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #666;
}
blockquote footer::before {
  content: "— ";
}

/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #666;
  -moz-tab-size: 4;
  tab-size: 4;
  /* 1 */
  overflow: auto;
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  background: #fff;
}

pre code {
  font-family: Consolas, monaco, monospace;
}

/* Focus
 ========================================================================== */
/*
 * Safari doesn't support `:focus-visible` yet. It also doesn't set focus if clicking a button or anchor.
 * 1. Fallback: Remove `:focus` for a negative tabindexes.
 * 2. Fallback: Set `:focus` style but not for negative tabindexes.
 * 3. Fallback: Remove `:focus` style for browsers which support `:focus-visible`.
 * 4. Set `:focus-visible` style for browsers which support it.
 */
/* 1 */
:focus {
  outline: none;
}

/* 2 */
:focus:not([tabindex^="-"]) {
  outline: 2px dotted #333;
  outline-offset: 1px;
}

/* 3 */
:focus:not(:focus-visible) {
  outline: none;
}

/* 4 */
:focus-visible {
  outline: 2px dotted #333;
}

/* Selection pseudo-element
 ========================================================================== */
::selection {
  background: #39f;
  color: #fff;
  text-shadow: none;
}

/* HTML5 elements
 ========================================================================== */
/*
 * 1. Add the correct display in Edge, IE 10+, and Firefox.
 * 2. Add the correct display in IE.
 */
details,
main {
  /* 2 */
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Pass media breakpoints to JS
 ========================================================================== */
/*
 * Breakpoints
 */
.uk-breakpoint-s::before {
  content: "640px";
}

.uk-breakpoint-m::before {
  content: "960px";
}

.uk-breakpoint-l::before {
  content: "1200px";
}

.uk-breakpoint-xl::before {
  content: "1600px";
}

:root {
  --uk-breakpoint-s: 640px;
  --uk-breakpoint-m: 960px;
  --uk-breakpoint-l: 1200px;
  --uk-breakpoint-xl: 1600px;
}

/* ========================================================================
   Component: Link
 ========================================================================== */
/* Muted
 ========================================================================== */
a.uk-link-muted,
.uk-link-muted a {
  color: #999;
}

a.uk-link-muted:hover,
.uk-link-muted a:hover,
.uk-link-toggle:hover .uk-link-muted {
  color: #666;
}

/* Text
 ========================================================================== */
a.uk-link-text,
.uk-link-text a {
  color: inherit;
}

a.uk-link-text:hover,
.uk-link-text a:hover,
.uk-link-toggle:hover .uk-link-text {
  color: #999;
}

/* Heading
 ========================================================================== */
a.uk-link-heading,
.uk-link-heading a {
  color: inherit;
}

a.uk-link-heading:hover,
.uk-link-heading a:hover,
.uk-link-toggle:hover .uk-link-heading {
  color: #1e87f0;
  text-decoration: none;
}

/* Reset
 ========================================================================== */
/*
 * `!important` needed to override inverse component
 */
a.uk-link-reset,
.uk-link-reset a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Toggle
 ========================================================================== */
.uk-link-toggle {
  color: inherit !important;
  text-decoration: none !important;
}

/* ========================================================================
   Component: Heading
 ========================================================================== */
.uk-heading-small {
  font-size: 2.6rem;
  line-height: 1.2;
}

.uk-heading-medium {
  font-size: 2.8875rem;
  line-height: 1.1;
}

.uk-heading-large {
  font-size: 3.4rem;
  line-height: 1.1;
}

.uk-heading-xlarge {
  font-size: 4rem;
  line-height: 1;
}

.uk-heading-2xlarge {
  font-size: 6rem;
  line-height: 1;
}

/* Tablet Landscape and bigger */
@media (min-width: 960px) {
  .uk-heading-small {
    font-size: 3.25rem;
  }
  .uk-heading-medium {
    font-size: 3.5rem;
  }
  .uk-heading-large {
    font-size: 4rem;
  }
  .uk-heading-xlarge {
    font-size: 6rem;
  }
  .uk-heading-2xlarge {
    font-size: 8rem;
  }
}

/* Laptop and bigger */
@media (min-width: 1200px) {
  .uk-heading-medium {
    font-size: 4rem;
  }
  .uk-heading-large {
    font-size: 6rem;
  }
  .uk-heading-xlarge {
    font-size: 8rem;
  }
  .uk-heading-2xlarge {
    font-size: 11rem;
  }
}

/* Primary
   Deprecated: Use `uk-heading-medium` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Hero
   Deprecated: Use `uk-heading-xlarge` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Divider
 ========================================================================== */
.uk-heading-divider {
  padding-bottom: calc(5px + 0.1em);
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}

/* Bullet
 ========================================================================== */
.uk-heading-bullet {
  position: relative;
}

/*
 * 1. Using `inline-block` to make it work with text alignment
 * 2. Center vertically
 * 3. Style
 */
.uk-heading-bullet::before {
  content: "";
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  top: calc(-0.1 * 1em);
  vertical-align: middle;
  /* 3 */
  height: calc(4px + 0.7em);
  margin-right: calc(5px + 0.2em);
  border-left: calc(5px + 0.1em) solid #e5e5e5;
}

/* Line
 ========================================================================== */
/*
 * Clip the child element
 */
.uk-heading-line {
  overflow: hidden;
}

/*
 * Extra markup is needed to make it work with text align
 */
.uk-heading-line > * {
  display: inline-block;
  position: relative;
}

/*
 * 1. Center vertically
 * 2. Make the element as large as possible. It's clipped by the container.
 * 3. Style
 */
.uk-heading-line > ::before,
.uk-heading-line > ::after {
  content: "";
  /* 1 */
  position: absolute;
  top: calc(50% - (calc(0.2px + 0.05em) / 2));
  /* 2 */
  width: 2000px;
  /* 3 */
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}

.uk-heading-line > ::before {
  right: 100%;
  margin-right: calc(5px + 0.3em);
}

.uk-heading-line > ::after {
  left: 100%;
  margin-left: calc(5px + 0.3em);
}

/* ========================================================================
   Component: Divider
 ========================================================================== */
/*
 * 1. Reset default `hr`
 * 2. Set margin if a `div` is used for semantical reason
 */
[class*="uk-divider"] {
  /* 1 */
  border: none;
  /* 2 */
  margin-bottom: 20px;
}

/* Add margin if adjacent element */
* + [class*="uk-divider"] {
  margin-top: 20px;
}

/* Icon
 ========================================================================== */
.uk-divider-icon {
  position: relative;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-divider-icon::before,
.uk-divider-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  max-width: calc(50% - (50px / 2));
  border-bottom: 1px solid #e5e5e5;
}

.uk-divider-icon::before {
  right: calc(50% + (50px / 2));
  width: 100%;
}

.uk-divider-icon::after {
  left: calc(50% + (50px / 2));
  width: 100%;
}

/* Small
 ========================================================================== */
/*
 * 1. Fix height because of `inline-block`
 * 2. Using ::after and inline-block to make `text-align` work
 */
/* 1 */
.uk-divider-small {
  line-height: 0;
}

/* 2 */
.uk-divider-small::after {
  content: "";
  display: inline-block;
  width: 100px;
  max-width: 100%;
  border-top: 1px solid #e5e5e5;
  vertical-align: top;
}

/* Vertical
 ========================================================================== */
.uk-divider-vertical {
  width: 1px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  border-left: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: List
 ========================================================================== */
.uk-list {
  padding: 0;
  list-style: none;
}

/*
 * Remove margin from the last-child
 */
.uk-list > * > :last-child {
  margin-bottom: 0;
}

/*
 * Style
 */
.uk-list > :nth-child(n + 2),
.uk-list > * > ul {
  margin-top: 10px;
}

/* Marker modifiers
 * Moving `::marker` inside `::before` to style it differently
 * To style the `::marker` is currently only supported in Firefox and Safari
 ========================================================================== */
.uk-list-disc > *,
.uk-list-circle > *,
.uk-list-square > *,
.uk-list-decimal > *,
.uk-list-hyphen > * {
  padding-left: 30px;
}

/*
 * Type modifiers
 */
.uk-list-decimal {
  counter-reset: decimal;
}

.uk-list-decimal > * {
  counter-increment: decimal;
}

[class*="uk-list"] > ::before {
  content: "";
  position: relative;
  left: -30px;
  width: 30px;
  height: 1.5em;
  margin-bottom: -1.5em;
  display: list-item;
  list-style-position: inside;
  text-align: right;
}

.uk-list-disc > ::before {
  list-style-type: disc;
}

.uk-list-circle > ::before {
  list-style-type: circle;
}

.uk-list-square > ::before {
  list-style-type: square;
}

.uk-list-decimal > ::before {
  content: counter(decimal, decimal) " . ";
}

.uk-list-hyphen > ::before {
  content: "–\00A0\00A0";
}

/*
 * Color modifiers
 */
.uk-list-muted > ::before {
  color: #999 !important;
}

.uk-list-emphasis > ::before {
  color: #333 !important;
}

.uk-list-primary > ::before {
  color: #1e87f0 !important;
}

.uk-list-secondary > ::before {
  color: #222 !important;
}

/* Image bullet modifier
 ========================================================================== */
.uk-list-bullet > * {
  padding-left: 30px;
}

.uk-list-bullet > ::before {
  content: "";
  position: relative;
  left: -30px;
  width: 30px;
  height: 1.5em;
  margin-bottom: -1.5em;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-list-divider > :nth-child(n + 2) {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
}

/*
 * Striped
 */
.uk-list-striped > * {
  padding: 10px 10px;
}
.uk-list-striped > *:nth-of-type(odd) {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.uk-list-striped > :nth-of-type(odd) {
  background: #f8f8f8;
}

.uk-list-striped > :nth-child(n + 2) {
  margin-top: 0;
}

/* Size modifier
 ========================================================================== */
.uk-list-large > :nth-child(n + 2),
.uk-list-large > * > ul {
  margin-top: 20px;
}

.uk-list-collapse > :nth-child(n + 2),
.uk-list-collapse > * > ul {
  margin-top: 0;
}

/*
 * Divider
 */
.uk-list-large.uk-list-divider > :nth-child(n + 2) {
  margin-top: 20px;
  padding-top: 20px;
}

.uk-list-collapse.uk-list-divider > :nth-child(n + 2) {
  margin-top: 0;
  padding-top: 0;
}

/*
 * Striped
 */
.uk-list-large.uk-list-striped > * {
  padding: 20px 10px;
}

.uk-list-collapse.uk-list-striped > * {
  padding-top: 0;
  padding-bottom: 0;
}

.uk-list-large.uk-list-striped > :nth-child(n + 2),
.uk-list-collapse.uk-list-striped > :nth-child(n + 2) {
  margin-top: 0;
}

/* ========================================================================
   Component: Description list
 ========================================================================== */
/*
 * Term
 */
.uk-description-list > dt {
  color: #333;
  font-size: 0.875rem;
  font-weight: normal;
  text-transform: uppercase;
}

.uk-description-list > dt:nth-child(n + 2) {
  margin-top: 20px;
}

/*
 * Description
 */
/* Style modifier
 ========================================================================== */
/*
 * Line
 */
.uk-description-list-divider > dt:nth-child(n + 2) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Table
 ========================================================================== */
/*
 * 1. Remove most spacing between table cells.
 * 2. Behave like a block element
 * 3. Style
 */
.uk-table {
  /* 1 */
  border-collapse: collapse;
  border-spacing: 0;
  /* 2 */
  width: 100%;
  /* 3 */
  margin-bottom: 20px;
}

/* Add margin if adjacent element */
* + .uk-table {
  margin-top: 20px;
}

/* Header cell
 ========================================================================== */
/*
 * 1. Style
 */
.uk-table th {
  padding: 16px 12px;
  text-align: left;
  vertical-align: bottom;
  /* 1 */
  font-size: 0.875rem;
  font-weight: normal;
  color: #999;
  text-transform: uppercase;
}

/* Cell
 ========================================================================== */
.uk-table td {
  padding: 16px 12px;
  vertical-align: top;
}

/*
 * Remove margin from the last-child
 */
.uk-table td > :last-child {
  margin-bottom: 0;
}

/* Footer
 ========================================================================== */
.uk-table tfoot {
  font-size: 0.875rem;
}

/* Caption
 ========================================================================== */
.uk-table caption {
  font-size: 0.875rem;
  text-align: left;
  color: #999;
}

/* Alignment modifier
 ========================================================================== */
.uk-table-middle,
.uk-table-middle td {
  vertical-align: middle !important;
}

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-table-divider > tr:not(:first-child),
.uk-table-divider > :not(:first-child) > tr,
.uk-table-divider > :first-child > tr:not(:first-child) {
  border-top: 1px solid #e5e5e5;
}

/*
 * Striped
 */
.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd) {
  background: #f8f8f8;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

/*
 * Hover
 */
.uk-table-hover > tr:hover,
.uk-table-hover tbody tr:hover {
  background: #ffd;
}

/* Active state
 ========================================================================== */
.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
  background: #ffd;
}

/* Size modifier
 ========================================================================== */
.uk-table-small th,
.uk-table-small td {
  padding: 10px 12px;
}

.uk-table-large th,
.uk-table-large td {
  padding: 22px 12px;
}

/* Justify modifier
 ========================================================================== */
.uk-table-justify th:first-child,
.uk-table-justify td:first-child {
  padding-left: 0;
}

.uk-table-justify th:last-child,
.uk-table-justify td:last-child {
  padding-right: 0;
}

/* Cell size modifier
 ========================================================================== */
.uk-table-shrink {
  width: 1px;
}

.uk-table-expand {
  min-width: 150px;
}

/* Cell link modifier
 ========================================================================== */
/*
 * Does not work with `uk-table-justify` at the moment
 */
.uk-table-link {
  padding: 0 !important;
}

.uk-table-link > a {
  display: block;
  padding: 16px 12px;
}

.uk-table-small .uk-table-link > a {
  padding: 10px 12px;
}

/* Responsive table
 ========================================================================== */
/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-table-responsive,
  .uk-table-responsive tbody,
  .uk-table-responsive th,
  .uk-table-responsive td,
  .uk-table-responsive tr {
    display: block;
  }
  .uk-table-responsive thead {
    display: none;
  }
  .uk-table-responsive th,
  .uk-table-responsive td {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  .uk-table-responsive th:not(:first-child):not(.uk-table-link),
  .uk-table-responsive td:not(:first-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:first-child) > a {
    padding-top: 5px !important;
  }
  .uk-table-responsive th:not(:last-child):not(.uk-table-link),
  .uk-table-responsive td:not(:last-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:last-child) > a {
    padding-bottom: 5px !important;
  }
  .uk-table-justify.uk-table-responsive th,
  .uk-table-justify.uk-table-responsive td {
    padding-left: 0;
    padding-right: 0;
  }
}

.uk-table tbody tr {
  transition: background-color 0.1s linear;
}

.uk-table-striped > tr:nth-of-type(even):last-child,
.uk-table-striped tbody tr:nth-of-type(even):last-child {
  border-bottom: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Icon
 ========================================================================== */
/*
 * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Remove default `button` padding and background color
 * 8. Style
 * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 10. Let the container fit the height of the icon
 */
.uk-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7. */
  padding: 0;
  background-color: transparent;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0;
}

/* Required for `button`. */
button.uk-icon:not(:disabled) {
  cursor: pointer;
}

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-icon::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * Set the fill and stroke color of all SVG elements to the current text color
 */
.uk-icon:not(.uk-preserve) [fill*="#"]:not(.uk-preserve) {
  fill: currentcolor;
}

.uk-icon:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
  stroke: currentcolor;
}

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-icon > * {
  transform: translate(0, 0);
}

/* Image modifier
 ========================================================================== */
/*
 * Display images in icon dimensions
 */
.uk-icon-image {
  width: 20px;
  height: 20px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* Style modifiers
 ========================================================================== */
/*
 * Link
 */
.uk-icon-link {
  color: #999;
}

.uk-icon-link:hover {
  color: #666;
}

/* OnClick + Active */
.uk-icon-link:active,
.uk-active > .uk-icon-link {
  color: #595959;
}

/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover */
.uk-icon-button:hover {
  background-color: #ebebeb;
  color: #666;
}

/* OnClick + Active */
.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: #dfdfdf;
  color: #666;
}

/* ========================================================================
   Component: Form Range
 ========================================================================== */
/*
 * 1. Normalize and defaults
 * 2. Prevent content overflow if a fixed width is used
 * 3. Take the full width
 * 4. Remove default style
 * 5. Remove white background in Chrome
 * 6. Remove padding in IE11
 */
.uk-range {
  /* 1 */
  box-sizing: border-box;
  margin: 0;
  vertical-align: middle;
  /* 2 */
  max-width: 100%;
  /* 3 */
  width: 100%;
  /* 4 */
  -webkit-appearance: none;
  /* 5 */
  background: transparent;
  /* 6 */
  padding: 0;
}

/* Focus */
.uk-range:focus {
  outline: none;
}

.uk-range::-moz-focus-outer {
  border: none;
}

/* IE11 Reset */
.uk-range::-ms-track {
  height: 15px;
  background: transparent;
  border-color: transparent;
  color: transparent;
}

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-range:not(:disabled)::-webkit-slider-thumb {
  cursor: pointer;
}

.uk-range:not(:disabled)::-moz-range-thumb {
  cursor: pointer;
}

.uk-range:not(:disabled)::-ms-thumb {
  cursor: pointer;
}

/* Thumb
 ========================================================================== */
/*
 * 1. Reset
 * 2. Style
 */
/* Webkit */
.uk-range::-webkit-slider-thumb {
  /* 1 */
  -webkit-appearance: none;
  margin-top: -7px;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Firefox */
.uk-range::-moz-range-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Edge */
.uk-range::-ms-thumb {
  /* 1 */
  margin-top: 0;
}

/* IE11 */
.uk-range::-ms-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Edge + IE11 */
.uk-range::-ms-tooltip {
  display: none;
}

/* Track
 ========================================================================== */
/*
 * 1. Safari doesn't have a focus state. Using active instead.
 */
/* Webkit */
.uk-range::-webkit-slider-runnable-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-webkit-slider-runnable-track,
.uk-range:active::-webkit-slider-runnable-track {
  background: #dfdfdf;
}

/* Firefox */
.uk-range::-moz-range-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-moz-range-track {
  background: #dfdfdf;
}

/* Edge */
.uk-range::-ms-fill-lower,
.uk-range::-ms-fill-upper {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-ms-fill-lower,
.uk-range:focus::-ms-fill-upper {
  background: #dfdfdf;
}

/* ========================================================================
   Component: Form
 ========================================================================== */
/*
 * 1. Define consistent box sizing.
 *    Default is `content-box` with following exceptions set to `border-box`
 *    `select`, `input[type="checkbox"]` and `input[type="radio"]`
 *    `input[type="search"]` in Chrome, Safari and Opera
 *    `input[type="color"]` in Firefox
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers.
 */
.uk-input,
.uk-select,
.uk-textarea,
.uk-radio,
.uk-checkbox {
  /* 1 */
  box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
}

/*
 * Show the overflow in Edge.
 */
.uk-input {
  overflow: visible;
}

/*
 * Remove the inheritance of text transform in Firefox.
 */
.uk-select {
  text-transform: none;
}

/*
 * 1. Change font properties to `inherit` in all browsers
 * 2. Don't inherit the `font-weight` and use `bold` instead.
 * NOTE: Both declarations don't work in Chrome, Safari and Opera.
 */
.uk-select optgroup {
  /* 1 */
  font: inherit;
  /* 2 */
  font-weight: bold;
}

/*
 * Remove the default vertical scrollbar in IE 10+.
 */
.uk-textarea {
  overflow: auto;
}

/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-input[type="search"]::-webkit-search-cancel-button,
.uk-input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
.uk-input[type="number"]::-webkit-inner-spin-button,
.uk-input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-input::-moz-placeholder,
.uk-textarea::-moz-placeholder {
  opacity: 1;
}

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-radio:not(:disabled),
.uk-checkbox:not(:disabled) {
  cursor: pointer;
}

/*
 * Define consistent border, margin, and padding.
 */
.uk-fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

/* Input, select and textarea
 * Allowed: `text`, `password`, `datetime`, `datetime-local`, `date`,  `month`,
            `time`, `week`, `number`, `email`, `url`, `search`, `tel`, `color`
 * Disallowed: `range`, `radio`, `checkbox`, `file`, `submit`, `reset` and `image`
 ========================================================================== */
/*
 * Remove default style in iOS.
 */
.uk-input,
.uk-textarea {
  -webkit-appearance: none;
}

/*
 * 1. Prevent content overflow if a fixed width is used
 * 2. Take the full width
 * 3. Reset default
 * 4. Style
 */
.uk-input,
.uk-select,
.uk-textarea {
  /* 1 */
  max-width: 100%;
  /* 2 */
  width: 100%;
  /* 3 */
  border: 0 none;
  /* 4 */
  padding: 0 10px;
  background: #fff;
  color: #666;
  border: 1px solid #e5e5e5;
  transition: 0.2s ease-in-out;
  transition-property: color, background-color, border;
}

/*
 * Single-line
 * 1. Allow any element to look like an `input` or `select` element
 * 2. Make sure line-height is not larger than height
 *    Also needed to center the text vertically
 */
.uk-input,
.uk-select:not([multiple]):not([size]) {
  height: 40px;
  vertical-align: middle;
  /* 1 */
  display: inline-block;
}

/* 2 */
.uk-input:not(input),
.uk-select:not(select) {
  line-height: 38px;
}

/*
 * Multi-line
 */
.uk-select[multiple],
.uk-select[size],
.uk-textarea {
  padding-top: 6px;
  padding-bottom: 6px;
  vertical-align: top;
}

.uk-select[multiple],
.uk-select[size] {
  resize: vertical;
}

/* Focus */
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
  outline: none;
  background-color: #fff;
  color: #666;
  border-color: #1e87f0;
}

/* Disabled */
.uk-input:disabled,
.uk-select:disabled,
.uk-textarea:disabled {
  background-color: #f8f8f8;
  color: #999;
  border-color: #e5e5e5;
}

/*
 * Placeholder
 */
.uk-input::-ms-input-placeholder {
  color: #999 !important;
}

.uk-input::placeholder {
  color: #999;
}

.uk-textarea::-ms-input-placeholder {
  color: #999 !important;
}

.uk-textarea::placeholder {
  color: #999;
}

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Small
 */
.uk-form-small {
  font-size: 0.875rem;
}

/* Single-line */
.uk-form-small:not(textarea):not([multiple]):not([size]) {
  height: 30px;
  padding-left: 8px;
  padding-right: 8px;
}

/* Multi-line */
textarea.uk-form-small,
[multiple].uk-form-small,
[size].uk-form-small {
  padding: 5px 8px;
}

.uk-form-small:not(select):not(input):not(textarea) {
  line-height: 28px;
}

/*
 * Large
 */
.uk-form-large {
  font-size: 1.25rem;
}

/* Single-line */
.uk-form-large:not(textarea):not([multiple]):not([size]) {
  height: 55px;
  padding-left: 12px;
  padding-right: 12px;
}

/* Multi-line */
textarea.uk-form-large,
[multiple].uk-form-large,
[size].uk-form-large {
  padding: 7px 12px;
}

.uk-form-large:not(select):not(input):not(textarea) {
  line-height: 53px;
}

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Error
 */
.uk-form-danger,
.uk-form-danger:focus {
  color: #f0506e;
  border-color: #f0506e;
}

/*
 * Success
 */
.uk-form-success,
.uk-form-success:focus {
  color: #32d296;
  border-color: #32d296;
}

/*
 * Blank
 */
.uk-form-blank {
  background: none;
  border-color: transparent;
}

.uk-form-blank:focus {
  border-color: #e5e5e5;
  border-style: solid;
}

/* Width modifiers (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Fixed widths
 * Different widths for mini sized `input` and `select` elements
 */
input.uk-form-width-xsmall {
  width: 50px;
}

select.uk-form-width-xsmall {
  width: 75px;
}

.uk-form-width-small {
  width: 130px;
}

.uk-form-width-medium {
  width: 200px;
}

.uk-form-width-large {
  width: 500px;
}

/* Select
 ========================================================================== */
/*
 * 1. Remove default style. Also works in Firefox
 * 2. Style
 * 3. Remove default style in IE 10/11
 * 4. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
 */
.uk-select:not([multiple]):not([size]) {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

/* 3 */
.uk-select:not([multiple]):not([size])::-ms-expand {
  display: none;
}

/* 4 */
.uk-select:not([multiple]):not([size]) option {
  color: #666;
}

/*
 * Disabled
 */
.uk-select:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

/* Datalist
 ========================================================================== */
/*
 * 1. Remove default style in Chrome
 */
.uk-input[list] {
  padding-right: 20px;
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

.uk-input[list]:hover,
.uk-input[list]:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

/* 1 */
.uk-input[list]::-webkit-calendar-picker-indicator {
  display: none !important;
}

/* Radio and checkbox
 * Note: Does not work in IE11
 ========================================================================== */
/*
 * 1. Style
 * 2. Make box more robust so it clips the child element
 * 3. Vertical alignment
 * 4. Remove default style
 * 5. Fix black background on iOS
 * 6. Center icons
 */
.uk-radio,
.uk-checkbox {
  /* 1 */
  display: inline-block;
  height: 16px;
  width: 16px;
  /* 2 */
  overflow: hidden;
  /* 3 */
  margin-top: -4px;
  vertical-align: middle;
  /* 4 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 5 */
  background-color: transparent;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid #cccccc;
  transition: 0.2s ease-in-out;
  transition-property: background-color, border;
}

.uk-radio {
  border-radius: 50%;
}

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  background-color: rgba(0, 0, 0, 0);
  outline: none;
  border-color: #1e87f0;
}

/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
  background-color: #1e87f0;
  border-color: transparent;
}

/* Focus */
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.uk-checkbox:indeterminate:focus {
  background-color: #0e6ecd;
}

/*
 * Icons
 */
.uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/*
 * Disabled
 */
.uk-radio:disabled,
.uk-checkbox:disabled {
  background-color: #f8f8f8;
  border-color: #e5e5e5;
}

.uk-radio:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-checkbox:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-checkbox:disabled:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Legend
 ========================================================================== */
/*
 * Legend
 * 1. Behave like block element
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove padding so people aren't caught out if they zero out fieldsets.
 * 4. Style
 */
.uk-legend {
  /* 1 */
  width: 100%;
  /* 2 */
  color: inherit;
  /* 3 */
  padding: 0;
  /* 4 */
  font-size: 1.5rem;
  line-height: 1.4;
}

/* Custom controls
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 */
.uk-form-custom {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
}

/*
 * 1. Position and resize the form control to always cover its container
 * 2. Required for Firefox for positioning to the left
 * 3. Required for Webkit to make `height` work
 * 4. Hide controle and show cursor
 * 5. Needed for the cursor
 * 6. Clip height caused by 5. Needed for Webkit only
 */
.uk-form-custom select,
.uk-form-custom input[type="file"] {
  /* 1 */
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* 2 */
  left: 0;
  /* 3 */
  -webkit-appearance: none;
  /* 4 */
  opacity: 0;
  cursor: pointer;
}

.uk-form-custom input[type="file"] {
  /* 5 */
  font-size: 500px;
  /* 6 */
  overflow: hidden;
}

/* Label
 ========================================================================== */
.uk-form-label {
  color: #333;
  font-size: 0.875rem;
}

/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 5px;
}

/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 959px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-form-horizontal .uk-form-label {
    width: 200px;
    margin-top: 7px;
    float: left;
  }
  .uk-form-horizontal .uk-form-controls {
    margin-left: 215px;
  }
  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
  .uk-form-horizontal .uk-form-controls-text {
    padding-top: 7px;
  }
}

/* Icons
 ========================================================================== */
/*
 * 1. Set position
 * 2. Set width
 * 3. Center icon vertically and horizontally
 * 4. Style
 */
.uk-form-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 40px;
  /* 3 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  /* 4 */
  color: #999;
}

/*
 * Required for `a`.
 */
.uk-form-icon:hover {
  color: #666;
}

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-form-icon:not(a):not(button):not(input) {
  pointer-events: none;
}

/*
 * Input padding
 */
.uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input {
  padding-left: 40px !important;
}

/*
 * Position modifier
 */
.uk-form-icon-flip {
  right: 0;
  left: auto;
}

.uk-form-icon-flip ~ .uk-input {
  padding-right: 40px !important;
}

/* ========================================================================
   Component: Button
 ========================================================================== */
/*
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Remove default style for `input type="submit"`in iOS.
 * 7. Style
 * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
 *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
 * 9. Align text if button has a width
 * 10. Required for `a`.
 */
.uk-button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  -webkit-appearance: none;
  border-radius: 0;
  /* 7 */
  display: inline-block;
  box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 0.875rem;
  /* 8 */
  line-height: 38px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color, border-color;
}

.uk-button:not(:disabled) {
  cursor: pointer;
}

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Hover */
.uk-button:hover {
  /* 9 */
  text-decoration: none;
}

/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: transparent;
  color: #333;
  border: 1px solid #e5e5e5;
}

/* Hover */
.uk-button-default:hover {
  background-color: transparent;
  color: #333;
  border-color: #b2b2b2;
}

/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: transparent;
  color: #333;
  border-color: #999999;
}

/*
 * Primary
 */
.uk-button-primary {
  background-color: #1e87f0;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover */
.uk-button-primary:hover {
  background-color: #0f7ae5;
  color: #fff;
}

/* OnClick + Active */
.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: #0e6ecd;
  color: #fff;
}

/*
 * Secondary
 */
.uk-button-secondary {
  background-color: #222;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover */
.uk-button-secondary:hover {
  background-color: #151515;
  color: #fff;
}

/* OnClick + Active */
.uk-button-secondary:active,
.uk-button-secondary.uk-active {
  background-color: #090909;
  color: #fff;
}

/*
 * Danger
 */
.uk-button-danger {
  background-color: #f0506e;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover */
.uk-button-danger:hover {
  background-color: #ee395b;
  color: #fff;
}

/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: #ec2147;
  color: #fff;
}

/*
 * Disabled
 * The same for all style modifiers
 */
.uk-button-default:disabled,
.uk-button-primary:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
  background-color: transparent;
  color: #999;
  border-color: #e5e5e5;
}

/* Size modifiers
 ========================================================================== */
.uk-button-small {
  padding: 0 15px;
  line-height: 28px;
  font-size: 0.875rem;
}

.uk-button-large {
  padding: 0 40px;
  line-height: 53px;
  font-size: 0.875rem;
}

/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #333;
  position: relative;
}
.uk-button-text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 100%;
  border-bottom: 1px solid #333;
  transition: right 0.3s ease-out;
}

/* Hover */
.uk-button-text:hover {
  color: #333;
}
.uk-button-text:hover::before {
  right: 0;
}

/* Disabled */
.uk-button-text:disabled {
  color: #999;
}
.uk-button-text:disabled::before {
  display: none;
}

/*
 * Link
 * 1. Reset
 * 2. Style
 */
.uk-button-link {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #333;
}

/* Hover */
.uk-button-link:hover {
  color: #999;
  text-decoration: none;
}

/* Disabled */
.uk-button-link:disabled {
  color: #999;
  text-decoration: none;
}

/* Group
 ========================================================================== */
/*
 * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements
 * 2. Behave like button
 * 3. Create position context
 */
.uk-button-group {
  /* 1 */
  display: inline-flex;
  /* 2 */
  vertical-align: middle;
  /* 3 */
  position: relative;
}

/* Group
     ========================================================================== */
/*
     * Collapse border
     */
.uk-button-group > .uk-button:nth-child(n + 2),
.uk-button-group > div:nth-child(n + 2) .uk-button {
  margin-left: -1px;
}

/*
     * Create position context to superimpose the successor elements border
     * Known issue: If you use an `a` element as button and an icon inside,
     * the active state will not work if you click the icon inside the button
     * Workaround: Just use a `button` or `input` element as button
     */
.uk-button-group .uk-button:hover,
.uk-button-group .uk-button:active,
.uk-button-group .uk-button.uk-active {
  position: relative;
  z-index: 1;
}

/* ========================================================================
   Component: Progress
 ========================================================================== */
/*
 * 1. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 * 2. Remove default style
 * 3. Behave like a block element
 * 4. Remove borders in Firefox and Edge
 * 5. Set background color for progress container in Firefox, IE11 and Edge
 * 6. Style
 */
.uk-progress {
  /* 1 */
  vertical-align: baseline;
  /* 2 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 3 */
  display: block;
  width: 100%;
  /* 4 */
  border: 0;
  /* 5 */
  background-color: #f8f8f8;
  /* 6 */
  margin-bottom: 20px;
  height: 15px;
  border-radius: 500px;
  overflow: hidden;
}

/* Add margin if adjacent element */
* + .uk-progress {
  margin-top: 20px;
}

/*
 * Remove animated circles for indeterminate state in IE11 and Edge
 */
.uk-progress:indeterminate {
  color: transparent;
}

/*
 * Progress container
 * 2. Remove progress bar for indeterminate state in Firefox
 */
.uk-progress::-webkit-progress-bar {
  background-color: #f8f8f8;
  border-radius: 500px;
  overflow: hidden;
}

/* 2 */
.uk-progress:indeterminate::-moz-progress-bar {
  width: 0;
}

/*
 * Progress bar
 * 1. Remove right border in IE11 and Edge
 */
.uk-progress::-webkit-progress-value {
  background-color: #1e87f0;
  transition: width 0.6s ease;
}

.uk-progress::-moz-progress-bar {
  background-color: #1e87f0;
}

.uk-progress::-ms-fill {
  background-color: #1e87f0;
  transition: width 0.6s ease;
  /* 1 */
  border: 0;
}

/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  display: flow-root;
  box-sizing: border-box;
  /* 1 */
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Desktop and bigger */
@media (min-width: 960px) {
  .uk-section {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

/*
 * Remove margin from the last-child
 */
.uk-section > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-section-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */
.uk-section-small {
  padding-top: 40px;
  padding-bottom: 40px;
}

/*
 * Large
 */
.uk-section-large {
  padding-top: 70px;
  padding-bottom: 70px;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-section-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}

/*
 * XLarge
 */
.uk-section-xlarge {
  padding-top: 140px;
  padding-bottom: 140px;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-section-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-section-default {
  background: #fff;
}

/*
 * Muted
 */
.uk-section-muted {
  background: #f8f8f8;
}

/*
 * Primary
 */
.uk-section-primary {
  background: #1e87f0;
}

/*
 * Secondary
 */
.uk-section-secondary {
  background: #222;
}

/* Overlap modifier
 ========================================================================== */
/*
 * Reserved modifier to make a section overlap another section with an border image
 * Implemented by the theme
 */
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container {
  display: flow-root;
  /* 1 */
  box-sizing: content-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*
 * Remove margin from the last-child
 */
.uk-container > :last-child {
  margin-bottom: 0;
}

/*
 * Remove padding from nested containers
 */
.uk-container .uk-container {
  padding-left: 0;
  padding-right: 0;
}

/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
  max-width: 750px;
}

.uk-container-small {
  max-width: 900px;
}

.uk-container-large {
  max-width: 1400px;
}

.uk-container-xlarge {
  max-width: 1600px;
}

.uk-container-expand {
  max-width: none;
}

/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
  margin-left: 0;
}

.uk-container-expand-right {
  margin-right: 0;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 30px);
  }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 30px);
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-container-expand-left,
  .uk-container-expand-right {
    max-width: calc(50% + (1200px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-large,
  .uk-container-expand-right.uk-container-large {
    max-width: calc(50% + (1400px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-xlarge,
  .uk-container-expand-right.uk-container-xlarge {
    max-width: calc(50% + (1600px / 2) - 40px);
  }
}

/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
  width: calc(100% + 15px);
}

.uk-container-item-padding-remove-left {
  margin-left: -15px;
}

.uk-container-item-padding-remove-right {
  margin-right: -15px;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 30px);
  }
  .uk-container-item-padding-remove-left {
    margin-left: -30px;
  }
  .uk-container-item-padding-remove-right {
    margin-right: -30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 40px);
  }
  .uk-container-item-padding-remove-left {
    margin-left: -40px;
  }
  .uk-container-item-padding-remove-right {
    margin-right: -40px;
  }
}

/* ========================================================================
   Component: Tile
 ========================================================================== */
.uk-tile {
  display: flow-root;
  position: relative;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

/*
 * Remove margin from the last-child
 */
.uk-tile > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-tile-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */
.uk-tile-small {
  padding-top: 40px;
  padding-bottom: 40px;
}

/*
 * Large
 */
.uk-tile-large {
  padding-top: 70px;
  padding-bottom: 70px;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-tile-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}

/*
 * XLarge
 */
.uk-tile-xlarge {
  padding-top: 140px;
  padding-bottom: 140px;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-tile-default {
  background-color: #fff;
}

/*
 * Muted
 */
.uk-tile-muted {
  background-color: #f8f8f8;
}

/*
 * Primary
 */
.uk-tile-primary {
  background-color: #1e87f0;
}

/*
 * Secondary
 */
.uk-tile-secondary {
  background-color: #222;
}

/* ========================================================================
   Component: Card
 ========================================================================== */
.uk-card {
  position: relative;
  box-sizing: border-box;
  transition: box-shadow 0.1s ease-in-out;
}

/* Sections
 ========================================================================== */
.uk-card-body {
  display: flow-root;
  padding: 30px 30px;
}

.uk-card-header {
  display: flow-root;
  padding: 15px 30px;
}

.uk-card-footer {
  display: flow-root;
  padding: 15px 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body {
    padding: 40px 40px;
  }
  .uk-card-header {
    padding: 20px 40px;
  }
  .uk-card-footer {
    padding: 20px 40px;
  }
}

/*
 * Remove margin from the last-child
 */
.uk-card-body > :last-child,
.uk-card-header > :last-child,
.uk-card-footer > :last-child {
  margin-bottom: 0;
}

/* Media
 ========================================================================== */
/*
 * Reserved alignment modifier to style the media element, e.g. with `border-radius`
 * Implemented by the theme
 */
/* Title
 ========================================================================== */
.uk-card-title {
  font-size: 1.5rem;
  line-height: 1.4;
}

/* Badge
 ========================================================================== */
/*
 * 1. Position
 * 2. Size
 * 3. Style
 * 4. Center child vertically
 */
.uk-card-badge {
  /* 1 */
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 1;
  /* 2 */
  height: 22px;
  padding: 0 10px;
  /* 3 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 4 */
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  border-radius: 2px;
  text-transform: uppercase;
}

/*
 * Remove margin from adjacent element
 */
.uk-card-badge:first-child + * {
  margin-top: 0;
}

/* Hover modifier
 ========================================================================== */
.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
  background-color: #fff;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/* Style modifiers
 ========================================================================== */
/*
 * Default
 * Note: Header and Footer are only implemented for the default style
 */
.uk-card-default {
  background-color: #fff;
  color: #666;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-default .uk-card-title {
  color: #333;
}

.uk-card-default.uk-card-hover:hover {
  background-color: #fff;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-card-default .uk-card-header {
  border-bottom: 1px solid #e5e5e5;
}

.uk-card-default .uk-card-footer {
  border-top: 1px solid #e5e5e5;
}

/*
 * Primary
 */
.uk-card-primary {
  background-color: #1e87f0;
  color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-primary .uk-card-title {
  color: #fff;
}

.uk-card-primary.uk-card-hover:hover {
  background-color: #1e87f0;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/*
 * Secondary
 */
.uk-card-secondary {
  background-color: #222;
  color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-secondary .uk-card-title {
  color: #fff;
}

.uk-card-secondary.uk-card-hover:hover {
  background-color: #222;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/* Size modifier
 ========================================================================== */
/*
 * Small
 */
.uk-card-small.uk-card-body,
.uk-card-small .uk-card-body {
  padding: 20px 20px;
}

.uk-card-small .uk-card-header {
  padding: 13px 20px;
}

.uk-card-small .uk-card-footer {
  padding: 13px 20px;
}

/*
 * Large
 */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large.uk-card-body,
  .uk-card-large .uk-card-body {
    padding: 70px 70px;
  }
  .uk-card-large .uk-card-header {
    padding: 35px 70px;
  }
  .uk-card-large .uk-card-footer {
    padding: 35px 70px;
  }
}

/*
     * Default
     */
.uk-card-body > .uk-nav-default {
  margin-left: -30px;
  margin-right: -30px;
}

.uk-card-body > .uk-nav-default:only-child {
  margin-top: -15px;
  margin-bottom: -15px;
}

.uk-card-body > .uk-nav-default > li > a,
.uk-card-body > .uk-nav-default .uk-nav-header,
.uk-card-body > .uk-nav-default .uk-nav-divider {
  padding-left: 30px;
  padding-right: 30px;
}

.uk-card-body > .uk-nav-default .uk-nav-sub {
  padding-left: 45px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body > .uk-nav-default {
    margin-left: -40px;
    margin-right: -40px;
  }
  .uk-card-body > .uk-nav-default:only-child {
    margin-top: -25px;
    margin-bottom: -25px;
  }
  .uk-card-body > .uk-nav-default > li > a,
  .uk-card-body > .uk-nav-default .uk-nav-header,
  .uk-card-body > .uk-nav-default .uk-nav-divider {
    padding-left: 40px;
    padding-right: 40px;
  }
  .uk-card-body > .uk-nav-default .uk-nav-sub {
    padding-left: 55px;
  }
}

/*
     * Small
     */
.uk-card-small > .uk-nav-default {
  margin-left: -20px;
  margin-right: -20px;
}

.uk-card-small > .uk-nav-default:only-child {
  margin-top: -5px;
  margin-bottom: -5px;
}

.uk-card-small > .uk-nav-default > li > a,
.uk-card-small > .uk-nav-default .uk-nav-header,
.uk-card-small > .uk-nav-default .uk-nav-divider {
  padding-left: 20px;
  padding-right: 20px;
}

.uk-card-small > .uk-nav-default .uk-nav-sub {
  padding-left: 35px;
}

/*
     * Large
     */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large > .uk-nav-default {
    margin: 0;
  }
  .uk-card-large > .uk-nav-default:only-child {
    margin: 0;
  }
  .uk-card-large > .uk-nav-default > li > a,
  .uk-card-large > .uk-nav-default .uk-nav-header,
  .uk-card-large > .uk-nav-default .uk-nav-divider {
    padding-left: 0;
    padding-right: 0;
  }
  .uk-card-large > .uk-nav-default .uk-nav-sub {
    padding-left: 15px;
  }
}

/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999;
  transition: 0.1s ease-in-out;
  transition-property: color, opacity;
}

/* Hover */
.uk-close:hover {
  color: #666;
}

/* ========================================================================
   Component: Spinner
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
/* SVG
 ========================================================================== */
.uk-spinner > * {
  animation: uk-spinner-rotate 1.4s linear infinite;
}

@keyframes uk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}

/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round;
}

@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px;
  }
  50% {
    stroke-dashoffset: 22px;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 88px;
    transform: rotate(450deg);
  }
}

/* ========================================================================
   Component: Totop
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-totop {
  padding: 5px;
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-totop:hover {
  color: #666;
}

/* OnClick */
.uk-totop:active {
  color: #333;
}

/* ========================================================================
   Component: Marker
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-marker {
  padding: 5px;
  background: #222;
  color: #fff;
  border-radius: 500px;
}

/* Hover */
.uk-marker:hover {
  color: #fff;
}

/* ========================================================================
   Component: Alert
 ========================================================================== */
.uk-alert {
  position: relative;
  margin-bottom: 20px;
  padding: 15px 29px 15px 15px;
  background: #f8f8f8;
  color: #666;
}

/* Add margin if adjacent element */
* + .uk-alert {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-alert > :last-child {
  margin-bottom: 0;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-alert-close {
  position: absolute;
  top: 20px;
  right: 15px;
  color: inherit;
  opacity: 0.4;
}

/*
 * Remove margin from adjacent element
 */
.uk-alert-close:first-child + * {
  margin-top: 0;
}

/*
 * Hover
 */
.uk-alert-close:hover {
  color: inherit;
  opacity: 0.8;
}

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-alert-primary {
  background: #d8eafc;
  color: #1e87f0;
}

/*
 * Success
 */
.uk-alert-success {
  background: #edfbf6;
  color: #32d296;
}

/*
 * Warning
 */
.uk-alert-warning {
  background: #fef5ee;
  color: #faa05a;
}

/*
 * Danger
 */
.uk-alert-danger {
  background: #fef4f6;
  color: #f0506e;
}

/*
     * Content
     */
.uk-alert h1,
.uk-alert h2,
.uk-alert h3,
.uk-alert h4,
.uk-alert h5,
.uk-alert h6 {
  color: inherit;
}

.uk-alert a:not([class]) {
  color: inherit;
  text-decoration: underline;
}

.uk-alert a:not([class]):hover {
  color: inherit;
  text-decoration: underline;
}

/* ========================================================================
   Component: Placeholder
 ========================================================================== */
.uk-placeholder {
  margin-bottom: 20px;
  padding: 30px 30px;
  background: transparent;
  border: 1px dashed #e5e5e5;
}

/* Add margin if adjacent element */
* + .uk-placeholder {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-placeholder > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Badge
 ========================================================================== */
/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */
.uk-badge {
  box-sizing: border-box;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff !important;
  font-size: 11px;
  /* 2 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
}

/*
 * Required for `a`
 */
.uk-badge:hover {
  text-decoration: none;
}

/* ========================================================================
   Component: Label
 ========================================================================== */
.uk-label {
  display: inline-block;
  padding: 0 10px;
  background: #1e87f0;
  line-height: 1.5;
  font-size: 0.875rem;
  color: #fff;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: 2px;
  text-transform: uppercase;
}

/* Color modifiers
 ========================================================================== */
/*
 * Success
 */
.uk-label-success {
  background-color: #32d296;
  color: #fff;
}

/*
 * Warning
 */
.uk-label-warning {
  background-color: #faa05a;
  color: #fff;
}

/*
 * Danger
 */
.uk-label-danger {
  background-color: #f0506e;
  color: #fff;
}

/* ========================================================================
   Component: Overlay
 ========================================================================== */
.uk-overlay {
  padding: 30px 30px;
}

/*
 * Remove margin from the last-child
 */
.uk-overlay > :last-child {
  margin-bottom: 0;
}

/* Icon
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-overlay-default {
  background: rgba(255, 255, 255, 0.8);
}

/*
 * Primary
 */
.uk-overlay-primary {
  background: rgba(34, 34, 34, 0.8);
}

/* ========================================================================
   Component: Article
 ========================================================================== */
.uk-article {
  display: flow-root;
}

/*
 * Remove margin from the last-child
 */
.uk-article > :last-child {
  margin-bottom: 0;
}

/* Adjacent sibling
 ========================================================================== */
.uk-article + .uk-article {
  margin-top: 70px;
}

/* Title
 ========================================================================== */
.uk-article-title {
  font-size: 2.23125rem;
  line-height: 1.2;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-article-title {
    font-size: 2.625rem;
  }
}

/* Meta
 ========================================================================== */
.uk-article-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}
.uk-article-meta a {
  color: #999;
}
.uk-article-meta a:hover {
  color: #666;
  text-decoration: none;
}

/* ========================================================================
   Component: Comment
 ========================================================================== */
/* Sections
 ========================================================================== */
.uk-comment-body {
  display: flow-root;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.uk-comment-header {
  display: flow-root;
  margin-bottom: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-comment-body > :last-child,
.uk-comment-header > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */
.uk-comment-title {
  font-size: 1.25rem;
  line-height: 1.4;
}

/* Meta
 ========================================================================== */
.uk-comment-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}

/* Avatar
 ========================================================================== */
/* List
 ========================================================================== */
.uk-comment-list {
  padding: 0;
  list-style: none;
}

/* Adjacent siblings */
.uk-comment-list > :nth-child(n + 2) {
  margin-top: 70px;
}

/*
 * Sublists
 * Note: General sibling selector allows reply block between comment and sublist
 */
.uk-comment-list .uk-comment ~ ul {
  margin: 70px 0 0 0;
  padding-left: 30px;
  list-style: none;
}

/* Tablet and bigger */
@media (min-width: 960px) {
  .uk-comment-list .uk-comment ~ ul {
    padding-left: 100px;
  }
}

/* Adjacent siblings */
.uk-comment-list .uk-comment ~ ul > :nth-child(n + 2) {
  margin-top: 70px;
}

/* Style modifier
 ========================================================================== */
.uk-comment-primary {
  padding: 30px;
  background-color: #f8f8f8;
}

/* ========================================================================
   Component: Search
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Reset `form`
 */
.uk-search {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  margin: 0;
}

/* Input
 ========================================================================== */
/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-search-input::-webkit-search-cancel-button,
.uk-search-input::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-search-input::-moz-placeholder {
  opacity: 1;
}

/*
 * 1. Define consistent box sizing.
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers
 * 5. Show the overflow in Edge.
 * 6. Remove default style in iOS.
 * 7. Vertical alignment
 * 8. Take the full container width
 * 9. Style
 */
.uk-search-input {
  /* 1 */
  box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
  /* 5 */
  overflow: visible;
  /* 6 */
  -webkit-appearance: none;
  /* 7 */
  vertical-align: middle;
  /* 8 */
  width: 100%;
  /* 9 */
  border: none;
  color: #666;
}

.uk-search-input:focus {
  outline: none;
}

/* Placeholder */
.uk-search-input:-ms-input-placeholder {
  color: #999 !important;
}

.uk-search-input::placeholder {
  color: #999;
}

/* Icon (Adopts `uk-icon`)
 ========================================================================== */
/*
 * Position above input
 * 1. Set position
 * 2. Center icon vertically and horizontally
 * 3. Style
 */
.uk-search .uk-search-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  /* 3 */
  color: #999;
}

/*
 * Required for `a`.
 */
.uk-search .uk-search-icon:hover {
  color: #999;
}

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-search .uk-search-icon:not(a):not(button):not(input) {
  pointer-events: none;
}

/*
 * Position modifier
 */
.uk-search .uk-search-icon-flip {
  right: 0;
  left: auto;
}

/* Default modifier
 ========================================================================== */
.uk-search-default {
  width: 240px;
}

/*
 * Input
 */
.uk-search-default .uk-search-input {
  height: 40px;
  padding-left: 10px;
  padding-right: 10px;
  background: transparent;
  border: 1px solid #e5e5e5;
}

/* Focus */
.uk-search-default .uk-search-input:focus {
  background-color: rgba(0, 0, 0, 0);
  border-color: #1e87f0;
}

/*
 * Icon
 */
.uk-search-default .uk-search-icon {
  width: 40px;
}

.uk-search-default
  .uk-search-icon:not(.uk-search-icon-flip)
  ~ .uk-search-input {
  padding-left: 40px;
}

.uk-search-default .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px;
}

/* Navbar modifier
 ========================================================================== */
.uk-search-navbar {
  width: 400px;
}

/*
 * Input
 */
.uk-search-navbar .uk-search-input {
  height: 40px;
  background: transparent;
  font-size: 1.5rem;
}

/*
 * Icon
 */
.uk-search-navbar .uk-search-icon {
  width: 40px;
}

.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px;
}

.uk-search-navbar .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px;
}

/* Large modifier
 ========================================================================== */
.uk-search-large {
  width: 500px;
}

/*
 * Input
 */
.uk-search-large .uk-search-input {
  height: 80px;
  background: transparent;
  font-size: 2.625rem;
}

/*
 * Icon
 */
.uk-search-large .uk-search-icon {
  width: 80px;
}

.uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 80px;
}

.uk-search-large .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 80px;
}

/* Toggle
 ========================================================================== */
.uk-search-toggle {
  color: #999;
}

/* Hover */
.uk-search-toggle:hover {
  color: #666;
}

/* ========================================================================
   Component: Accordion
 ========================================================================== */
.uk-accordion {
  padding: 0;
  list-style: none;
}

/* Item
 ========================================================================== */
.uk-accordion > :nth-child(n + 2) {
  margin-top: 20px;
}

/* Title
 ========================================================================== */
.uk-accordion-title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #333;
  overflow: hidden;
}
.uk-accordion-title::before {
  content: "";
  width: 1.4em;
  height: 1.4em;
  margin-left: 10px;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.uk-open > .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Hover */
.uk-accordion-title:hover {
  color: #666;
  text-decoration: none;
}

/* Content
 ========================================================================== */
.uk-accordion-content {
  display: flow-root;
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-accordion-content > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Drop
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 */
.uk-drop {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  width: 300px;
}

/* Show */
.uk-drop.uk-open {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*="uk-drop-top"] {
  margin-top: -20px;
}

[class*="uk-drop-bottom"] {
  margin-top: 20px;
}

[class*="uk-drop-left"] {
  margin-left: -20px;
}

[class*="uk-drop-right"] {
  margin-left: 20px;
}

/* Grid modifiers
 ========================================================================== */
.uk-drop-stack .uk-drop-grid > * {
  width: 100% !important;
}

/* ========================================================================
   Component: Dropdown
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  min-width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */
.uk-dropdown.uk-open {
  display: block;
}

/* Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-dropdown-nav {
  white-space: nowrap;
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-dropdown-nav > li > a {
  color: #999;
}

/* Hover + Active */
.uk-dropdown-nav > li > a:hover,
.uk-dropdown-nav > li.uk-active > a {
  color: #666;
}

/*
 * Header
 */
.uk-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-dropdown-nav .uk-nav-sub a:hover,
.uk-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #666;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*="uk-dropdown-top"] {
  margin-top: -10px;
}

[class*="uk-dropdown-bottom"] {
  margin-top: 10px;
}

[class*="uk-dropdown-left"] {
  margin-left: -10px;
}

[class*="uk-dropdown-right"] {
  margin-left: 10px;
}

/* Grid modifiers
 ========================================================================== */
.uk-dropdown-stack .uk-dropdown-grid > * {
  width: 100% !important;
}

/* ========================================================================
   Component: Modal
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */
.uk-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  background: rgba(0, 0, 0, 0.6);
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-modal {
    padding: 50px 30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-modal {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*
 * Open
 */
.uk-modal.uk-open {
  opacity: 1;
}

/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-modal-page {
  overflow: hidden;
}

/* Dialog
 ========================================================================== */
/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
 *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
 * 4. Style
 * 5. Slide-in transition
 */
.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: calc(100% - 0.01px) !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  transform: translateY(-100px);
  transition: 0.3s linear;
  transition-property: opacity, transform;
}

/*
 * Open
 */
.uk-open > .uk-modal-dialog {
  opacity: 1;
  transform: translateY(0);
}

/* Size modifier
 ========================================================================== */
/*
 * Container size
 * Take the same size as the Container component
 */
.uk-modal-container .uk-modal-dialog {
  width: 1200px;
}

/*
 * Full size
 * 1. Remove padding and background from modal
 * 2. Reset all default declarations from modal dialog
 */
/* 1 */
.uk-modal-full {
  padding: 0;
  background: none;
}

/* 2 */
.uk-modal-full .uk-modal-dialog {
  margin: 0;
  width: 100%;
  max-width: 100%;
  transform: translateY(0);
}

/* Sections
 ========================================================================== */
.uk-modal-body {
  display: flow-root;
  padding: 30px 30px;
}

.uk-modal-header {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}

.uk-modal-footer {
  display: flow-root;
  padding: 15px 30px;
  background: #fff;
  border-top: 1px solid #e5e5e5;
}

/*
 * Remove margin from the last-child
 */
.uk-modal-body > :last-child,
.uk-modal-header > :last-child,
.uk-modal-footer > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */
.uk-modal-title {
  font-size: 2rem;
  line-height: 1.3;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
[class*="uk-modal-close-"] {
  position: absolute;
  z-index: 1010;
  top: 10px;
  right: 10px;
  padding: 5px;
}

/*
 * Remove margin from adjacent element
 */
[class*="uk-modal-close-"]:first-child + * {
  margin-top: 0;
}

/*
 * Hover
 */
/*
 * Default
 */
/*
 * Outside
 * 1. Prevent scrollbar on small devices
 */
.uk-modal-close-outside {
  top: 0;
  /* 1 */
  right: -5px;
  transform: translate(0, -100%);
  color: white;
}

.uk-modal-close-outside:hover {
  color: #fff;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  /* 1 */
  .uk-modal-close-outside {
    right: 0;
    transform: translate(100%, -100%);
  }
}

/*
 * Full
 */
.uk-modal-close-full {
  top: 0;
  right: 0;
  padding: 20px;
  background: #fff;
}

/* ========================================================================
   Component: Slideshow
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slideshow {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Items
 ========================================================================== */
/*
 * 1. Create position and stacking context
 * 2. Reset list
 * 3. Clip child elements
 * 4. Prevent displaying the callout information on iOS.
 */
.uk-slideshow-items {
  /* 1 */
  position: relative;
  z-index: 0;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  overflow: hidden;
  /* 4 */
  -webkit-touch-callout: none;
}

/* Item
 ========================================================================== */
/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 * 5. Disable horizontal panning gestures in IE11 and Edge
 */
.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity;
  /* 5 */
  touch-action: pan-y;
}

/*
 * Hide not active items
 */
.uk-slideshow-items > :not(.uk-active) {
  display: none;
}

/* ========================================================================
   Component: Slider
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slider {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Container
 ========================================================================== */
/*
 * Clip child elements
 */
.uk-slider-container {
  overflow: hidden;
}

/*
 * Widen container to prevent box-shadows from clipping, `large-box-shadow`
 */
.uk-slider-container-offset {
  margin: -11px -25px -39px -25px;
  padding: 11px 25px 39px 25px;
}

/* Items
 ========================================================================== */
/*
 * 1. Optimize animation
 * 2. Create a containing block. In Safari it's neither created by `transform` nor `will-change`.
 */
.uk-slider-items {
  /* 1 */
  will-change: transform;
  /* 2 */
  position: relative;
}

/*
 * 1. Reset list style without interfering with grid
 * 2. Prevent displaying the callout information on iOS.
 */
.uk-slider-items:not(.uk-grid) {
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 2 */
  -webkit-touch-callout: none;
}

.uk-slider-items.uk-grid {
  flex-wrap: nowrap;
}

/* Item
 ========================================================================== */
/*
 * 1. Let items take content dimensions (0 0 auto)
 *    `max-width` needed to keep image responsiveness and prevent content overflow
 * 3. Create position context
 * 4. Disable horizontal panning gestures in IE11 and Edge
 */
.uk-slider-items > * {
  /* 1 */
  flex: none;
  max-width: 100%;
  /* 3 */
  position: relative;
  /* 4 */
  touch-action: pan-y;
}

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Force new layer to resolve frame rate issues on devices with lower frame rates
 */
.uk-sticky-fixed {
  z-index: 980;
  box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*
 * Faster animations
 */
.uk-sticky[class*="uk-animation-"] {
  animation-duration: 0.2s;
}

.uk-sticky.uk-animation-reverse {
  animation-duration: 0.2s;
}

/* ========================================================================
   Component: Off-canvas
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 */
.uk-offcanvas {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
}

/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas {
  right: 0;
  left: auto;
}

/* Bar
 ========================================================================== */
/*
 * 1. Set position
 * 2. Size and style
 * 3. Allow scrolling
 */
.uk-offcanvas-bar {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: -270px;
  /* 2 */
  box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-offcanvas-bar {
    left: -350px;
    width: 350px;
    padding: 40px 40px;
  }
}

/* Flip modifier */
.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: -270px;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-offcanvas-flip .uk-offcanvas-bar {
    right: -350px;
  }
}

/*
 * Open
 */
.uk-open > .uk-offcanvas-bar {
  left: 0;
}

.uk-offcanvas-flip .uk-open > .uk-offcanvas-bar {
  left: auto;
  right: 0;
}

/*
 * Slide Animation (Used in slide and push mode)
 */
.uk-offcanvas-bar-animation {
  transition: left 0.3s ease-out;
}

.uk-offcanvas-flip .uk-offcanvas-bar-animation {
  transition-property: right;
}

/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset position
 */
.uk-offcanvas-reveal {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 0;
  overflow: hidden;
  /* 3 */
  transition: width 0.3s ease-out;
}

.uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: 0;
}

.uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: auto;
  right: 0;
}

.uk-open > .uk-offcanvas-reveal {
  width: 270px;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-open > .uk-offcanvas-reveal {
    width: 350px;
  }
}

/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas-reveal {
  right: 0;
  left: auto;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-offcanvas-close {
  position: absolute;
  z-index: 1000;
  top: 20px;
  right: 20px;
  padding: 5px;
}

/* Overlay
 ========================================================================== */
/*
 * Overlay the whole page. Needed for the `::before`
 * 1. Using `100vw` so no modification is needed when off-canvas is flipped
 * 2. Allow for closing with swipe gesture on devices with pointer events.
 */
.uk-offcanvas-overlay {
  /* 1 */
  width: 100vw;
  /* 2 */
  touch-action: none;
}

/*
 * 1. Mask the whole page
 * 2. Fade-in transition
 */
.uk-offcanvas-overlay::before {
  /* 1 */
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.1);
  /* 2 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

.uk-offcanvas-overlay.uk-open::before {
  opacity: 1;
}

/* Prevent scrolling
 ========================================================================== */
/*
 * Prevent horizontal scrollbar when the content is slide-out
 * Has to be on the `html` element too to make it work on the `body`
 */
.uk-offcanvas-page,
.uk-offcanvas-container {
  overflow-x: hidden;
}

/* Container
 ========================================================================== */
/*
 * Prepare slide-out animation (Used in reveal and push mode)
 * Using `position: left` instead of `transform` because position `fixed` elements like sticky navbars
 * lose their fixed state and behaves like `absolute` within a transformed container
 * 1. Provide a fixed width and prevent shrinking
 */
.uk-offcanvas-container {
  position: relative;
  left: 0;
  transition: left 0.3s ease-out;
  /* 1 */
  box-sizing: border-box;
  width: 100%;
}

/*
 * Activate slide-out animation
 */
:not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
  left: 270px;
}

.uk-offcanvas-flip.uk-offcanvas-container-animation {
  left: -270px;
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  :not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
    left: 350px;
  }
  .uk-offcanvas-flip.uk-offcanvas-container-animation {
    left: -350px;
  }
}

/* ========================================================================
   Component: Switcher
 ========================================================================== */
/*
 * Reset list
 */
.uk-switcher {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Items
 ========================================================================== */
/*
 * Hide not active items
 */
.uk-switcher > :not(.uk-active) {
  display: none;
}

/*
 * Remove margin from the last-child
 */
.uk-switcher > * > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Leader
 ========================================================================== */
.uk-leader {
  overflow: hidden;
}

/*
 * 1. Place element in text flow
 * 2. Never break into a new line
 * 3. Get a string back with as many repeating characters to fill the container
 * 4. Prevent wrapping. Overflowing characters will be clipped by the container
 */
.uk-leader-fill::after {
  /* 1 */
  display: inline-block;
  margin-left: 15px;
  /* 2 */
  width: 0;
  /* 3 */
  content: attr(data-fill);
  /* 4 */
  white-space: nowrap;
}

/*
 * Hide if media does not match
 */
.uk-leader-fill.uk-leader-hide::after {
  display: none;
}

/*
 * Pass fill character to JS
 */
.uk-leader-fill-content::before {
  content: ".";
}

:root {
  --uk-leader-fill-content: ".";
}

/* ========================================================================
   Component: Notification
 ========================================================================== */
/*
 * 1. Set position
 * 2. Dimensions
 */
.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1040;
  /* 2 */
  box-sizing: border-box;
  width: 350px;
}

/* Position modifiers
========================================================================== */
.uk-notification-top-right,
.uk-notification-bottom-right {
  left: auto;
  right: 10px;
}

.uk-notification-top-center,
.uk-notification-bottom-center {
  left: 50%;
  margin-left: -175px;
}

.uk-notification-bottom-left,
.uk-notification-bottom-right,
.uk-notification-bottom-center {
  top: auto;
  bottom: 10px;
}

/* Responsiveness
========================================================================== */
/* Phones portrait and smaller */
@media (max-width: 639px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0;
  }
}

/* Message
========================================================================== */
.uk-notification-message {
  position: relative;
  padding: 15px;
  background: #f8f8f8;
  color: #666;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer;
}

* + .uk-notification-message {
  margin-top: 10px;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-notification-close {
  display: none;
  position: absolute;
  top: 20px;
  right: 15px;
}

.uk-notification-message:hover .uk-notification-close {
  display: block;
}

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-notification-message-primary {
  color: #1e87f0;
}

/*
 * Success
 */
.uk-notification-message-success {
  color: #32d296;
}

/*
 * Warning
 */
.uk-notification-message-warning {
  color: #faa05a;
}

/*
 * Danger
 */
.uk-notification-message-danger {
  color: #f0506e;
}

/* ========================================================================
   Component: Tooltip
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Position
 * 3. Remove tooltip from document flow to keep the UIkit container from changing its size when injected into the document initially
 * 4. Dimensions
 * 5. Style
 */
.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  top: 0;
  /* 4 */
  box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 5 */
  background: #666;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
}

/* Show */
.uk-tooltip.uk-active {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*="uk-tooltip-top"] {
  margin-top: -10px;
}

[class*="uk-tooltip-bottom"] {
  margin-top: 10px;
}

[class*="uk-tooltip-left"] {
  margin-left: -10px;
}

[class*="uk-tooltip-right"] {
  margin-left: 10px;
}

/* ========================================================================
   Component: Sortable
 ========================================================================== */
.uk-sortable {
  position: relative;
}

/*
 * Remove margin from the last-child
 */
.uk-sortable > :last-child {
  margin-bottom: 0;
}

/* Drag
 ========================================================================== */
.uk-sortable-drag {
  position: fixed !important;
  z-index: 1050 !important;
  pointer-events: none;
}

/* Placeholder
 ========================================================================== */
.uk-sortable-placeholder {
  opacity: 0;
  pointer-events: none;
}

/* Empty modifier
 ========================================================================== */
.uk-sortable-empty {
  min-height: 50px;
}

/* Handle
 ========================================================================== */
/* Hover */
.uk-sortable-handle:hover {
  cursor: move;
}

/* ========================================================================
   Component: Countdown
 ========================================================================== */
/* Item
 ========================================================================== */
/* Number
 ========================================================================== */
/*
 * 1. Make numbers all of the same size to prevent jumping. Must be supported by the font.
 * 2. Style
 */
.uk-countdown-number {
  /* 1 */
  font-variant-numeric: tabular-nums;
  /* 2 */
  font-size: 2rem;
  line-height: 0.8;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-countdown-number {
    font-size: 4rem;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-countdown-number {
    font-size: 6rem;
  }
}

/* Separator
 ========================================================================== */
.uk-countdown-separator {
  font-size: 1rem;
  line-height: 1.6;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-countdown-separator {
    font-size: 2rem;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-countdown-separator {
    font-size: 3rem;
  }
}

/* Label
 ========================================================================== */
/* ========================================================================
   Component: Grid
 ========================================================================== */
/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */
.uk-grid {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * Grid cell
 * Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
 * Reset margin for e.g. paragraphs
 */
.uk-grid > * {
  margin: 0;
}

/*
 * Remove margin from the last-child
 */
.uk-grid > * > :last-child {
  margin-bottom: 0;
}

/* Gutter
 ========================================================================== */
/*
 * Default
 */
/* Horizontal */
.uk-grid {
  margin-left: -30px;
}

.uk-grid > * {
  padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid,
.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
  margin-top: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid {
    margin-left: -40px;
  }
  .uk-grid > * {
    padding-left: 40px;
  }
  /* Vertical */
  .uk-grid + .uk-grid,
  .uk-grid > .uk-grid-margin,
  * + .uk-grid-margin {
    margin-top: 40px;
  }
}

/*
 * Small
 */
/* Horizontal */
.uk-grid-small,
.uk-grid-column-small {
  margin-left: -15px;
}

.uk-grid-small > *,
.uk-grid-column-small > * {
  padding-left: 15px;
}

/* Vertical */
.uk-grid + .uk-grid-small,
.uk-grid + .uk-grid-row-small,
.uk-grid-small > .uk-grid-margin,
.uk-grid-row-small > .uk-grid-margin,
* + .uk-grid-margin-small {
  margin-top: 15px;
}

/*
 * Medium
 */
/* Horizontal */
.uk-grid-medium,
.uk-grid-column-medium {
  margin-left: -30px;
}

.uk-grid-medium > *,
.uk-grid-column-medium > * {
  padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid-medium,
.uk-grid + .uk-grid-row-medium,
.uk-grid-medium > .uk-grid-margin,
.uk-grid-row-medium > .uk-grid-margin,
* + .uk-grid-margin-medium {
  margin-top: 30px;
}

/*
 * Large
 */
/* Horizontal */
.uk-grid-large,
.uk-grid-column-large {
  margin-left: -40px;
}

.uk-grid-large > *,
.uk-grid-column-large > * {
  padding-left: 40px;
}

/* Vertical */
.uk-grid + .uk-grid-large,
.uk-grid + .uk-grid-row-large,
.uk-grid-large > .uk-grid-margin,
.uk-grid-row-large > .uk-grid-margin,
* + .uk-grid-margin-large {
  margin-top: 40px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-large,
  .uk-grid-column-large {
    margin-left: -70px;
  }
  .uk-grid-large > *,
  .uk-grid-column-large > * {
    padding-left: 70px;
  }
  /* Vertical */
  .uk-grid + .uk-grid-large,
  .uk-grid + .uk-grid-row-large,
  .uk-grid-large > .uk-grid-margin,
  .uk-grid-row-large > .uk-grid-margin,
  * + .uk-grid-margin-large {
    margin-top: 70px;
  }
}

/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse,
.uk-grid-column-collapse {
  margin-left: 0;
}

.uk-grid-collapse > *,
.uk-grid-column-collapse > * {
  padding-left: 0;
}

/* Vertical */
.uk-grid + .uk-grid-collapse,
.uk-grid + .uk-grid-row-collapse,
.uk-grid-collapse > .uk-grid-margin,
.uk-grid-row-collapse > .uk-grid-margin {
  margin-top: 0;
}

/* Divider
 ========================================================================== */
.uk-grid-divider > * {
  position: relative;
}

.uk-grid-divider > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid #e5e5e5;
}

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid #e5e5e5;
}

/*
 * Default
 */
/* Horizontal */
.uk-grid-divider {
  margin-left: -60px;
}

.uk-grid-divider > * {
  padding-left: 60px;
}

.uk-grid-divider > :not(.uk-first-column)::before {
  left: 30px;
}

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}

.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider {
    margin-left: -80px;
  }
  .uk-grid-divider > * {
    padding-left: 80px;
  }
  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 40px;
  }
  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px;
  }
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px;
  }
}

/*
 * Small
 */
/* Horizontal */
.uk-grid-divider.uk-grid-small,
.uk-grid-divider.uk-grid-column-small {
  margin-left: -30px;
}

.uk-grid-divider.uk-grid-small > *,
.uk-grid-divider.uk-grid-column-small > * {
  padding-left: 30px;
}

.uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before {
  left: 15px;
}

/* Vertical */
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin {
  margin-top: 30px;
}

.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
  left: 30px;
}

.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
}

.uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before {
  left: 30px;
}

/*
 * Medium
 */
/* Horizontal */
.uk-grid-divider.uk-grid-medium,
.uk-grid-divider.uk-grid-column-medium {
  margin-left: -60px;
}

.uk-grid-divider.uk-grid-medium > *,
.uk-grid-divider.uk-grid-column-medium > * {
  padding-left: 60px;
}

.uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before {
  left: 30px;
}

/* Vertical */
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}

.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}

.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
}

.uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before {
  left: 60px;
}

/*
 * Large
 */
/* Horizontal */
.uk-grid-divider.uk-grid-large,
.uk-grid-divider.uk-grid-column-large {
  margin-left: -80px;
}

.uk-grid-divider.uk-grid-large > *,
.uk-grid-divider.uk-grid-column-large > * {
  padding-left: 80px;
}

.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
  left: 40px;
}

/* Vertical */
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
  margin-top: 80px;
}

.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
  left: 80px;
}

.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
}

.uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
  left: 80px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider.uk-grid-large,
  .uk-grid-divider.uk-grid-column-large {
    margin-left: -140px;
  }
  .uk-grid-divider.uk-grid-large > *,
  .uk-grid-divider.uk-grid-column-large > * {
    padding-left: 140px;
  }
  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
  .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
    left: 70px;
  }
  /* Vertical */
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
    margin-top: 140px;
  }
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
    left: 140px;
  }
  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
  }
  .uk-grid-divider.uk-grid-column-large.uk-grid-stack
    > .uk-grid-margin::before {
    left: 140px;
  }
}

/* Match child of a grid cell
 ========================================================================== */
/*
 * Behave like a block element
 * 1. Wrap into the next line
 * 2. Take the full width, at least 100%. Only if no class from the Width component is set.
 * 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
 */
.uk-grid-match > *,
.uk-grid-item-match {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
}

.uk-grid-match > * > :not([class*="uk-width"]),
.uk-grid-item-match > :not([class*="uk-width"]) {
  /* 2 */
  box-sizing: border-box;
  width: 100%;
  /* 3 */
  flex: auto;
}

/* ========================================================================
   Component: Nav
 ========================================================================== */
/*
 * Reset
 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
* 1. Center content vertically, e.g. an icon
* 2. Imitate white space gap when using flexbox
* 3. Reset link
* 4. Space is allocated solely based on content dimensions: 0 0 auto
 */
.uk-nav li > a {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  column-gap: 0.25em;
  /* 3*/
  text-decoration: none;
}

/* 4 */
.uk-nav li > a > * {
  flex: none;
}

/*
 * Items
 * Must target `a` elements to exclude other elements (e.g. lists)
 */
.uk-nav > li > a {
  padding: 5px 0;
}

/* Sublists
 ========================================================================== */
/*
 * Level 2
 * `ul` needed for higher specificity to override padding
 */
ul.uk-nav-sub {
  padding: 5px 0 5px 15px;
}

/*
 * Level 3 and deeper
 */
.uk-nav-sub ul {
  padding-left: 15px;
}

/*
 * Items
 */
.uk-nav-sub a {
  padding: 2px 0;
}

/* Parent icon modifier
 ========================================================================== */
.uk-nav-parent-icon > .uk-parent > a::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  margin-left: auto;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Header
 ========================================================================== */
.uk-nav-header {
  padding: 5px 0;
  text-transform: uppercase;
  font-size: 0.875rem;
}

.uk-nav-header:not(:first-child) {
  margin-top: 20px;
}

/* Divider
 ========================================================================== */
.uk-nav > .uk-nav-divider {
  margin: 5px 0;
}

/* Default modifier
 ========================================================================== */
.uk-nav-default {
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-nav-default > li > a {
  color: #999;
}

/* Hover */
.uk-nav-default > li > a:hover {
  color: #666;
}

/* Active */
.uk-nav-default > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-nav-default .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-nav-default .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-nav-default .uk-nav-sub a {
  color: #999;
}

.uk-nav-default .uk-nav-sub a:hover {
  color: #666;
}

.uk-nav-default .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Primary modifier
 ========================================================================== */
/*
 * Items
 */
.uk-nav-primary > li > a {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #999;
}

/* Hover */
.uk-nav-primary > li > a:hover {
  color: #666;
}

/* Active */
.uk-nav-primary > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-nav-primary .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-nav-primary .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-nav-primary .uk-nav-sub a {
  color: #999;
}

.uk-nav-primary .uk-nav-sub a:hover {
  color: #666;
}

.uk-nav-primary .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Alignment modifier
 ========================================================================== */
/*
 * 1. Center header
 * 2. Center items
 */
/* 1 */
.uk-nav-center {
  text-align: center;
}

/* 2 */
.uk-nav-center li > a {
  justify-content: center;
}

/* Sublists */
.uk-nav-center .uk-nav-sub,
.uk-nav-center .uk-nav-sub ul {
  padding-left: 0;
}

/* Parent icon modifier  */
.uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after {
  margin-left: 0;
}

/* Style modifier
 ========================================================================== */
.uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  + :not(.uk-nav-header):not(.uk-nav-divider) {
  margin-top: 0;
  padding-top: 0;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Navbar
 ========================================================================== */
/*
 * 1. Create position context to center navbar group
 */
.uk-navbar {
  display: flex;
  /* 1 */
  position: relative;
}

/* Container
 ========================================================================== */
.uk-navbar-container:not(.uk-navbar-transparent) {
  background: #f8f8f8;
}

/*
 * Remove pseudo elements created by micro clearfix as precaution (if Container component is used)
 */
.uk-navbar-container > ::before,
.uk-navbar-container > ::after {
  display: none !important;
}

/* Groups
 ========================================================================== */
/*
 * 1. Align navs and items vertically if they have a different height
 * 2. Note: IE 11 requires an extra `div` which affects the center selector
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center,
.uk-navbar-center-left > *,
.uk-navbar-center-right > * {
  display: flex;
  /* 1 */
  align-items: center;
}

/*
 * Horizontal alignment
 * 1. Create position context for centered navbar with sub groups (left/right)
 * 2. Fix text wrapping if content is larger than 50% of the container.
 * 3. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 4. Align sub groups for centered navbar
 */
.uk-navbar-right {
  margin-left: auto;
}

.uk-navbar-center:only-child {
  margin-left: auto;
  margin-right: auto;
  /* 1 */
  position: relative;
}

.uk-navbar-center:not(:only-child) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 2 */
  width: max-content;
  box-sizing: border-box;
  /* 3 */
  z-index: 990;
}

/* 4 */
.uk-navbar-center-left,
.uk-navbar-center-right {
  position: absolute;
  top: 0;
}

.uk-navbar-center-left {
  right: 100%;
}

.uk-navbar-center-right {
  left: 100%;
}

[class*="uk-navbar-center-"] {
  width: max-content;
  box-sizing: border-box;
}

/* Nav
 ========================================================================== */
/*
 * 1. Reset list
 */
.uk-navbar-nav {
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * Allow items to wrap into the next line
 * Only not `absolute` positioned groups
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center:only-child {
  flex-wrap: wrap;
}

/*
 * Items
 * 1. Center content vertically and horizontally
 * 2. Imitate white space gap when using flexbox
 * 3. Dimensions
 * 4. Style
 * 5. Required for `a`
 */
.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  /* 1 */
  display: flex;
  justify-content: center;
  align-items: center;
  /* 2 */
  column-gap: 0.25em;
  /* 3 */
  box-sizing: border-box;
  min-height: 80px;
  padding: 0 15px;
  /* 4 */
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 5 */
  text-decoration: none;
}

/*
 * Nav items
 */
.uk-navbar-nav > li > a {
  color: #999;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/*
 * Hover
 * Apply hover style also if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a[aria-expanded="true"] {
  color: #666;
}

/* OnClick */
.uk-navbar-nav > li > a:active {
  color: #333;
}

/* Active */
.uk-navbar-nav > li.uk-active > a {
  color: #333;
}

/* Item
 ========================================================================== */
.uk-navbar-item {
  color: #666;
}

/*
 * Remove margin from the last-child
 */
.uk-navbar-item > :last-child {
  margin-bottom: 0;
}

/* Toggle
 ========================================================================== */
.uk-navbar-toggle {
  color: #999;
}

.uk-navbar-toggle:hover,
.uk-navbar-toggle[aria-expanded="true"] {
  color: #666;
  text-decoration: none;
}

/*
 * Icon
 * Adopts `uk-icon`
 */
/* Hover */
/* Subtitle
 ========================================================================== */
.uk-navbar-subtitle {
  font-size: 0.875rem;
}

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-dropdown`
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-navbar-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  box-sizing: border-box;
  width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */
.uk-navbar-dropdown.uk-open {
  display: block;
}

/*
 * Direction / Alignment modifiers
 */
/* Direction */
[class*="uk-navbar-dropdown-top"] {
  margin-top: -15px;
}

[class*="uk-navbar-dropdown-bottom"] {
  margin-top: 15px;
}

[class*="uk-navbar-dropdown-left"] {
  margin-left: -15px;
}

[class*="uk-navbar-dropdown-right"] {
  margin-left: 15px;
}

/*
 * Grid
 * Adopts `uk-grid`
 */
/* Gutter Horizontal */
.uk-navbar-dropdown-grid {
  margin-left: -50px;
}

.uk-navbar-dropdown-grid > * {
  padding-left: 50px;
}

/* Gutter Vertical */
.uk-navbar-dropdown-grid > .uk-grid-margin {
  margin-top: 50px;
}

/* Stack */
.uk-navbar-dropdown-stack .uk-navbar-dropdown-grid > * {
  width: 100% !important;
}

/*
 * Width modifier
 */
.uk-navbar-dropdown-width-2:not(.uk-navbar-dropdown-stack) {
  width: 400px;
}

.uk-navbar-dropdown-width-3:not(.uk-navbar-dropdown-stack) {
  width: 600px;
}

.uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) {
  width: 800px;
}

.uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) {
  width: 1000px;
}

/*
 * Dropbar modifier
 */
.uk-navbar-dropdown-dropbar {
  margin-top: 0;
  margin-bottom: 0;
  box-shadow: none;
}

/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-navbar-dropdown-nav {
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-navbar-dropdown-nav > li > a {
  color: #999;
}

/* Hover */
.uk-navbar-dropdown-nav > li > a:hover {
  color: #666;
}

/* Active */
.uk-navbar-dropdown-nav > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-navbar-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-navbar-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-navbar-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-navbar-dropdown-nav .uk-nav-sub a:hover {
  color: #666;
}

.uk-navbar-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Dropbar
 ========================================================================== */
.uk-navbar-dropbar {
  background: #fff;
}

/*
 * Slide modifier
 */
.uk-navbar-dropbar-slide {
  position: absolute;
  z-index: 980;
  left: 0;
  right: 0;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
}

/*
     * Navbar
     */
.uk-navbar-container > .uk-container .uk-navbar-left {
  margin-left: -15px;
  margin-right: -15px;
}

.uk-navbar-container > .uk-container .uk-navbar-right {
  margin-right: -15px;
}

/*
     * Grid Divider
     */
.uk-navbar-dropdown-grid > * {
  position: relative;
}

.uk-navbar-dropdown-grid > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  border-left: 1px solid #e5e5e5;
}

/* Vertical */
.uk-navbar-dropdown-grid.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50px;
  right: 0;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Center items vertically if they have a different height
 * 3. Gutter
 * 4. Reset list
 */
.uk-subnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  align-items: center;
  /* 3 */
  margin-left: -20px;
  /* 4 */
  padding: 0;
  list-style: none;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-subnav > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * Using `:first-child` instead of `a` to support `span` elements for text
 * 1. Center content vertically, e.g. an icon
 * 2. Imitate white space gap when using flexbox
 * 3. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  column-gap: 0.25em;
  /* 3 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover */
.uk-subnav > * > a:hover {
  color: #666;
  text-decoration: none;
}

/* Active */
.uk-subnav > .uk-active > a {
  color: #333;
}

/* Divider modifier
 ========================================================================== */
/*
 * Set gutter
 */
.uk-subnav-divider {
  margin-left: -41px;
}

/*
 * Align items and divider vertically
 */
.uk-subnav-divider > * {
  display: flex;
  align-items: center;
}

/*
 * Divider
 * 1. `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > ::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid transparent;
}

/* 1 */
.uk-subnav-divider > :nth-child(n + 2):not(.uk-first-column)::before {
  border-left-color: #e5e5e5;
}

/* Pill modifier
 ========================================================================== */
.uk-subnav-pill > * > :first-child {
  padding: 5px 10px;
  background: transparent;
  color: #999;
}

/* Hover */
.uk-subnav-pill > * > a:hover {
  background-color: #f8f8f8;
  color: #666;
}

/* OnClick */
.uk-subnav-pill > * > a:active {
  background-color: #f8f8f8;
  color: #666;
}

/* Active */
.uk-subnav-pill > .uk-active > a {
  background-color: #1e87f0;
  color: #fff;
}

/* Disabled
 * The same for all style modifiers
 ========================================================================== */
.uk-subnav > .uk-disabled > a {
  color: #999;
}

/* ========================================================================
   Component: Breadcrumb
 ========================================================================== */
/*
 * Reset list
 */
.uk-breadcrumb {
  padding: 0;
  list-style: none;
}

/*
 * 1. Doesn't generate any box and replaced by child boxes
 */
.uk-breadcrumb > * {
  display: contents;
}

/* Items
 ========================================================================== */
.uk-breadcrumb > * > * {
  font-size: 0.875rem;
  color: #999;
}

/* Hover */
.uk-breadcrumb > * > :hover {
  color: #666;
  text-decoration: none;
}

/* Disabled */
/* Active */
.uk-breadcrumb > :last-child > span,
.uk-breadcrumb > :last-child > a:not([href]) {
  color: #666;
}

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 * 1. Remove space between inline block elements.
 * 2. Style
 */
.uk-breadcrumb > :nth-child(n + 2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  /* 1 */
  margin: 0 20px 0 calc(20px - 4px);
  /* 2 */
  font-size: 0.875rem;
  color: #999;
}

/* ========================================================================
   Component: Pagination
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-pagination {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin-left: 0;
  /* 3 */
  padding: 0;
  list-style: none;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-pagination > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 0;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-pagination > * > * {
  /* 1 */
  display: block;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-pagination > * > :hover {
  color: #666;
  text-decoration: none;
}

/* Active */
.uk-pagination > .uk-active > * {
  color: #666;
}

/* Disabled */
.uk-pagination > .uk-disabled > * {
  color: #999;
}

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-tab {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
  position: relative;
}
.uk-tab::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 0;
  border-bottom: 1px solid #e5e5e5;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-tab > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center content vertically, e.g. an icon
 * 2. Imitate white space gap when using flexbox
 * 3. Center content if a width is set
 * 4. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  column-gap: 0.25em;
  /* 3 */
  justify-content: center;
  /* 4 */
  padding: 5px 10px;
  color: #999;
  border-bottom: 1px solid transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-tab > * > a:hover {
  color: #666;
  text-decoration: none;
}

/* Active */
.uk-tab > .uk-active > a {
  color: #333;
  border-color: #1e87f0;
}

/* Disabled */
.uk-tab > .uk-disabled > a {
  color: #999;
}

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
.uk-tab-bottom::before {
  top: 0;
  bottom: auto;
}

.uk-tab-bottom > * > a {
  border-top: 1px solid transparent;
  border-bottom: none;
}

/*
 * Left + Right
 * 1. Reset Gutter
 */
.uk-tab-left,
.uk-tab-right {
  flex-direction: column;
  /* 1 */
  margin-left: 0;
}

/* 1 */
.uk-tab-left > *,
.uk-tab-right > * {
  padding-left: 0;
}

.uk-tab-left::before {
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  border-left: 1px solid #e5e5e5;
  border-bottom: none;
}

.uk-tab-right::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  border-left: 1px solid #e5e5e5;
  border-bottom: none;
}

.uk-tab-left > * > a {
  justify-content: left;
  border-right: 1px solid transparent;
  border-bottom: none;
}

.uk-tab-right > * > a {
  justify-content: left;
  border-left: 1px solid transparent;
  border-bottom: none;
}

.uk-tab .uk-dropdown {
  margin-left: 30px;
}

/* ========================================================================
   Component: Slidenav
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-slidenav {
  padding: 5px 10px;
  color: rgba(102, 102, 102, 0.5);
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-slidenav:hover {
  color: rgba(102, 102, 102, 0.9);
}

/* OnClick */
.uk-slidenav:active {
  color: rgba(102, 102, 102, 0.5);
}

/* Icon modifier
 ========================================================================== */
/*
 * Previous
 */
/*
 * Next
 */
/* Size modifier
 ========================================================================== */
.uk-slidenav-large {
  padding: 10px 10px;
}

/* Container
 ========================================================================== */
.uk-slidenav-container {
  display: flex;
}

/* ========================================================================
   Component: Dotnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-dotnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -12px;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */
.uk-dotnav > * {
  /* 1 */
  flex: none;
  /* 2 */
  padding-left: 12px;
}

/* Items
 ========================================================================== */
/*
 * Items
 * 1. Hide text if present
 */
.uk-dotnav > * > * {
  display: block;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  /* 1 */
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  border: 1px solid rgba(102, 102, 102, 0.4);
  transition: 0.2s ease-in-out;
  transition-property: background-color, border-color;
}

/* Hover */
.uk-dotnav > * > :hover {
  background-color: rgba(102, 102, 102, 0.6);
  border-color: transparent;
}

/* OnClick */
.uk-dotnav > * > :active {
  background-color: rgba(102, 102, 102, 0.2);
  border-color: transparent;
}

/* Active */
.uk-dotnav > .uk-active > * {
  background-color: rgba(102, 102, 102, 0.6);
  border-color: transparent;
}

/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-dotnav-vertical {
  /* 1 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -12px;
}

/* 2 */
.uk-dotnav-vertical > * {
  padding-left: 0;
  padding-top: 12px;
}

/* ========================================================================
   Component: Thumbnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-thumbnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -15px;
}

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-thumbnav > * {
  /* 1 */
  padding-left: 15px;
}

/* Items
 ========================================================================== */
/*
 * Items
 */
.uk-thumbnav > * > * {
  display: inline-block;
  position: relative;
}
.uk-thumbnav > * > *::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.4);
  transition: background-color 0.1s ease-in-out;
}

/* Hover */
.uk-thumbnav > * > :hover::after {
  background-color: transparent;
}

/* Active */
.uk-thumbnav > .uk-active > *::after {
  background-color: transparent;
}

/* Modifier: 'uk-thumbnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-thumbnav-vertical {
  /* 1 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px;
}

/* 2 */
.uk-thumbnav-vertical > * {
  padding-left: 0;
  padding-top: 15px;
}

/* ========================================================================
   Component: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-iconnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -10px;
}

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-iconnav > * {
  /* 1 */
  padding-left: 10px;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center content vertically if there is still some text
 * 2. Imitate white space gap when using flexbox
 * 3. Force text not to affect item height
 * 4. Style
 * 5. Required for `a` if there is still some text
 */
.uk-iconnav > * > a {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  column-gap: 0.25em;
  /* 3 */
  line-height: 0;
  /* 4 */
  color: #999;
  /* 5 */
  text-decoration: none;
  font-size: 0.875rem;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover */
.uk-iconnav > * > a:hover {
  color: #666;
}

/* Active */
.uk-iconnav > .uk-active > a {
  color: #666;
}

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-iconnav-vertical {
  /* 1 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -10px;
}

/* 2 */
.uk-iconnav-vertical > * {
  padding-left: 0;
  padding-top: 10px;
}

/* ========================================================================
   Component: Lightbox
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 * 7. Prevent cancellation of pointer events while dragging
 */
.uk-lightbox {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 5 */
  background: #000;
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
  /* 7 */
  touch-action: pinch-zoom;
}

/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */
.uk-lightbox.uk-open {
  display: block;
  /* 2 */
  opacity: 1;
}

/*
 * Focus
 */
.uk-lightbox :focus {
  outline-color: rgba(255, 255, 255, 0.7);
}

.uk-lightbox :focus-visible {
  outline-color: rgba(255, 255, 255, 0.7);
}

/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-lightbox-page {
  overflow: hidden;
}

/* Item
 ========================================================================== */
/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Color needed for spinner icon
 * 4. Optimize animation
 * 5. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 */
.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  justify-content: center;
  align-items: center;
  /* 3 */
  color: rgba(255, 255, 255, 0.7);
  /* 4 */
  will-change: transform, opacity;
}

/* 5 */
.uk-lightbox-items > * > * {
  max-width: 100vw;
  max-height: 100vh;
}

.uk-lightbox-items > * > :not(iframe) {
  width: auto;
  height: auto;
}

.uk-lightbox-items > .uk-active {
  display: flex;
}

/* Toolbar
 ========================================================================== */
.uk-lightbox-toolbar {
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
}

.uk-lightbox-toolbar > * {
  color: rgba(255, 255, 255, 0.7);
}

/* Toolbar Icon (Close)
 ========================================================================== */
.uk-lightbox-toolbar-icon {
  padding: 5px;
  color: rgba(255, 255, 255, 0.7);
}

/*
 * Hover
 */
.uk-lightbox-toolbar-icon:hover {
  color: #fff;
}

/* Button (Slidenav)
 ========================================================================== */
/*
 * 1. Center icon vertically and horizontally
 */
.uk-lightbox-button {
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  /* 1 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/* Hover */
.uk-lightbox-button:hover {
  color: #fff;
}

/* OnClick */
/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
  display: none;
}

/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%;
}

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*="uk-animation-"] {
  animation: 0.5s ease-out both;
}

/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  animation-name: uk-fade;
  animation-duration: 0.8s;
  animation-timing-function: linear;
}

/*
 * Scale
 */
.uk-animation-scale-up {
  animation-name: uk-fade, uk-scale-up;
}

.uk-animation-scale-down {
  animation-name: uk-fade, uk-scale-down;
}

/*
 * Slide
 */
.uk-animation-slide-top {
  animation-name: uk-fade, uk-slide-top;
}

.uk-animation-slide-bottom {
  animation-name: uk-fade, uk-slide-bottom;
}

.uk-animation-slide-left {
  animation-name: uk-fade, uk-slide-left;
}

.uk-animation-slide-right {
  animation-name: uk-fade, uk-slide-right;
}

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  animation-name: uk-fade, uk-slide-top-small;
}

.uk-animation-slide-bottom-small {
  animation-name: uk-fade, uk-slide-bottom-small;
}

.uk-animation-slide-left-small {
  animation-name: uk-fade, uk-slide-left-small;
}

.uk-animation-slide-right-small {
  animation-name: uk-fade, uk-slide-right-small;
}

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  animation-name: uk-fade, uk-slide-top-medium;
}

.uk-animation-slide-bottom-medium {
  animation-name: uk-fade, uk-slide-bottom-medium;
}

.uk-animation-slide-left-medium {
  animation-name: uk-fade, uk-slide-left-medium;
}

.uk-animation-slide-right-medium {
  animation-name: uk-fade, uk-slide-right-medium;
}

/*
 * Kenburns
 */
.uk-animation-kenburns {
  animation-name: uk-kenburns;
  animation-duration: 15s;
}

/*
 * Shake
 */
.uk-animation-shake {
  animation-name: uk-shake;
}

/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  animation-name: uk-stroke;
  animation-duration: 2s;
  stroke-dasharray: var(--uk-animation-stroke);
}

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  animation-timing-function: ease-in;
}

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  animation-duration: 0.1s;
}

/* Toggle animation based on the State of the Parent Element
 ========================================================================== */
.uk-animation-toggle:not(:hover):not(:focus) [class*="uk-animation-"] {
  animation-name: none;
}

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*
 * Scale
 */
@keyframes uk-scale-up {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes uk-scale-down {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

/*
 * Slide
 */
@keyframes uk-slide-top {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes uk-slide-bottom {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes uk-slide-left {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes uk-slide-right {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

/*
 * Slide Small
 */
@keyframes uk-slide-top-small {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes uk-slide-bottom-small {
  0% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes uk-slide-left-small {
  0% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes uk-slide-right-small {
  0% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}

/*
 * Slide Medium
 */
@keyframes uk-slide-top-medium {
  0% {
    transform: translateY(-50px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes uk-slide-bottom-medium {
  0% {
    transform: translateY(50px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes uk-slide-left-medium {
  0% {
    transform: translateX(-50px);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes uk-slide-right-medium {
  0% {
    transform: translateX(50px);
  }
  100% {
    transform: translateX(0);
  }
}

/*
 * Kenburns
 */
@keyframes uk-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

/*
 * Shake
 */
@keyframes uk-shake {
  0%,
  100% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-9px);
  }
  20% {
    transform: translateX(8px);
  }
  30% {
    transform: translateX(-7px);
  }
  40% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(-5px);
  }
  60% {
    transform: translateX(4px);
  }
  70% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
  90% {
    transform: translateX(-1px);
  }
}

/*
 * Stroke
 */
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke);
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*="uk-child-width"] > * {
  box-sizing: border-box;
  width: 100%;
}

.uk-child-width-1-2 > * {
  width: 50%;
}

.uk-child-width-1-3 > * {
  width: calc(100% * 1 / 3.001);
}

.uk-child-width-1-4 > * {
  width: 25%;
}

.uk-child-width-1-5 > * {
  width: 20%;
}

.uk-child-width-1-6 > * {
  width: calc(100% * 1 / 6.001);
}

.uk-child-width-auto > * {
  width: auto;
}

/*
 * 1. Reset the `min-width`, which is set to auto by default, because
 *    flex items won't shrink below their minimum intrinsic content size.
 *    Using `1px` instead of `0`, so items still wrap into the next line,
 *    if they have zero width and padding and the predecessor is 100% wide.
 */
.uk-child-width-expand > :not([class*="uk-width"]) {
  flex: 1;
  /* 1 */
  min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-child-width-1-1\@s > * {
    width: 100%;
  }
  .uk-child-width-1-2\@s > * {
    width: 50%;
  }
  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@s > * {
    width: 25%;
  }
  .uk-child-width-1-5\@s > * {
    width: 20%;
  }
  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@s > * {
    width: auto;
  }
  .uk-child-width-expand\@s > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-child-width-1-1\@m > * {
    width: 100%;
  }
  .uk-child-width-1-2\@m > * {
    width: 50%;
  }
  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@m > * {
    width: 25%;
  }
  .uk-child-width-1-5\@m > * {
    width: 20%;
  }
  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@m > * {
    width: auto;
  }
  .uk-child-width-expand\@m > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%;
  }
  .uk-child-width-1-2\@l > * {
    width: 50%;
  }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@l > * {
    width: 25%;
  }
  .uk-child-width-1-5\@l > * {
    width: 20%;
  }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@l > * {
    width: auto;
  }
  .uk-child-width-expand\@l > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%;
  }
  .uk-child-width-1-2\@xl > * {
    width: 50%;
  }
  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@xl > * {
    width: 25%;
  }
  .uk-child-width-1-5\@xl > * {
    width: 20%;
  }
  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@xl > * {
    width: auto;
  }
  .uk-child-width-expand\@xl > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}

/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*="uk-width"] {
  box-sizing: border-box;
  width: 100%;
  /* 1 */
  max-width: 100%;
}

/* Halves */
.uk-width-1-2 {
  width: 50%;
}

/* Thirds */
.uk-width-1-3 {
  width: calc(100% * 1 / 3.001);
}

.uk-width-2-3 {
  width: calc(100% * 2 / 3.001);
}

/* Quarters */
.uk-width-1-4 {
  width: 25%;
}

.uk-width-3-4 {
  width: 75%;
}

/* Fifths */
.uk-width-1-5 {
  width: 20%;
}

.uk-width-2-5 {
  width: 40%;
}

.uk-width-3-5 {
  width: 60%;
}

.uk-width-4-5 {
  width: 80%;
}

/* Sixths */
.uk-width-1-6 {
  width: calc(100% * 1 / 6.001);
}

.uk-width-5-6 {
  width: calc(100% * 5 / 6.001);
}

/* Pixel */
.uk-width-small {
  width: 150px;
}

.uk-width-medium {
  width: 300px;
}

.uk-width-large {
  width: 450px;
}

.uk-width-xlarge {
  width: 600px;
}

.uk-width-2xlarge {
  width: 750px;
}

/* Auto */
.uk-width-auto {
  width: auto;
}

/* Expand */
.uk-width-expand {
  flex: 1;
  min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  /* Whole */
  .uk-width-1-1\@s {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@s {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@s {
    width: 25%;
  }
  .uk-width-3-4\@s {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@s {
    width: 20%;
  }
  .uk-width-2-5\@s {
    width: 40%;
  }
  .uk-width-3-5\@s {
    width: 60%;
  }
  .uk-width-4-5\@s {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@s {
    width: 150px;
  }
  .uk-width-medium\@s {
    width: 300px;
  }
  .uk-width-large\@s {
    width: 450px;
  }
  .uk-width-xlarge\@s {
    width: 600px;
  }
  .uk-width-2xlarge\@s {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@s {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@s {
    flex: 1;
    min-width: 1px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  /* Whole */
  .uk-width-1-1\@m {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@m {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@m {
    width: 25%;
  }
  .uk-width-3-4\@m {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@m {
    width: 20%;
  }
  .uk-width-2-5\@m {
    width: 40%;
  }
  .uk-width-3-5\@m {
    width: 60%;
  }
  .uk-width-4-5\@m {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@m {
    width: 150px;
  }
  .uk-width-medium\@m {
    width: 300px;
  }
  .uk-width-large\@m {
    width: 450px;
  }
  .uk-width-xlarge\@m {
    width: 600px;
  }
  .uk-width-2xlarge\@m {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@m {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@m {
    flex: 1;
    min-width: 1px;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@l {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%;
  }
  .uk-width-3-4\@l {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%;
  }
  .uk-width-2-5\@l {
    width: 40%;
  }
  .uk-width-3-5\@l {
    width: 60%;
  }
  .uk-width-4-5\@l {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@l {
    width: 150px;
  }
  .uk-width-medium\@l {
    width: 300px;
  }
  .uk-width-large\@l {
    width: 450px;
  }
  .uk-width-xlarge\@l {
    width: 600px;
  }
  .uk-width-2xlarge\@l {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@l {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@l {
    flex: 1;
    min-width: 1px;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  /* Whole */
  .uk-width-1-1\@xl {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@xl {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@xl {
    width: 25%;
  }
  .uk-width-3-4\@xl {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@xl {
    width: 20%;
  }
  .uk-width-2-5\@xl {
    width: 40%;
  }
  .uk-width-3-5\@xl {
    width: 60%;
  }
  .uk-width-4-5\@xl {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@xl {
    width: 150px;
  }
  .uk-width-medium\@xl {
    width: 300px;
  }
  .uk-width-large\@xl {
    width: 450px;
  }
  .uk-width-xlarge\@xl {
    width: 600px;
  }
  .uk-width-2xlarge\@xl {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@xl {
    flex: 1;
    min-width: 1px;
  }
}

/* ========================================================================
   Component: Height
 ========================================================================== */
[class*="uk-height"] {
  box-sizing: border-box;
}

/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%;
}

/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh;
}

/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px;
}

.uk-height-medium {
  height: 300px;
}

.uk-height-large {
  height: 450px;
}

.uk-height-max-small {
  max-height: 150px;
}

.uk-height-max-medium {
  max-height: 300px;
}

.uk-height-max-large {
  max-height: 450px;
}

/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333;
}

.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}
.uk-text-meta a {
  color: #999;
}
.uk-text-meta a:hover {
  color: #666;
  text-decoration: none;
}

/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5;
}

.uk-text-large {
  font-size: 1.5rem;
  line-height: 1.5;
}

.uk-text-default {
  font-size: 16px;
  line-height: 1.5;
}

/* Weight modifier
 ========================================================================== */
.uk-text-light {
  font-weight: 300;
}

.uk-text-normal {
  font-weight: 400;
}

.uk-text-bold {
  font-weight: 700;
}

.uk-text-lighter {
  font-weight: lighter;
}

.uk-text-bolder {
  font-weight: bolder;
}

/* Style modifier
 ========================================================================== */
.uk-text-italic {
  font-style: italic;
}

/* Transform modifier
 ========================================================================== */
.uk-text-capitalize {
  text-transform: capitalize !important;
}

.uk-text-uppercase {
  text-transform: uppercase !important;
}

.uk-text-lowercase {
  text-transform: lowercase !important;
}

/* Decoration modifier
 ========================================================================== */
.uk-text-decoration-none {
  text-decoration: none !important;
}

/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #999 !important;
}

.uk-text-emphasis {
  color: #333 !important;
}

.uk-text-primary {
  color: #1e87f0 !important;
}

.uk-text-secondary {
  color: #222 !important;
}

.uk-text-success {
  color: #32d296 !important;
}

.uk-text-warning {
  color: #faa05a !important;
}

.uk-text-danger {
  color: #f0506e !important;
}

/* Background modifier
 ========================================================================== */
/*
 * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
 *    Default color is set to transparent
 * 2. Container fits the text
 * 3. Fallback color for IE11
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #1e87f0 !important;
}

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #1e87f0;
    color: transparent !important;
  }
}

/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
  text-align: left !important;
}

.uk-text-right {
  text-align: right !important;
}

.uk-text-center {
  text-align: center !important;
}

.uk-text-justify {
  text-align: justify !important;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-text-left\@s {
    text-align: left !important;
  }
  .uk-text-right\@s {
    text-align: right !important;
  }
  .uk-text-center\@s {
    text-align: center !important;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-text-left\@m {
    text-align: left !important;
  }
  .uk-text-right\@m {
    text-align: right !important;
  }
  .uk-text-center\@m {
    text-align: center !important;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-text-left\@l {
    text-align: left !important;
  }
  .uk-text-right\@l {
    text-align: right !important;
  }
  .uk-text-center\@l {
    text-align: center !important;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-text-left\@xl {
    text-align: left !important;
  }
  .uk-text-right\@xl {
    text-align: right !important;
  }
  .uk-text-center\@xl {
    text-align: center !important;
  }
}

/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important;
}

.uk-text-middle {
  vertical-align: middle !important;
}

.uk-text-bottom {
  vertical-align: bottom !important;
}

.uk-text-baseline {
  vertical-align: baseline !important;
}

/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap;
}

/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0;
}

/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
 *    Must use `break-all` to support IE11 and Edge
 * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word;
}

/* 3 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all;
}

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*="uk-column-"] {
  column-gap: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*="uk-column-"] {
    column-gap: 40px;
  }
}

/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*="uk-column-"] img {
  transform: translate3d(0, 0, 0);
}

/* Divider
 ========================================================================== */
/*
 * 1. Double the column gap
 */
.uk-column-divider {
  column-rule: 1px solid #e5e5e5;
  /* 1 */
  column-gap: 60px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    column-gap: 80px;
  }
}

/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  column-count: 2;
}

.uk-column-1-3 {
  column-count: 3;
}

.uk-column-1-4 {
  column-count: 4;
}

.uk-column-1-5 {
  column-count: 5;
}

.uk-column-1-6 {
  column-count: 6;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-column-1-2\@s {
    column-count: 2;
  }
  .uk-column-1-3\@s {
    column-count: 3;
  }
  .uk-column-1-4\@s {
    column-count: 4;
  }
  .uk-column-1-5\@s {
    column-count: 5;
  }
  .uk-column-1-6\@s {
    column-count: 6;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-column-1-2\@m {
    column-count: 2;
  }
  .uk-column-1-3\@m {
    column-count: 3;
  }
  .uk-column-1-4\@m {
    column-count: 4;
  }
  .uk-column-1-5\@m {
    column-count: 5;
  }
  .uk-column-1-6\@m {
    column-count: 6;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    column-count: 2;
  }
  .uk-column-1-3\@l {
    column-count: 3;
  }
  .uk-column-1-4\@l {
    column-count: 4;
  }
  .uk-column-1-5\@l {
    column-count: 5;
  }
  .uk-column-1-6\@l {
    column-count: 6;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    column-count: 2;
  }
  .uk-column-1-3\@xl {
    column-count: 3;
  }
  .uk-column-1-4\@xl {
    column-count: 4;
  }
  .uk-column-1-5\@xl {
    column-count: 5;
  }
  .uk-column-1-6\@xl {
    column-count: 6;
  }
}

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  column-span: all;
}

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Apply transform instantly. Needed if transform is transitioned.
 * 2. Reset responsiveness for embedded content
 * 3. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover,
[uk-cover] {
  /* 2 */
  max-width: none;
  /* 3 */
  position: absolute;
  left: 50%;
  top: 50%;
  --uk-position-translate-x: -50%;
  --uk-position-translate-y: -50%;
  transform: translate(
    var(--uk-position-translate-x),
    var(--uk-position-translate-y)
  );
}

iframe.uk-cover {
  pointer-events: none;
}

/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative;
}

/* ========================================================================
   Component: Background
 ========================================================================== */
/* Color
 ========================================================================== */
.uk-background-default {
  background-color: #fff;
}

.uk-background-muted {
  background-color: #f8f8f8;
}

.uk-background-primary {
  background-color: #1e87f0;
}

.uk-background-secondary {
  background-color: #222;
}

/* Size
 ========================================================================== */
.uk-background-cover,
.uk-background-contain,
.uk-background-width-1-1,
.uk-background-height-1-1 {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.uk-background-cover {
  background-size: cover;
}

.uk-background-contain {
  background-size: contain;
}

.uk-background-width-1-1 {
  background-size: 100%;
}

.uk-background-height-1-1 {
  background-size: auto 100%;
}

/* Position
 ========================================================================== */
.uk-background-top-left {
  background-position: 0 0;
}

.uk-background-top-center {
  background-position: 50% 0;
}

.uk-background-top-right {
  background-position: 100% 0;
}

.uk-background-center-left {
  background-position: 0 50%;
}

.uk-background-center-center {
  background-position: 50% 50%;
}

.uk-background-center-right {
  background-position: 100% 50%;
}

.uk-background-bottom-left {
  background-position: 0 100%;
}

.uk-background-bottom-center {
  background-position: 50% 100%;
}

.uk-background-bottom-right {
  background-position: 100% 100%;
}

/* Repeat
 ========================================================================== */
.uk-background-norepeat {
  background-repeat: no-repeat;
}

/* Attachment
 ========================================================================== */
/*
 * 1. Fix bug introduced in Chrome 67: the background image is not visible if any element on the page uses `translate3d`
 */
.uk-background-fixed {
  background-attachment: fixed;
  /* 1 */
  backface-visibility: hidden;
}

/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */
@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll;
  }
}

/* Image
 ========================================================================== */
/* Phone portrait and smaller */
@media (max-width: 639px) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}

/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-background-image\@m {
    background-image: none !important;
  }
}

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-background-image\@l {
    background-image: none !important;
  }
}

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-background-image\@xl {
    background-image: none !important;
  }
}

/* Blend modes
 ========================================================================== */
.uk-background-blend-multiply {
  background-blend-mode: multiply;
}

.uk-background-blend-screen {
  background-blend-mode: screen;
}

.uk-background-blend-overlay {
  background-blend-mode: overlay;
}

.uk-background-blend-darken {
  background-blend-mode: darken;
}

.uk-background-blend-lighten {
  background-blend-mode: lighten;
}

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge;
}

.uk-background-blend-color-burn {
  background-blend-mode: color-burn;
}

.uk-background-blend-hard-light {
  background-blend-mode: hard-light;
}

.uk-background-blend-soft-light {
  background-blend-mode: soft-light;
}

.uk-background-blend-difference {
  background-blend-mode: difference;
}

.uk-background-blend-exclusion {
  background-blend-mode: exclusion;
}

.uk-background-blend-hue {
  background-blend-mode: hue;
}

.uk-background-blend-saturation {
  background-blend-mode: saturation;
}

.uk-background-blend-color {
  background-blend-mode: color;
}

.uk-background-blend-luminosity {
  background-blend-mode: luminosity;
}

/* ========================================================================
   Component: Align
 ========================================================================== */
/*
 * Default
 */
[class*="uk-align"] {
  display: block;
  margin-bottom: 30px;
}

* + [class*="uk-align"] {
  margin-top: 30px;
}

/*
 * Center
 */
.uk-align-center {
  margin-left: auto;
  margin-right: auto;
}

/*
 * Left/Right
 */
.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left;
}

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-align-left\@s {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }
  .uk-align-right\@s {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-align-left\@m {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }
  .uk-align-right\@m {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left;
  }
  .uk-align-right\@l {
    margin-top: 0;
    float: right;
  }
  .uk-align-left,
  .uk-align-left\@s,
  .uk-align-left\@m,
  .uk-align-left\@l {
    margin-right: 40px;
  }
  .uk-align-right,
  .uk-align-right\@s,
  .uk-align-right\@m,
  .uk-align-right\@l {
    margin-left: 40px;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left;
  }
  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right;
  }
}

/* ========================================================================
   Component: SVG
 ========================================================================== */
/*
 * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 2. Set the fill and stroke color of all SVG elements to the current text color
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*="#"]:not(.uk-preserve) {
  fill: currentcolor;
}

.uk-svg:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
  stroke: currentcolor;
}

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-svg {
  transform: translate(0, 0);
}

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  display: flow-root;
  position: relative;
  box-sizing: border-box;
}

/*
 * Remove margin from the last-child
 */
.uk-panel > :last-child {
  margin-bottom: 0;
}

/*
 * Scrollable
 */
.uk-panel-scrollable {
  height: 170px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  resize: both;
}

/* Clearfix
 ========================================================================== */
/*
 * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
 * 2. `table` is used again with `::after` because `clear` only works with block elements.
 * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
 */
/* 1 */
.uk-clearfix::before {
  content: "";
  display: table-cell;
}

/* 2 */
.uk-clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* Float
 ========================================================================== */
/*
 * 1. Prevent content overflow
 */
.uk-float-left {
  float: left;
}

.uk-float-right {
  float: right;
}

/* 1 */
[class*="uk-float-"] {
  max-width: 100%;
}

/* Overfow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden;
}

/*
 * Enable scrollbars if content is clipped
 * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
 */
.uk-overflow-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.uk-overflow-auto > :last-child {
  margin-bottom: 0;
}

/* Resize
 ========================================================================== */
.uk-resize {
  resize: both;
}

.uk-resize-vertical {
  resize: vertical;
}

/* Display
 ========================================================================== */
.uk-display-block {
  display: block !important;
}

.uk-display-inline {
  display: inline !important;
}

.uk-display-inline-block {
  display: inline-block !important;
}

/* Inline
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 * 5. Force new layer without creating a new stacking context
 *    to fix 1px glitch when combined with overlays and transitions in Webkit
 * 6. Clip child elements
 */
[class*="uk-inline"] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  -webkit-backface-visibility: hidden;
}

.uk-inline-clip {
  /* 6 */
  overflow: hidden;
}

/* Responsive objects
 ========================================================================== */
/*
 * Preserve original dimensions
 * Because `img, `video`, `canvas` and  `audio` are already responsive by default, see Base component
 */
.uk-preserve-width,
.uk-preserve-width canvas,
.uk-preserve-width img,
.uk-preserve-width svg,
.uk-preserve-width video {
  max-width: none;
}

/*
 * Responsiveness
 * Corrects `max-width` and `max-height` behavior if padding and border are used
 */
.uk-responsive-width,
.uk-responsive-height {
  box-sizing: border-box;
}

/*
 * 1. Set a maximum width. `important` needed to override `uk-preserve-width img`
 * 2. Auto scale the height. Only needed if `height` attribute is present
 */
.uk-responsive-width {
  /* 1 */
  max-width: 100% !important;
  /* 2 */
  height: auto;
}

/*
 * 1. Set a maximum height. Only works if the parent element has a fixed height
 * 2. Auto scale the width. Only needed if `width` attribute is present
 * 3. Reset max-width, which `img, `video`, `canvas` and  `audio` already have by default
 */
.uk-responsive-height {
  /* 1 */
  max-height: 100%;
  /* 2 */
  width: auto;
  /* 3 */
  max-width: none;
}

/* Border
 ========================================================================== */
.uk-border-circle {
  border-radius: 50%;
}

.uk-border-pill {
  border-radius: 500px;
}

.uk-border-rounded {
  border-radius: 5px;
}

/*
 * Fix `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
 */
.uk-inline-clip[class*="uk-border-"] {
  -webkit-transform: translateZ(0);
}

/* Box-shadow
 ========================================================================== */
.uk-box-shadow-small {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-medium {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-large {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-xlarge {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/*
 * Hover
 */
[class*="uk-box-shadow-hover"] {
  transition: box-shadow 0.1s ease-in-out;
}

.uk-box-shadow-hover-small:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-medium:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-large:hover {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-hover-xlarge:hover {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/* Box-shadow bottom
 ========================================================================== */
/*
 * 1. Set position.
 * 2. Set style
 * 3. Fix shadow being clipped in Safari if container is animated
 */
@supports (filter: blur(0)) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    z-index: 0;
    max-width: 100%;
    vertical-align: middle;
  }
  .uk-box-shadow-bottom::after {
    content: "";
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    z-index: -1;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    filter: blur(20px);
    /* 3 */
    will-change: filter;
  }
}

/* Drop cap
 ========================================================================== */
/*
 * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=214004
 * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=317933
 * 3. Caused by 1.: Edge creates two nested `::first-letter` containers, one for each selector
 *    This doubles the `font-size` exponential when using the `em` unit.
 */
.uk-dropcap::first-letter,
.uk-dropcap > p:first-of-type::first-letter {
  display: block;
  margin-right: 10px;
  float: left;
  font-size: 4.5em;
  line-height: 1;
  margin-bottom: -2px;
}

/* 2 */
@-moz-document url-prefix() {
  .uk-dropcap::first-letter,
  .uk-dropcap > p:first-of-type::first-letter {
    margin-top: 1.1%;
  }
}

/* 3 */
@supports (-ms-ime-align: auto) {
  .uk-dropcap > p:first-of-type::first-letter {
    font-size: 1em;
  }
}

/* Logo
 ========================================================================== */
/*
 * 1. Required for `a`
 */
.uk-logo {
  font-size: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #333;
  /* 1 */
  text-decoration: none;
}

/* Hover */
.uk-logo:hover {
  color: #333;
  /* 1 */
  text-decoration: none;
}

.uk-logo > :where(img, svg, video) {
  display: block;
}

.uk-logo-inverse {
  display: none;
}

/* Disabled State
 ========================================================================== */
.uk-disabled {
  pointer-events: none;
}

/* Drag State
 ========================================================================== */
/*
 * 1. Needed if moving over elements with have their own cursor on hover, e.g. links or buttons
 * 2. Fix dragging over iframes
 */
.uk-drag,
.uk-drag * {
  cursor: move;
}

/* 2 */
.uk-drag iframe {
  pointer-events: none;
}

/* Dragover State
 ========================================================================== */
/*
 * Create a box-shadow when dragging a file over the upload area
 */
.uk-dragover {
  box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
}

/* Blend modes
 ========================================================================== */
.uk-blend-multiply {
  mix-blend-mode: multiply;
}

.uk-blend-screen {
  mix-blend-mode: screen;
}

.uk-blend-overlay {
  mix-blend-mode: overlay;
}

.uk-blend-darken {
  mix-blend-mode: darken;
}

.uk-blend-lighten {
  mix-blend-mode: lighten;
}

.uk-blend-color-dodge {
  mix-blend-mode: color-dodge;
}

.uk-blend-color-burn {
  mix-blend-mode: color-burn;
}

.uk-blend-hard-light {
  mix-blend-mode: hard-light;
}

.uk-blend-soft-light {
  mix-blend-mode: soft-light;
}

.uk-blend-difference {
  mix-blend-mode: difference;
}

.uk-blend-exclusion {
  mix-blend-mode: exclusion;
}

.uk-blend-hue {
  mix-blend-mode: hue;
}

.uk-blend-saturation {
  mix-blend-mode: saturation;
}

.uk-blend-color {
  mix-blend-mode: color;
}

.uk-blend-luminosity {
  mix-blend-mode: luminosity;
}

/* Transform
========================================================================== */
.uk-transform-center {
  transform: translate(-50%, -50%);
}

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  transform-origin: 0 0;
}

.uk-transform-origin-top-center {
  transform-origin: 50% 0;
}

.uk-transform-origin-top-right {
  transform-origin: 100% 0;
}

.uk-transform-origin-center-left {
  transform-origin: 0 50%;
}

.uk-transform-origin-center-right {
  transform-origin: 100% 50%;
}

.uk-transform-origin-bottom-left {
  transform-origin: 0 100%;
}

.uk-transform-origin-bottom-center {
  transform-origin: 50% 100%;
}

.uk-transform-origin-bottom-right {
  transform-origin: 100% 100%;
}

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: flex;
}

.uk-flex-inline {
  display: inline-flex;
}

/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
  display: none;
}

/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  justify-content: flex-start;
}

.uk-flex-center {
  justify-content: center;
}

.uk-flex-right {
  justify-content: flex-end;
}

.uk-flex-between {
  justify-content: space-between;
}

.uk-flex-around {
  justify-content: space-around;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-left\@s {
    justify-content: flex-start;
  }
  .uk-flex-center\@s {
    justify-content: center;
  }
  .uk-flex-right\@s {
    justify-content: flex-end;
  }
  .uk-flex-between\@s {
    justify-content: space-between;
  }
  .uk-flex-around\@s {
    justify-content: space-around;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-left\@m {
    justify-content: flex-start;
  }
  .uk-flex-center\@m {
    justify-content: center;
  }
  .uk-flex-right\@m {
    justify-content: flex-end;
  }
  .uk-flex-between\@m {
    justify-content: space-between;
  }
  .uk-flex-around\@m {
    justify-content: space-around;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@l {
    justify-content: flex-start;
  }
  .uk-flex-center\@l {
    justify-content: center;
  }
  .uk-flex-right\@l {
    justify-content: flex-end;
  }
  .uk-flex-between\@l {
    justify-content: space-between;
  }
  .uk-flex-around\@l {
    justify-content: space-around;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    justify-content: flex-start;
  }
  .uk-flex-center\@xl {
    justify-content: center;
  }
  .uk-flex-right\@xl {
    justify-content: flex-end;
  }
  .uk-flex-between\@xl {
    justify-content: space-between;
  }
  .uk-flex-around\@xl {
    justify-content: space-around;
  }
}

/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  align-items: stretch;
}

.uk-flex-top {
  align-items: flex-start;
}

.uk-flex-middle {
  align-items: center;
}

.uk-flex-bottom {
  align-items: flex-end;
}

/* Direction
 ========================================================================== */
.uk-flex-row {
  flex-direction: row;
}

.uk-flex-row-reverse {
  flex-direction: row-reverse;
}

.uk-flex-column {
  flex-direction: column;
}

.uk-flex-column-reverse {
  flex-direction: column-reverse;
}

/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  flex-wrap: nowrap;
}

.uk-flex-wrap {
  flex-wrap: wrap;
}

.uk-flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
  align-content: stretch;
}

.uk-flex-wrap-top {
  align-content: flex-start;
}

.uk-flex-wrap-middle {
  align-content: center;
}

.uk-flex-wrap-bottom {
  align-content: flex-end;
}

.uk-flex-wrap-between {
  align-content: space-between;
}

.uk-flex-wrap-around {
  align-content: space-around;
}

/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  order: -1;
}

.uk-flex-last {
  order: 99;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-first\@s {
    order: -1;
  }
  .uk-flex-last\@s {
    order: 99;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-flex-first\@m {
    order: -1;
  }
  .uk-flex-last\@m {
    order: 99;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@l {
    order: -1;
  }
  .uk-flex-last\@l {
    order: 99;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    order: -1;
  }
  .uk-flex-last\@xl {
    order: 99;
  }
}

/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  flex: none;
}

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  flex: auto;
}

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  flex: 1;
}

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px;
}

* + .uk-margin {
  margin-top: 20px !important;
}

.uk-margin-top {
  margin-top: 20px !important;
}

.uk-margin-bottom {
  margin-bottom: 20px !important;
}

.uk-margin-left {
  margin-left: 20px !important;
}

.uk-margin-right {
  margin-right: 20px !important;
}

/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px;
}

* + .uk-margin-small {
  margin-top: 10px !important;
}

.uk-margin-small-top {
  margin-top: 10px !important;
}

.uk-margin-small-bottom {
  margin-bottom: 10px !important;
}

.uk-margin-small-left {
  margin-left: 10px !important;
}

.uk-margin-small-right {
  margin-right: 10px !important;
}

/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px;
}

* + .uk-margin-medium {
  margin-top: 40px !important;
}

.uk-margin-medium-top {
  margin-top: 40px !important;
}

.uk-margin-medium-bottom {
  margin-bottom: 40px !important;
}

.uk-margin-medium-left {
  margin-left: 40px !important;
}

.uk-margin-medium-right {
  margin-right: 40px !important;
}

/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px;
}

* + .uk-margin-large {
  margin-top: 40px !important;
}

.uk-margin-large-top {
  margin-top: 40px !important;
}

.uk-margin-large-bottom {
  margin-bottom: 40px !important;
}

.uk-margin-large-left {
  margin-left: 40px !important;
}

.uk-margin-large-right {
  margin-right: 40px !important;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-large {
    margin-bottom: 70px;
  }
  * + .uk-margin-large {
    margin-top: 70px !important;
  }
  .uk-margin-large-top {
    margin-top: 70px !important;
  }
  .uk-margin-large-bottom {
    margin-bottom: 70px !important;
  }
  .uk-margin-large-left {
    margin-left: 70px !important;
  }
  .uk-margin-large-right {
    margin-right: 70px !important;
  }
}

/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px;
}

* + .uk-margin-xlarge {
  margin-top: 70px !important;
}

.uk-margin-xlarge-top {
  margin-top: 70px !important;
}

.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important;
}

.uk-margin-xlarge-left {
  margin-left: 70px !important;
}

.uk-margin-xlarge-right {
  margin-right: 70px !important;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-xlarge {
    margin-bottom: 140px;
  }
  * + .uk-margin-xlarge {
    margin-top: 140px !important;
  }
  .uk-margin-xlarge-top {
    margin-top: 140px !important;
  }
  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important;
  }
  .uk-margin-xlarge-left {
    margin-left: 140px !important;
  }
  .uk-margin-xlarge-right {
    margin-right: 140px !important;
  }
}

/* Auto
 ========================================================================== */
.uk-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.uk-margin-auto-top {
  margin-top: auto !important;
}

.uk-margin-auto-bottom {
  margin-bottom: auto !important;
}

.uk-margin-auto-left {
  margin-left: auto !important;
}

.uk-margin-auto-right {
  margin-right: auto !important;
}

.uk-margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-auto\@s {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .uk-margin-auto-left\@s {
    margin-left: auto !important;
  }
  .uk-margin-auto-right\@s {
    margin-right: auto !important;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-margin-auto\@m {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .uk-margin-auto-left\@m {
    margin-left: auto !important;
  }
  .uk-margin-auto-right\@m {
    margin-right: auto !important;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-auto\@l {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .uk-margin-auto-left\@l {
    margin-left: auto !important;
  }
  .uk-margin-auto-right\@l {
    margin-right: auto !important;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-auto\@xl {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .uk-margin-auto-left\@xl {
    margin-left: auto !important;
  }
  .uk-margin-auto-right\@xl {
    margin-right: auto !important;
  }
}

/* Remove
 ========================================================================== */
.uk-margin-remove {
  margin: 0 !important;
}

.uk-margin-remove-top {
  margin-top: 0 !important;
}

.uk-margin-remove-bottom {
  margin-bottom: 0 !important;
}

.uk-margin-remove-left {
  margin-left: 0 !important;
}

.uk-margin-remove-right {
  margin-right: 0 !important;
}

.uk-margin-remove-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.uk-margin-remove-adjacent + *,
.uk-margin-remove-first-child > :first-child {
  margin-top: 0 !important;
}

.uk-margin-remove-last-child > :last-child {
  margin-bottom: 0 !important;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-remove-left\@s {
    margin-left: 0 !important;
  }
  .uk-margin-remove-right\@s {
    margin-right: 0 !important;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-margin-remove-left\@m {
    margin-left: 0 !important;
  }
  .uk-margin-remove-right\@m {
    margin-right: 0 !important;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-margin-remove-left\@l {
    margin-left: 0 !important;
  }
  .uk-margin-remove-right\@l {
    margin-right: 0 !important;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-margin-remove-left\@xl {
    margin-left: 0 !important;
  }
  .uk-margin-remove-right\@xl {
    margin-right: 0 !important;
  }
}

/* ========================================================================
   Component: Padding
 ========================================================================== */
.uk-padding {
  padding: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding {
    padding: 40px;
  }
}

/* Small
 ========================================================================== */
.uk-padding-small {
  padding: 15px;
}

/* Large
 ========================================================================== */
.uk-padding-large {
  padding: 40px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding-large {
    padding: 70px;
  }
}

/* Remove
 ========================================================================== */
.uk-padding-remove {
  padding: 0 !important;
}

.uk-padding-remove-top {
  padding-top: 0 !important;
}

.uk-padding-remove-bottom {
  padding-bottom: 0 !important;
}

.uk-padding-remove-left {
  padding-left: 0 !important;
}

.uk-padding-remove-right {
  padding-right: 0 !important;
}

.uk-padding-remove-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.uk-padding-remove-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ========================================================================
   Component: Position
 ========================================================================== */
:root {
  --uk-position-margin-offset: 0px;
}

/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow.
 */
[class*="uk-position-top"],
[class*="uk-position-bottom"],
[class*="uk-position-left"],
[class*="uk-position-right"],
[class*="uk-position-center"] {
  position: absolute !important;
  /* 1 */
  max-width: calc(100% - (var(--uk-position-margin-offset) * 2));
  box-sizing: border-box;
}

/*
 * Edges
 * Don't use `width: 100%` because it's wrong if the parent has padding.
 */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0;
}

.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0;
}

.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0;
}

.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0;
}

/*
 * Corners
 */
.uk-position-top-left {
  top: 0;
  left: 0;
}

.uk-position-top-right {
  top: 0;
  right: 0;
}

.uk-position-bottom-left {
  bottom: 0;
  left: 0;
}

.uk-position-bottom-right {
  bottom: 0;
  right: 0;
}

/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 *    Using `max-content` requires `max-width` of 100% which is set generally.
 */
.uk-position-center {
  top: calc(50% - var(--uk-position-margin-offset));
  left: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-x: -50%;
  --uk-position-translate-y: -50%;
  transform: translate(
    var(--uk-position-translate-x),
    var(--uk-position-translate-y)
  );
  /* 1 */
  width: max-content;
}

/* Vertical */
[class*="uk-position-center-left"],
[class*="uk-position-center-right"] {
  top: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-y: -50%;
  transform: translate(0, var(--uk-position-translate-y));
}

.uk-position-center-left {
  left: 0;
}

.uk-position-center-right {
  right: 0;
}

.uk-position-center-left-out {
  right: 100%;
  width: max-content;
}

.uk-position-center-right-out {
  left: 100%;
  width: max-content;
}

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-x: -50%;
  transform: translate(var(--uk-position-translate-x), 0);
  /* 1 */
  width: max-content;
}

.uk-position-top-center {
  top: 0;
}

.uk-position-bottom-center {
  bottom: 0;
}

/*
 * Cover
 */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

/* Margin
 ========================================================================== */
.uk-position-small {
  margin: 15px;
  --uk-position-margin-offset: 15px;
}

.uk-position-medium {
  margin: 30px;
  --uk-position-margin-offset: 30px;
}

.uk-position-large {
  margin: 30px;
  --uk-position-margin-offset: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    margin: 50px;
    --uk-position-margin-offset: 50px;
  }
}

/* Schemes
 ========================================================================== */
.uk-position-relative {
  position: relative !important;
}

.uk-position-absolute {
  position: absolute !important;
}

.uk-position-fixed {
  position: fixed !important;
}

.uk-position-sticky {
  position: sticky !important;
}

/* Layer
 ========================================================================== */
.uk-position-z-index {
  z-index: 1;
}

/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Transitions
 ========================================================================== */
/*
 * The toggle is triggered on touch devices by two methods:
 * 1. Using `:focus` and tabindex
 * 2. Using `:hover` and a `touchstart` event listener registered on the document
 *    (Doesn't work on Surface touch devices)
 */
:where(.uk-transition-fade),
:where([class*="uk-transition-scale"]),
:where([class*="uk-transition-slide"]) {
  --uk-position-translate-x: 0;
  --uk-position-translate-y: 0;
}

.uk-transition-fade,
[class*="uk-transition-scale"],
[class*="uk-transition-slide"] {
  --uk-translate-x: 0;
  --uk-translate-y: 0;
  --uk-scale-x: 1;
  --uk-scale-y: 1;
  transform: translate(
      var(--uk-position-translate-x),
      var(--uk-position-translate-y)
    )
    translate(var(--uk-translate-x), var(--uk-translate-y))
    scale(var(--uk-scale-x), var(--uk-scale-y));
  transition: 0.3s ease-out;
  transition-property: opacity, transform, filter;
  opacity: 0;
}

/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade,
.uk-transition-toggle:focus .uk-transition-fade,
.uk-transition-toggle .uk-transition-fade:focus-within,
.uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1;
}

/*
 * Scale
 * 1. Make image rendering the same during the transition as before and after. Prefixed because of Safari.
 */
/* 1 */
[class*="uk-transition-scale"] {
  -webkit-backface-visibility: hidden;
}

.uk-transition-scale-up {
  --uk-scale-x: 1;
  --uk-scale-y: 1;
}

.uk-transition-scale-down {
  --uk-scale-x: 1.03;
  --uk-scale-y: 1.03;
}

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-toggle .uk-transition-scale-up:focus-within,
.uk-transition-active.uk-active .uk-transition-scale-up {
  --uk-scale-x: 1.03;
  --uk-scale-y: 1.03;
  opacity: 1;
}

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-toggle .uk-transition-scale-down:focus-within,
.uk-transition-active.uk-active .uk-transition-scale-down {
  --uk-scale-x: 1;
  --uk-scale-y: 1;
  opacity: 1;
}

/*
 * Slide
 */
.uk-transition-slide-top {
  --uk-translate-y: -100%;
}

.uk-transition-slide-bottom {
  --uk-translate-y: 100%;
}

.uk-transition-slide-left {
  --uk-translate-x: -100%;
}

.uk-transition-slide-right {
  --uk-translate-x: 100%;
}

.uk-transition-slide-top-small {
  --uk-translate-y: calc(-1 * 10px);
}

.uk-transition-slide-bottom-small {
  --uk-translate-y: 10px;
}

.uk-transition-slide-left-small {
  --uk-translate-x: calc(-1 * 10px);
}

.uk-transition-slide-right-small {
  --uk-translate-x: 10px;
}

.uk-transition-slide-top-medium {
  --uk-translate-y: calc(-1 * 50px);
}

.uk-transition-slide-bottom-medium {
  --uk-translate-y: 50px;
}

.uk-transition-slide-left-medium {
  --uk-translate-x: calc(-1 * 50px);
}

.uk-transition-slide-right-medium {
  --uk-translate-x: 50px;
}

/* Show */
.uk-transition-toggle:hover [class*="uk-transition-slide"],
.uk-transition-toggle:focus [class*="uk-transition-slide"],
.uk-transition-toggle [class*="uk-transition-slide"]:focus-within,
.uk-transition-active.uk-active [class*="uk-transition-slide"] {
  --uk-translate-x: 0;
  --uk-translate-y: 0;
  opacity: 1;
}

/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1;
}

/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  transition-duration: 0.7s;
}

/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden {
  display: none !important;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-hidden\@s {
    display: none !important;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
  .uk-hidden\@m {
    display: none !important;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-hidden\@l {
    display: none !important;
  }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-hidden\@xl {
    display: none !important;
  }
}

/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 639px) {
  .uk-visible\@s {
    display: none !important;
  }
}

/* Phone landscape and smaller */
@media (max-width: 959px) {
  .uk-visible\@m {
    display: none !important;
  }
}

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-visible\@l {
    display: none !important;
  }
}

/* Desktop and smaller */
@media (max-width: 1599px) {
  .uk-visible\@xl {
    display: none !important;
  }
}

/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important;
}

/* Based on the State of the Parent Element
 ========================================================================== */
/*
 * Can't use `display: none` nor `visibility: hidden` because both are not focusable.
 * The target stays visible if any element within receives focus through keyboard.
 */
/*
 * Discard space when hidden.
 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/*
 * Keep space when hidden.
 */
.uk-visible-toggle:not(:hover):not(:focus)
  .uk-invisible-hover:not(:focus-within) {
  opacity: 0 !important;
}

/* Based on Hover Capability of the Pointing Device
 ========================================================================== */
/*
 * Hover
 */
/* Hide if primary pointing device doesn't support hover, e.g. touch screens. */
@media (hover: none) {
  .uk-hidden-touch {
    display: none !important;
  }
}

/* Hide if primary pointing device supports hover, e.g. mice. */
@media (hover) {
  .uk-hidden-notouch {
    display: none !important;
  }
}

/* ========================================================================
   Component: Inverse
 ========================================================================== */
/*
 * Implemented class depends on the general theme color
 * `uk-light` is for light colors on dark backgrounds
 * `uk-dark` is or dark colors on light backgrounds
 */
.uk-light,
.uk-section-primary:not(.uk-preserve-color),
.uk-section-secondary:not(.uk-preserve-color),
.uk-tile-primary:not(.uk-preserve-color),
.uk-tile-secondary:not(.uk-preserve-color),
.uk-card-primary.uk-card-body,
.uk-card-primary > :not([class*="uk-card-media"]),
.uk-card-secondary.uk-card-body,
.uk-card-secondary > :not([class*="uk-card-media"]),
.uk-overlay-primary,
.uk-offcanvas-bar {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light a,
.uk-section-primary:not(.uk-preserve-color) a,
.uk-section-secondary:not(.uk-preserve-color) a,
.uk-tile-primary:not(.uk-preserve-color) a,
.uk-tile-secondary:not(.uk-preserve-color) a,
.uk-card-primary.uk-card-body a,
.uk-card-primary > :not([class*="uk-card-media"]) a,
.uk-card-secondary.uk-card-body a,
.uk-card-secondary > :not([class*="uk-card-media"]) a,
.uk-overlay-primary a,
.uk-offcanvas-bar a,
.uk-light .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link,
.uk-card-primary.uk-card-body .uk-link,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-link,
.uk-card-secondary.uk-card-body .uk-link,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-link,
.uk-overlay-primary .uk-link,
.uk-offcanvas-bar .uk-link {
  color: #fff;
}
.uk-light a:hover,
.uk-section-primary:not(.uk-preserve-color) a:hover,
.uk-section-secondary:not(.uk-preserve-color) a:hover,
.uk-tile-primary:not(.uk-preserve-color) a:hover,
.uk-tile-secondary:not(.uk-preserve-color) a:hover,
.uk-card-primary.uk-card-body a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) a:hover,
.uk-card-secondary.uk-card-body a:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) a:hover,
.uk-overlay-primary a:hover,
.uk-offcanvas-bar a:hover,
.uk-light .uk-link:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover,
.uk-card-primary.uk-card-body .uk-link:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-link:hover,
.uk-card-secondary.uk-card-body .uk-link:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-link:hover,
.uk-overlay-primary .uk-link:hover,
.uk-offcanvas-bar .uk-link:hover,
.uk-light .uk-link-toggle:hover .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link,
.uk-overlay-primary .uk-link-toggle:hover .uk-link,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link {
  color: #fff;
}
.uk-light :not(pre) > code,
.uk-section-primary:not(.uk-preserve-color) :not(pre) > code,
.uk-section-secondary:not(.uk-preserve-color) :not(pre) > code,
.uk-tile-primary:not(.uk-preserve-color) :not(pre) > code,
.uk-tile-secondary:not(.uk-preserve-color) :not(pre) > code,
.uk-card-primary.uk-card-body :not(pre) > code,
.uk-card-primary > :not([class*="uk-card-media"]) :not(pre) > code,
.uk-card-secondary.uk-card-body :not(pre) > code,
.uk-card-secondary > :not([class*="uk-card-media"]) :not(pre) > code,
.uk-overlay-primary :not(pre) > code,
.uk-offcanvas-bar :not(pre) > code,
.uk-light :not(pre) > kbd,
.uk-section-primary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-section-secondary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-tile-primary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-tile-secondary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-card-primary.uk-card-body :not(pre) > kbd,
.uk-card-primary > :not([class*="uk-card-media"]) :not(pre) > kbd,
.uk-card-secondary.uk-card-body :not(pre) > kbd,
.uk-card-secondary > :not([class*="uk-card-media"]) :not(pre) > kbd,
.uk-overlay-primary :not(pre) > kbd,
.uk-offcanvas-bar :not(pre) > kbd,
.uk-light :not(pre) > samp,
.uk-section-primary:not(.uk-preserve-color) :not(pre) > samp,
.uk-section-secondary:not(.uk-preserve-color) :not(pre) > samp,
.uk-tile-primary:not(.uk-preserve-color) :not(pre) > samp,
.uk-tile-secondary:not(.uk-preserve-color) :not(pre) > samp,
.uk-card-primary.uk-card-body :not(pre) > samp,
.uk-card-primary > :not([class*="uk-card-media"]) :not(pre) > samp,
.uk-card-secondary.uk-card-body :not(pre) > samp,
.uk-card-secondary > :not([class*="uk-card-media"]) :not(pre) > samp,
.uk-overlay-primary :not(pre) > samp,
.uk-offcanvas-bar :not(pre) > samp {
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.1);
}
.uk-light em,
.uk-section-primary:not(.uk-preserve-color) em,
.uk-section-secondary:not(.uk-preserve-color) em,
.uk-tile-primary:not(.uk-preserve-color) em,
.uk-tile-secondary:not(.uk-preserve-color) em,
.uk-card-primary.uk-card-body em,
.uk-card-primary > :not([class*="uk-card-media"]) em,
.uk-card-secondary.uk-card-body em,
.uk-card-secondary > :not([class*="uk-card-media"]) em,
.uk-overlay-primary em,
.uk-offcanvas-bar em {
  color: #fff;
}
.uk-light h1,
.uk-section-primary:not(.uk-preserve-color) h1,
.uk-section-secondary:not(.uk-preserve-color) h1,
.uk-tile-primary:not(.uk-preserve-color) h1,
.uk-tile-secondary:not(.uk-preserve-color) h1,
.uk-card-primary.uk-card-body h1,
.uk-card-primary > :not([class*="uk-card-media"]) h1,
.uk-card-secondary.uk-card-body h1,
.uk-card-secondary > :not([class*="uk-card-media"]) h1,
.uk-overlay-primary h1,
.uk-offcanvas-bar h1,
.uk-light .uk-h1,
.uk-section-primary:not(.uk-preserve-color) .uk-h1,
.uk-section-secondary:not(.uk-preserve-color) .uk-h1,
.uk-tile-primary:not(.uk-preserve-color) .uk-h1,
.uk-tile-secondary:not(.uk-preserve-color) .uk-h1,
.uk-card-primary.uk-card-body .uk-h1,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-h1,
.uk-card-secondary.uk-card-body .uk-h1,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-h1,
.uk-overlay-primary .uk-h1,
.uk-offcanvas-bar .uk-h1,
.uk-light h2,
.uk-section-primary:not(.uk-preserve-color) h2,
.uk-section-secondary:not(.uk-preserve-color) h2,
.uk-tile-primary:not(.uk-preserve-color) h2,
.uk-tile-secondary:not(.uk-preserve-color) h2,
.uk-card-primary.uk-card-body h2,
.uk-card-primary > :not([class*="uk-card-media"]) h2,
.uk-card-secondary.uk-card-body h2,
.uk-card-secondary > :not([class*="uk-card-media"]) h2,
.uk-overlay-primary h2,
.uk-offcanvas-bar h2,
.uk-light .uk-h2,
.uk-section-primary:not(.uk-preserve-color) .uk-h2,
.uk-section-secondary:not(.uk-preserve-color) .uk-h2,
.uk-tile-primary:not(.uk-preserve-color) .uk-h2,
.uk-tile-secondary:not(.uk-preserve-color) .uk-h2,
.uk-card-primary.uk-card-body .uk-h2,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-h2,
.uk-card-secondary.uk-card-body .uk-h2,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-h2,
.uk-overlay-primary .uk-h2,
.uk-offcanvas-bar .uk-h2,
.uk-light h3,
.uk-section-primary:not(.uk-preserve-color) h3,
.uk-section-secondary:not(.uk-preserve-color) h3,
.uk-tile-primary:not(.uk-preserve-color) h3,
.uk-tile-secondary:not(.uk-preserve-color) h3,
.uk-card-primary.uk-card-body h3,
.uk-card-primary > :not([class*="uk-card-media"]) h3,
.uk-card-secondary.uk-card-body h3,
.uk-card-secondary > :not([class*="uk-card-media"]) h3,
.uk-overlay-primary h3,
.uk-offcanvas-bar h3,
.uk-light .uk-h3,
.uk-section-primary:not(.uk-preserve-color) .uk-h3,
.uk-section-secondary:not(.uk-preserve-color) .uk-h3,
.uk-tile-primary:not(.uk-preserve-color) .uk-h3,
.uk-tile-secondary:not(.uk-preserve-color) .uk-h3,
.uk-card-primary.uk-card-body .uk-h3,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-h3,
.uk-card-secondary.uk-card-body .uk-h3,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-h3,
.uk-overlay-primary .uk-h3,
.uk-offcanvas-bar .uk-h3,
.uk-light h4,
.uk-section-primary:not(.uk-preserve-color) h4,
.uk-section-secondary:not(.uk-preserve-color) h4,
.uk-tile-primary:not(.uk-preserve-color) h4,
.uk-tile-secondary:not(.uk-preserve-color) h4,
.uk-card-primary.uk-card-body h4,
.uk-card-primary > :not([class*="uk-card-media"]) h4,
.uk-card-secondary.uk-card-body h4,
.uk-card-secondary > :not([class*="uk-card-media"]) h4,
.uk-overlay-primary h4,
.uk-offcanvas-bar h4,
.uk-light .uk-h4,
.uk-section-primary:not(.uk-preserve-color) .uk-h4,
.uk-section-secondary:not(.uk-preserve-color) .uk-h4,
.uk-tile-primary:not(.uk-preserve-color) .uk-h4,
.uk-tile-secondary:not(.uk-preserve-color) .uk-h4,
.uk-card-primary.uk-card-body .uk-h4,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-h4,
.uk-card-secondary.uk-card-body .uk-h4,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-h4,
.uk-overlay-primary .uk-h4,
.uk-offcanvas-bar .uk-h4,
.uk-light h5,
.uk-section-primary:not(.uk-preserve-color) h5,
.uk-section-secondary:not(.uk-preserve-color) h5,
.uk-tile-primary:not(.uk-preserve-color) h5,
.uk-tile-secondary:not(.uk-preserve-color) h5,
.uk-card-primary.uk-card-body h5,
.uk-card-primary > :not([class*="uk-card-media"]) h5,
.uk-card-secondary.uk-card-body h5,
.uk-card-secondary > :not([class*="uk-card-media"]) h5,
.uk-overlay-primary h5,
.uk-offcanvas-bar h5,
.uk-light .uk-h5,
.uk-section-primary:not(.uk-preserve-color) .uk-h5,
.uk-section-secondary:not(.uk-preserve-color) .uk-h5,
.uk-tile-primary:not(.uk-preserve-color) .uk-h5,
.uk-tile-secondary:not(.uk-preserve-color) .uk-h5,
.uk-card-primary.uk-card-body .uk-h5,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-h5,
.uk-card-secondary.uk-card-body .uk-h5,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-h5,
.uk-overlay-primary .uk-h5,
.uk-offcanvas-bar .uk-h5,
.uk-light h6,
.uk-section-primary:not(.uk-preserve-color) h6,
.uk-section-secondary:not(.uk-preserve-color) h6,
.uk-tile-primary:not(.uk-preserve-color) h6,
.uk-tile-secondary:not(.uk-preserve-color) h6,
.uk-card-primary.uk-card-body h6,
.uk-card-primary > :not([class*="uk-card-media"]) h6,
.uk-card-secondary.uk-card-body h6,
.uk-card-secondary > :not([class*="uk-card-media"]) h6,
.uk-overlay-primary h6,
.uk-offcanvas-bar h6,
.uk-light .uk-h6,
.uk-section-primary:not(.uk-preserve-color) .uk-h6,
.uk-section-secondary:not(.uk-preserve-color) .uk-h6,
.uk-tile-primary:not(.uk-preserve-color) .uk-h6,
.uk-tile-secondary:not(.uk-preserve-color) .uk-h6,
.uk-card-primary.uk-card-body .uk-h6,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-h6,
.uk-card-secondary.uk-card-body .uk-h6,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-h6,
.uk-overlay-primary .uk-h6,
.uk-offcanvas-bar .uk-h6,
.uk-light .uk-heading-small,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-small,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-small,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-small,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-small,
.uk-card-primary.uk-card-body .uk-heading-small,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-small,
.uk-card-secondary.uk-card-body .uk-heading-small,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-small,
.uk-overlay-primary .uk-heading-small,
.uk-offcanvas-bar .uk-heading-small,
.uk-light .uk-heading-medium,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-medium,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-medium,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-medium,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-medium,
.uk-card-primary.uk-card-body .uk-heading-medium,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-medium,
.uk-card-secondary.uk-card-body .uk-heading-medium,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-medium,
.uk-overlay-primary .uk-heading-medium,
.uk-offcanvas-bar .uk-heading-medium,
.uk-light .uk-heading-large,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-large,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-large,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-large,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-large,
.uk-card-primary.uk-card-body .uk-heading-large,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-large,
.uk-card-secondary.uk-card-body .uk-heading-large,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-large,
.uk-overlay-primary .uk-heading-large,
.uk-offcanvas-bar .uk-heading-large,
.uk-light .uk-heading-xlarge,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-card-primary.uk-card-body .uk-heading-xlarge,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-xlarge,
.uk-card-secondary.uk-card-body .uk-heading-xlarge,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-xlarge,
.uk-overlay-primary .uk-heading-xlarge,
.uk-offcanvas-bar .uk-heading-xlarge,
.uk-light .uk-heading-2xlarge,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-card-primary.uk-card-body .uk-heading-2xlarge,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-2xlarge,
.uk-card-secondary.uk-card-body .uk-heading-2xlarge,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-2xlarge,
.uk-overlay-primary .uk-heading-2xlarge,
.uk-offcanvas-bar .uk-heading-2xlarge {
  color: #fff;
}
.uk-light blockquote,
.uk-section-primary:not(.uk-preserve-color) blockquote,
.uk-section-secondary:not(.uk-preserve-color) blockquote,
.uk-tile-primary:not(.uk-preserve-color) blockquote,
.uk-tile-secondary:not(.uk-preserve-color) blockquote,
.uk-card-primary.uk-card-body blockquote,
.uk-card-primary > :not([class*="uk-card-media"]) blockquote,
.uk-card-secondary.uk-card-body blockquote,
.uk-card-secondary > :not([class*="uk-card-media"]) blockquote,
.uk-overlay-primary blockquote,
.uk-offcanvas-bar blockquote {
  color: #fff;
}
.uk-light blockquote footer,
.uk-section-primary:not(.uk-preserve-color) blockquote footer,
.uk-section-secondary:not(.uk-preserve-color) blockquote footer,
.uk-tile-primary:not(.uk-preserve-color) blockquote footer,
.uk-tile-secondary:not(.uk-preserve-color) blockquote footer,
.uk-card-primary.uk-card-body blockquote footer,
.uk-card-primary > :not([class*="uk-card-media"]) blockquote footer,
.uk-card-secondary.uk-card-body blockquote footer,
.uk-card-secondary > :not([class*="uk-card-media"]) blockquote footer,
.uk-overlay-primary blockquote footer,
.uk-offcanvas-bar blockquote footer {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light hr,
.uk-section-primary:not(.uk-preserve-color) hr,
.uk-section-secondary:not(.uk-preserve-color) hr,
.uk-tile-primary:not(.uk-preserve-color) hr,
.uk-tile-secondary:not(.uk-preserve-color) hr,
.uk-card-primary.uk-card-body hr,
.uk-card-primary > :not([class*="uk-card-media"]) hr,
.uk-card-secondary.uk-card-body hr,
.uk-card-secondary > :not([class*="uk-card-media"]) hr,
.uk-overlay-primary hr,
.uk-offcanvas-bar hr,
.uk-light .uk-hr,
.uk-section-primary:not(.uk-preserve-color) .uk-hr,
.uk-section-secondary:not(.uk-preserve-color) .uk-hr,
.uk-tile-primary:not(.uk-preserve-color) .uk-hr,
.uk-tile-secondary:not(.uk-preserve-color) .uk-hr,
.uk-card-primary.uk-card-body .uk-hr,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-hr,
.uk-card-secondary.uk-card-body .uk-hr,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-hr,
.uk-overlay-primary .uk-hr,
.uk-offcanvas-bar .uk-hr {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light :focus,
.uk-section-primary:not(.uk-preserve-color) :focus,
.uk-section-secondary:not(.uk-preserve-color) :focus,
.uk-tile-primary:not(.uk-preserve-color) :focus,
.uk-tile-secondary:not(.uk-preserve-color) :focus,
.uk-card-primary.uk-card-body :focus,
.uk-card-primary > :not([class*="uk-card-media"]) :focus,
.uk-card-secondary.uk-card-body :focus,
.uk-card-secondary > :not([class*="uk-card-media"]) :focus,
.uk-overlay-primary :focus,
.uk-offcanvas-bar :focus {
  outline-color: #fff;
}
.uk-light :focus-visible,
.uk-section-primary:not(.uk-preserve-color) :focus-visible,
.uk-section-secondary:not(.uk-preserve-color) :focus-visible,
.uk-tile-primary:not(.uk-preserve-color) :focus-visible,
.uk-tile-secondary:not(.uk-preserve-color) :focus-visible,
.uk-card-primary.uk-card-body :focus-visible,
.uk-card-primary > :not([class*="uk-card-media"]) :focus-visible,
.uk-card-secondary.uk-card-body :focus-visible,
.uk-card-secondary > :not([class*="uk-card-media"]) :focus-visible,
.uk-overlay-primary :focus-visible,
.uk-offcanvas-bar :focus-visible {
  outline-color: #fff;
}
.uk-light a.uk-link-muted,
.uk-section-primary:not(.uk-preserve-color) a.uk-link-muted,
.uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted,
.uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted,
.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted,
.uk-card-primary.uk-card-body a.uk-link-muted,
.uk-card-primary > :not([class*="uk-card-media"]) a.uk-link-muted,
.uk-card-secondary.uk-card-body a.uk-link-muted,
.uk-card-secondary > :not([class*="uk-card-media"]) a.uk-link-muted,
.uk-overlay-primary a.uk-link-muted,
.uk-offcanvas-bar a.uk-link-muted,
.uk-light .uk-link-muted a,
.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a,
.uk-card-primary.uk-card-body .uk-link-muted a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-link-muted a,
.uk-card-secondary.uk-card-body .uk-link-muted a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-link-muted a,
.uk-overlay-primary .uk-link-muted a,
.uk-offcanvas-bar .uk-link-muted a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light a.uk-link-muted:hover,
.uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover,
.uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover,
.uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover,
.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover,
.uk-card-primary.uk-card-body a.uk-link-muted:hover,
.uk-card-primary > :not([class*="uk-card-media"]) a.uk-link-muted:hover,
.uk-card-secondary.uk-card-body a.uk-link-muted:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) a.uk-link-muted:hover,
.uk-overlay-primary a.uk-link-muted:hover,
.uk-offcanvas-bar a.uk-link-muted:hover,
.uk-light .uk-link-muted a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-card-primary.uk-card-body .uk-link-muted a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-link-muted a:hover,
.uk-card-secondary.uk-card-body .uk-link-muted a:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-link-muted a:hover,
.uk-overlay-primary .uk-link-muted a:hover,
.uk-offcanvas-bar .uk-link-muted a:hover,
.uk-light .uk-link-toggle:hover .uk-link-muted,
.uk-section-primary:not(.uk-preserve-color)
  .uk-link-toggle:hover
  .uk-link-muted,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-link-toggle:hover
  .uk-link-muted,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link-muted,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link-muted,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-muted,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-muted {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light a.uk-link-text:hover,
.uk-section-primary:not(.uk-preserve-color) a.uk-link-text:hover,
.uk-section-secondary:not(.uk-preserve-color) a.uk-link-text:hover,
.uk-tile-primary:not(.uk-preserve-color) a.uk-link-text:hover,
.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-text:hover,
.uk-card-primary.uk-card-body a.uk-link-text:hover,
.uk-card-primary > :not([class*="uk-card-media"]) a.uk-link-text:hover,
.uk-card-secondary.uk-card-body a.uk-link-text:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) a.uk-link-text:hover,
.uk-overlay-primary a.uk-link-text:hover,
.uk-offcanvas-bar a.uk-link-text:hover,
.uk-light .uk-link-text a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-card-primary.uk-card-body .uk-link-text a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-link-text a:hover,
.uk-card-secondary.uk-card-body .uk-link-text a:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-link-text a:hover,
.uk-overlay-primary .uk-link-text a:hover,
.uk-offcanvas-bar .uk-link-text a:hover,
.uk-light .uk-link-toggle:hover .uk-link-text,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-link-toggle:hover
  .uk-link-text,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-text,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link-text,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-text,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link-text,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-text,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-text {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light a.uk-link-heading:hover,
.uk-section-primary:not(.uk-preserve-color) a.uk-link-heading:hover,
.uk-section-secondary:not(.uk-preserve-color) a.uk-link-heading:hover,
.uk-tile-primary:not(.uk-preserve-color) a.uk-link-heading:hover,
.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-heading:hover,
.uk-card-primary.uk-card-body a.uk-link-heading:hover,
.uk-card-primary > :not([class*="uk-card-media"]) a.uk-link-heading:hover,
.uk-card-secondary.uk-card-body a.uk-link-heading:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) a.uk-link-heading:hover,
.uk-overlay-primary a.uk-link-heading:hover,
.uk-offcanvas-bar a.uk-link-heading:hover,
.uk-light .uk-link-heading a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-card-primary.uk-card-body .uk-link-heading a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-link-heading a:hover,
.uk-card-secondary.uk-card-body .uk-link-heading a:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-link-heading a:hover,
.uk-overlay-primary .uk-link-heading a:hover,
.uk-offcanvas-bar .uk-link-heading a:hover,
.uk-light .uk-link-toggle:hover .uk-link-heading,
.uk-section-primary:not(.uk-preserve-color)
  .uk-link-toggle:hover
  .uk-link-heading,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-link-toggle:hover
  .uk-link-heading,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-link-toggle:hover
  .uk-link-heading,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link-heading,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-link-toggle:hover
  .uk-link-heading,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-heading,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-heading {
  color: #fff;
}
.uk-light .uk-heading-divider,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-divider,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-divider,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-divider,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-divider,
.uk-card-primary.uk-card-body .uk-heading-divider,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-divider,
.uk-card-secondary.uk-card-body .uk-heading-divider,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-divider,
.uk-overlay-primary .uk-heading-divider,
.uk-offcanvas-bar .uk-heading-divider {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-heading-bullet::before,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-bullet::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-bullet::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-bullet::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-bullet::before,
.uk-card-primary.uk-card-body .uk-heading-bullet::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-bullet::before,
.uk-card-secondary.uk-card-body .uk-heading-bullet::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-bullet::before,
.uk-overlay-primary .uk-heading-bullet::before,
.uk-offcanvas-bar .uk-heading-bullet::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-heading-line > ::before,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::before,
.uk-card-primary.uk-card-body .uk-heading-line > ::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-line > ::before,
.uk-card-secondary.uk-card-body .uk-heading-line > ::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-line > ::before,
.uk-overlay-primary .uk-heading-line > ::before,
.uk-offcanvas-bar .uk-heading-line > ::before,
.uk-light .uk-heading-line > ::after,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-card-primary.uk-card-body .uk-heading-line > ::after,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-heading-line > ::after,
.uk-card-secondary.uk-card-body .uk-heading-line > ::after,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-heading-line > ::after,
.uk-overlay-primary .uk-heading-line > ::after,
.uk-offcanvas-bar .uk-heading-line > ::after {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-divider-icon,
.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon,
.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon,
.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon,
.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon,
.uk-card-primary.uk-card-body .uk-divider-icon,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-divider-icon,
.uk-card-secondary.uk-card-body .uk-divider-icon,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-divider-icon,
.uk-overlay-primary .uk-divider-icon,
.uk-offcanvas-bar .uk-divider-icon {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.2)%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.uk-light .uk-divider-icon::before,
.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::before,
.uk-card-primary.uk-card-body .uk-divider-icon::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-divider-icon::before,
.uk-card-secondary.uk-card-body .uk-divider-icon::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-divider-icon::before,
.uk-overlay-primary .uk-divider-icon::before,
.uk-offcanvas-bar .uk-divider-icon::before,
.uk-light .uk-divider-icon::after,
.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-card-primary.uk-card-body .uk-divider-icon::after,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-divider-icon::after,
.uk-card-secondary.uk-card-body .uk-divider-icon::after,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-divider-icon::after,
.uk-overlay-primary .uk-divider-icon::after,
.uk-offcanvas-bar .uk-divider-icon::after {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-divider-small::after,
.uk-section-primary:not(.uk-preserve-color) .uk-divider-small::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-divider-small::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-divider-small::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-small::after,
.uk-card-primary.uk-card-body .uk-divider-small::after,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-divider-small::after,
.uk-card-secondary.uk-card-body .uk-divider-small::after,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-divider-small::after,
.uk-overlay-primary .uk-divider-small::after,
.uk-offcanvas-bar .uk-divider-small::after {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-divider-vertical,
.uk-section-primary:not(.uk-preserve-color) .uk-divider-vertical,
.uk-section-secondary:not(.uk-preserve-color) .uk-divider-vertical,
.uk-tile-primary:not(.uk-preserve-color) .uk-divider-vertical,
.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-vertical,
.uk-card-primary.uk-card-body .uk-divider-vertical,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-divider-vertical,
.uk-card-secondary.uk-card-body .uk-divider-vertical,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-divider-vertical,
.uk-overlay-primary .uk-divider-vertical,
.uk-offcanvas-bar .uk-divider-vertical {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-list-muted > ::before,
.uk-section-primary:not(.uk-preserve-color) .uk-list-muted > ::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-list-muted > ::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-list-muted > ::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-muted > ::before,
.uk-card-primary.uk-card-body .uk-list-muted > ::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-list-muted > ::before,
.uk-card-secondary.uk-card-body .uk-list-muted > ::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-list-muted > ::before,
.uk-overlay-primary .uk-list-muted > ::before,
.uk-offcanvas-bar .uk-list-muted > ::before {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-list-emphasis > ::before,
.uk-section-primary:not(.uk-preserve-color) .uk-list-emphasis > ::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-list-emphasis > ::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::before,
.uk-card-primary.uk-card-body .uk-list-emphasis > ::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-list-emphasis > ::before,
.uk-card-secondary.uk-card-body .uk-list-emphasis > ::before,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-list-emphasis
  > ::before,
.uk-overlay-primary .uk-list-emphasis > ::before,
.uk-offcanvas-bar .uk-list-emphasis > ::before {
  color: #fff !important;
}
.uk-light .uk-list-primary > ::before,
.uk-section-primary:not(.uk-preserve-color) .uk-list-primary > ::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-list-primary > ::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-list-primary > ::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-primary > ::before,
.uk-card-primary.uk-card-body .uk-list-primary > ::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-list-primary > ::before,
.uk-card-secondary.uk-card-body .uk-list-primary > ::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-list-primary > ::before,
.uk-overlay-primary .uk-list-primary > ::before,
.uk-offcanvas-bar .uk-list-primary > ::before {
  color: #fff !important;
}
.uk-light .uk-list-secondary > ::before,
.uk-section-primary:not(.uk-preserve-color) .uk-list-secondary > ::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-list-secondary > ::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-list-secondary > ::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-secondary > ::before,
.uk-card-primary.uk-card-body .uk-list-secondary > ::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-list-secondary > ::before,
.uk-card-secondary.uk-card-body .uk-list-secondary > ::before,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-list-secondary
  > ::before,
.uk-overlay-primary .uk-list-secondary > ::before,
.uk-offcanvas-bar .uk-list-secondary > ::before {
  color: #fff !important;
}
.uk-light .uk-list-bullet > ::before,
.uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > ::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > ::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before,
.uk-card-primary.uk-card-body .uk-list-bullet > ::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-list-bullet > ::before,
.uk-card-secondary.uk-card-body .uk-list-bullet > ::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-list-bullet > ::before,
.uk-overlay-primary .uk-list-bullet > ::before,
.uk-offcanvas-bar .uk-list-bullet > ::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-list-divider > :nth-child(n + 2),
.uk-section-primary:not(.uk-preserve-color)
  .uk-list-divider
  > :nth-child(n + 2),
.uk-section-secondary:not(.uk-preserve-color)
  .uk-list-divider
  > :nth-child(n + 2),
.uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n + 2),
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n + 2),
.uk-card-primary.uk-card-body .uk-list-divider > :nth-child(n + 2),
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-list-divider
  > :nth-child(n + 2),
.uk-card-secondary.uk-card-body .uk-list-divider > :nth-child(n + 2),
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-list-divider
  > :nth-child(n + 2),
.uk-overlay-primary .uk-list-divider > :nth-child(n + 2),
.uk-offcanvas-bar .uk-list-divider > :nth-child(n + 2) {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-list-striped > *:nth-of-type(odd),
.uk-section-primary:not(.uk-preserve-color)
  .uk-list-striped
  > *:nth-of-type(odd),
.uk-section-secondary:not(.uk-preserve-color)
  .uk-list-striped
  > *:nth-of-type(odd),
.uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd),
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-list-striped
  > *:nth-of-type(odd),
.uk-card-primary.uk-card-body .uk-list-striped > *:nth-of-type(odd),
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-list-striped
  > *:nth-of-type(odd),
.uk-card-secondary.uk-card-body .uk-list-striped > *:nth-of-type(odd),
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-list-striped
  > *:nth-of-type(odd),
.uk-overlay-primary .uk-list-striped > *:nth-of-type(odd),
.uk-offcanvas-bar .uk-list-striped > *:nth-of-type(odd) {
  border-top-color: rgba(255, 255, 255, 0.2);
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-list-striped > :nth-of-type(odd),
.uk-section-primary:not(.uk-preserve-color)
  .uk-list-striped
  > :nth-of-type(odd),
.uk-section-secondary:not(.uk-preserve-color)
  .uk-list-striped
  > :nth-of-type(odd),
.uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd),
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd),
.uk-card-primary.uk-card-body .uk-list-striped > :nth-of-type(odd),
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-list-striped
  > :nth-of-type(odd),
.uk-card-secondary.uk-card-body .uk-list-striped > :nth-of-type(odd),
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-list-striped
  > :nth-of-type(odd),
.uk-overlay-primary .uk-list-striped > :nth-of-type(odd),
.uk-offcanvas-bar .uk-list-striped > :nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.1);
}
.uk-light .uk-icon-link,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link,
.uk-card-primary.uk-card-body .uk-icon-link,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-icon-link,
.uk-card-secondary.uk-card-body .uk-icon-link,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-icon-link,
.uk-overlay-primary .uk-icon-link,
.uk-offcanvas-bar .uk-icon-link {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-icon-link:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-link:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:hover,
.uk-card-primary.uk-card-body .uk-icon-link:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-icon-link:hover,
.uk-card-secondary.uk-card-body .uk-icon-link:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-icon-link:hover,
.uk-overlay-primary .uk-icon-link:hover,
.uk-offcanvas-bar .uk-icon-link:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-icon-link:active,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-link:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:active,
.uk-card-primary.uk-card-body .uk-icon-link:active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-icon-link:active,
.uk-card-secondary.uk-card-body .uk-icon-link:active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-icon-link:active,
.uk-overlay-primary .uk-icon-link:active,
.uk-offcanvas-bar .uk-icon-link:active,
.uk-light .uk-active > .uk-icon-link,
.uk-section-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-card-primary.uk-card-body .uk-active > .uk-icon-link,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-active > .uk-icon-link,
.uk-card-secondary.uk-card-body .uk-active > .uk-icon-link,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-active > .uk-icon-link,
.uk-overlay-primary .uk-active > .uk-icon-link,
.uk-offcanvas-bar .uk-active > .uk-icon-link {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-icon-button,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-button,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button,
.uk-card-primary.uk-card-body .uk-icon-button,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-icon-button,
.uk-card-secondary.uk-card-body .uk-icon-button,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-icon-button,
.uk-overlay-primary .uk-icon-button,
.uk-offcanvas-bar .uk-icon-button {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-icon-button:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-button:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:hover,
.uk-card-primary.uk-card-body .uk-icon-button:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-icon-button:hover,
.uk-card-secondary.uk-card-body .uk-icon-button:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-icon-button:hover,
.uk-overlay-primary .uk-icon-button:hover,
.uk-offcanvas-bar .uk-icon-button:hover {
  background-color: fadein(rgba(255, 255, 255, 0.1), 5%);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-icon-button:active,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-button:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:active,
.uk-card-primary.uk-card-body .uk-icon-button:active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-icon-button:active,
.uk-card-secondary.uk-card-body .uk-icon-button:active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-icon-button:active,
.uk-overlay-primary .uk-icon-button:active,
.uk-offcanvas-bar .uk-icon-button:active {
  background-color: fadein(rgba(255, 255, 255, 0.1), 10%);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-input,
.uk-section-primary:not(.uk-preserve-color) .uk-input,
.uk-section-secondary:not(.uk-preserve-color) .uk-input,
.uk-tile-primary:not(.uk-preserve-color) .uk-input,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input,
.uk-card-primary.uk-card-body .uk-input,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-input,
.uk-card-secondary.uk-card-body .uk-input,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-input,
.uk-overlay-primary .uk-input,
.uk-offcanvas-bar .uk-input,
.uk-light .uk-select,
.uk-section-primary:not(.uk-preserve-color) .uk-select,
.uk-section-secondary:not(.uk-preserve-color) .uk-select,
.uk-tile-primary:not(.uk-preserve-color) .uk-select,
.uk-tile-secondary:not(.uk-preserve-color) .uk-select,
.uk-card-primary.uk-card-body .uk-select,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-select,
.uk-card-secondary.uk-card-body .uk-select,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-select,
.uk-overlay-primary .uk-select,
.uk-offcanvas-bar .uk-select,
.uk-light .uk-textarea,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,
.uk-card-primary.uk-card-body .uk-textarea,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-textarea,
.uk-card-secondary.uk-card-body .uk-textarea,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-textarea,
.uk-overlay-primary .uk-textarea,
.uk-offcanvas-bar .uk-textarea {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  background-clip: padding-box;
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-input:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-input:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-input:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-input:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus,
.uk-card-primary.uk-card-body .uk-input:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-input:focus,
.uk-card-secondary.uk-card-body .uk-input:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-input:focus,
.uk-overlay-primary .uk-input:focus,
.uk-offcanvas-bar .uk-input:focus,
.uk-light .uk-select:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-select:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-select:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-select:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus,
.uk-card-primary.uk-card-body .uk-select:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-select:focus,
.uk-card-secondary.uk-card-body .uk-select:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-select:focus,
.uk-overlay-primary .uk-select:focus,
.uk-offcanvas-bar .uk-select:focus,
.uk-light .uk-textarea:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-card-primary.uk-card-body .uk-textarea:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-textarea:focus,
.uk-card-secondary.uk-card-body .uk-textarea:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-textarea:focus,
.uk-overlay-primary .uk-textarea:focus,
.uk-offcanvas-bar .uk-textarea:focus {
  background-color: fadein(rgba(255, 255, 255, 0.1), 5%);
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-input::-ms-input-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder,
.uk-card-primary.uk-card-body .uk-input::-ms-input-placeholder,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-input::-ms-input-placeholder,
.uk-card-secondary.uk-card-body .uk-input::-ms-input-placeholder,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-input::-ms-input-placeholder,
.uk-overlay-primary .uk-input::-ms-input-placeholder,
.uk-offcanvas-bar .uk-input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-input::placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-input::placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-input::placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-input::placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input::placeholder,
.uk-card-primary.uk-card-body .uk-input::placeholder,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-input::placeholder,
.uk-card-secondary.uk-card-body .uk-input::placeholder,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-input::placeholder,
.uk-overlay-primary .uk-input::placeholder,
.uk-offcanvas-bar .uk-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-textarea::-ms-input-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-textarea::-ms-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder,
.uk-card-primary.uk-card-body .uk-textarea::-ms-input-placeholder,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-textarea::-ms-input-placeholder,
.uk-card-secondary.uk-card-body .uk-textarea::-ms-input-placeholder,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-textarea::-ms-input-placeholder,
.uk-overlay-primary .uk-textarea::-ms-input-placeholder,
.uk-offcanvas-bar .uk-textarea::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-textarea::placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea::placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea::placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea::placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::placeholder,
.uk-card-primary.uk-card-body .uk-textarea::placeholder,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-textarea::placeholder,
.uk-card-secondary.uk-card-body .uk-textarea::placeholder,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-textarea::placeholder,
.uk-overlay-primary .uk-textarea::placeholder,
.uk-offcanvas-bar .uk-textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-select:not([multiple]):not([size]),
.uk-section-primary:not(.uk-preserve-color)
  .uk-select:not([multiple]):not([size]),
.uk-section-secondary:not(.uk-preserve-color)
  .uk-select:not([multiple]):not([size]),
.uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]),
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-select:not([multiple]):not([size]),
.uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]),
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-select:not([multiple]):not([size]),
.uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]),
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-select:not([multiple]):not([size]),
.uk-overlay-primary .uk-select:not([multiple]):not([size]),
.uk-offcanvas-bar .uk-select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.uk-light .uk-input[list]:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-input[list]:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:hover,
.uk-card-primary.uk-card-body .uk-input[list]:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-input[list]:hover,
.uk-card-secondary.uk-card-body .uk-input[list]:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-input[list]:hover,
.uk-overlay-primary .uk-input[list]:hover,
.uk-offcanvas-bar .uk-input[list]:hover,
.uk-light .uk-input[list]:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-card-primary.uk-card-body .uk-input[list]:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-input[list]:focus,
.uk-card-secondary.uk-card-body .uk-input[list]:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-input[list]:focus,
.uk-overlay-primary .uk-input[list]:focus,
.uk-offcanvas-bar .uk-input[list]:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}
.uk-light .uk-radio,
.uk-section-primary:not(.uk-preserve-color) .uk-radio,
.uk-section-secondary:not(.uk-preserve-color) .uk-radio,
.uk-tile-primary:not(.uk-preserve-color) .uk-radio,
.uk-tile-secondary:not(.uk-preserve-color) .uk-radio,
.uk-card-primary.uk-card-body .uk-radio,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-radio,
.uk-card-secondary.uk-card-body .uk-radio,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-radio,
.uk-overlay-primary .uk-radio,
.uk-offcanvas-bar .uk-radio,
.uk-light .uk-checkbox,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox,
.uk-card-primary.uk-card-body .uk-checkbox,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-checkbox,
.uk-card-secondary.uk-card-body .uk-checkbox,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-checkbox,
.uk-overlay-primary .uk-checkbox,
.uk-offcanvas-bar .uk-checkbox {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-radio:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-radio:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-radio:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-radio:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:focus,
.uk-card-primary.uk-card-body .uk-radio:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-radio:focus,
.uk-card-secondary.uk-card-body .uk-radio:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-radio:focus,
.uk-overlay-primary .uk-radio:focus,
.uk-offcanvas-bar .uk-radio:focus,
.uk-light .uk-checkbox:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-card-primary.uk-card-body .uk-checkbox:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-checkbox:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-checkbox:focus,
.uk-overlay-primary .uk-checkbox:focus,
.uk-offcanvas-bar .uk-checkbox:focus {
  background-color: fadein(rgba(255, 255, 255, 0.1), 5%);
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-radio:checked,
.uk-section-primary:not(.uk-preserve-color) .uk-radio:checked,
.uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked,
.uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked,
.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked,
.uk-card-primary.uk-card-body .uk-radio:checked,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-radio:checked,
.uk-card-secondary.uk-card-body .uk-radio:checked,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-radio:checked,
.uk-overlay-primary .uk-radio:checked,
.uk-offcanvas-bar .uk-radio:checked,
.uk-light .uk-checkbox:checked,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-card-primary.uk-card-body .uk-checkbox:checked,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-checkbox:checked,
.uk-card-secondary.uk-card-body .uk-checkbox:checked,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-checkbox:checked,
.uk-overlay-primary .uk-checkbox:checked,
.uk-offcanvas-bar .uk-checkbox:checked,
.uk-light .uk-checkbox:indeterminate,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-checkbox:indeterminate,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-checkbox:indeterminate,
.uk-overlay-primary .uk-checkbox:indeterminate,
.uk-offcanvas-bar .uk-checkbox:indeterminate {
  background-color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-radio:checked:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus,
.uk-card-primary.uk-card-body .uk-radio:checked:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-radio:checked:focus,
.uk-card-secondary.uk-card-body .uk-radio:checked:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-radio:checked:focus,
.uk-overlay-primary .uk-radio:checked:focus,
.uk-offcanvas-bar .uk-radio:checked:focus,
.uk-light .uk-checkbox:checked:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-card-primary.uk-card-body .uk-checkbox:checked:focus,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-checkbox:checked:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:checked:focus,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-checkbox:checked:focus,
.uk-overlay-primary .uk-checkbox:checked:focus,
.uk-offcanvas-bar .uk-checkbox:checked:focus,
.uk-light .uk-checkbox:indeterminate:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-checkbox:indeterminate:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-checkbox:indeterminate:focus,
.uk-overlay-primary .uk-checkbox:indeterminate:focus,
.uk-offcanvas-bar .uk-checkbox:indeterminate:focus {
  background-color: fadein(#fff, 10%);
}
.uk-light .uk-radio:checked,
.uk-section-primary:not(.uk-preserve-color) .uk-radio:checked,
.uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked,
.uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked,
.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked,
.uk-card-primary.uk-card-body .uk-radio:checked,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-radio:checked,
.uk-card-secondary.uk-card-body .uk-radio:checked,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-radio:checked,
.uk-overlay-primary .uk-radio:checked,
.uk-offcanvas-bar .uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-checkbox:checked,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-card-primary.uk-card-body .uk-checkbox:checked,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-checkbox:checked,
.uk-card-secondary.uk-card-body .uk-checkbox:checked,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-checkbox:checked,
.uk-overlay-primary .uk-checkbox:checked,
.uk-offcanvas-bar .uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-light .uk-checkbox:indeterminate,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-checkbox:indeterminate,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-checkbox:indeterminate,
.uk-overlay-primary .uk-checkbox:indeterminate,
.uk-offcanvas-bar .uk-checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-form-label,
.uk-section-primary:not(.uk-preserve-color) .uk-form-label,
.uk-section-secondary:not(.uk-preserve-color) .uk-form-label,
.uk-tile-primary:not(.uk-preserve-color) .uk-form-label,
.uk-tile-secondary:not(.uk-preserve-color) .uk-form-label,
.uk-card-primary.uk-card-body .uk-form-label,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-form-label,
.uk-card-secondary.uk-card-body .uk-form-label,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-form-label,
.uk-overlay-primary .uk-form-label,
.uk-offcanvas-bar .uk-form-label {
  color: #fff;
}
.uk-light .uk-form-icon,
.uk-section-primary:not(.uk-preserve-color) .uk-form-icon,
.uk-section-secondary:not(.uk-preserve-color) .uk-form-icon,
.uk-tile-primary:not(.uk-preserve-color) .uk-form-icon,
.uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon,
.uk-card-primary.uk-card-body .uk-form-icon,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-form-icon,
.uk-card-secondary.uk-card-body .uk-form-icon,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-form-icon,
.uk-overlay-primary .uk-form-icon,
.uk-offcanvas-bar .uk-form-icon {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-form-icon:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-form-icon:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-form-icon:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-form-icon:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon:hover,
.uk-card-primary.uk-card-body .uk-form-icon:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-form-icon:hover,
.uk-card-secondary.uk-card-body .uk-form-icon:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-form-icon:hover,
.uk-overlay-primary .uk-form-icon:hover,
.uk-offcanvas-bar .uk-form-icon:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-button-default,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default,
.uk-card-primary.uk-card-body .uk-button-default,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-default,
.uk-card-secondary.uk-card-body .uk-button-default,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-default,
.uk-overlay-primary .uk-button-default,
.uk-offcanvas-bar .uk-button-default {
  background-color: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-button-default:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:hover,
.uk-card-primary.uk-card-body .uk-button-default:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-default:hover,
.uk-card-secondary.uk-card-body .uk-button-default:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-default:hover,
.uk-overlay-primary .uk-button-default:hover,
.uk-offcanvas-bar .uk-button-default:hover {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}
.uk-light .uk-button-default:active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:active,
.uk-card-primary.uk-card-body .uk-button-default:active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-default:active,
.uk-card-secondary.uk-card-body .uk-button-default:active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-default:active,
.uk-overlay-primary .uk-button-default:active,
.uk-offcanvas-bar .uk-button-default:active,
.uk-light .uk-button-default.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-card-primary.uk-card-body .uk-button-default.uk-active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-default.uk-active,
.uk-card-secondary.uk-card-body .uk-button-default.uk-active,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-button-default.uk-active,
.uk-overlay-primary .uk-button-default.uk-active,
.uk-offcanvas-bar .uk-button-default.uk-active {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}
.uk-light .uk-button-primary,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary,
.uk-card-primary.uk-card-body .uk-button-primary,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-primary,
.uk-card-secondary.uk-card-body .uk-button-primary,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-primary,
.uk-overlay-primary .uk-button-primary,
.uk-offcanvas-bar .uk-button-primary {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-button-primary:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover,
.uk-card-primary.uk-card-body .uk-button-primary:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-primary:hover,
.uk-card-secondary.uk-card-body .uk-button-primary:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-primary:hover,
.uk-overlay-primary .uk-button-primary:hover,
.uk-offcanvas-bar .uk-button-primary:hover {
  background-color: #f2f2f2;
  color: #666;
}
.uk-light .uk-button-primary:active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active,
.uk-card-primary.uk-card-body .uk-button-primary:active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-primary:active,
.uk-card-secondary.uk-card-body .uk-button-primary:active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-primary:active,
.uk-overlay-primary .uk-button-primary:active,
.uk-offcanvas-bar .uk-button-primary:active,
.uk-light .uk-button-primary.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-card-primary.uk-card-body .uk-button-primary.uk-active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-primary.uk-active,
.uk-card-secondary.uk-card-body .uk-button-primary.uk-active,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-button-primary.uk-active,
.uk-overlay-primary .uk-button-primary.uk-active,
.uk-offcanvas-bar .uk-button-primary.uk-active {
  background-color: #e6e6e6;
  color: #666;
}
.uk-light .uk-button-secondary,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary,
.uk-card-primary.uk-card-body .uk-button-secondary,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-secondary,
.uk-card-secondary.uk-card-body .uk-button-secondary,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-secondary,
.uk-overlay-primary .uk-button-secondary,
.uk-offcanvas-bar .uk-button-secondary {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-button-secondary:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover,
.uk-card-primary.uk-card-body .uk-button-secondary:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-secondary:hover,
.uk-card-secondary.uk-card-body .uk-button-secondary:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-secondary:hover,
.uk-overlay-primary .uk-button-secondary:hover,
.uk-offcanvas-bar .uk-button-secondary:hover {
  background-color: #f2f2f2;
  color: #666;
}
.uk-light .uk-button-secondary:active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active,
.uk-card-primary.uk-card-body .uk-button-secondary:active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-secondary:active,
.uk-card-secondary.uk-card-body .uk-button-secondary:active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-secondary:active,
.uk-overlay-primary .uk-button-secondary:active,
.uk-offcanvas-bar .uk-button-secondary:active,
.uk-light .uk-button-secondary.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-card-primary.uk-card-body .uk-button-secondary.uk-active,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-button-secondary.uk-active,
.uk-card-secondary.uk-card-body .uk-button-secondary.uk-active,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-button-secondary.uk-active,
.uk-overlay-primary .uk-button-secondary.uk-active,
.uk-offcanvas-bar .uk-button-secondary.uk-active {
  background-color: #e6e6e6;
  color: #666;
}
.uk-light .uk-button-text,
.uk-section-primary:not(.uk-preserve-color) .uk-button-text,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-text,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-text,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text,
.uk-card-primary.uk-card-body .uk-button-text,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-text,
.uk-card-secondary.uk-card-body .uk-button-text,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-text,
.uk-overlay-primary .uk-button-text,
.uk-offcanvas-bar .uk-button-text {
  color: #fff;
}
.uk-light .uk-button-text::before,
.uk-section-primary:not(.uk-preserve-color) .uk-button-text::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-text::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-text::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text::before,
.uk-card-primary.uk-card-body .uk-button-text::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-text::before,
.uk-card-secondary.uk-card-body .uk-button-text::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-text::before,
.uk-overlay-primary .uk-button-text::before,
.uk-offcanvas-bar .uk-button-text::before {
  border-bottom-color: #fff;
}
.uk-light .uk-button-text:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-button-text:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:hover,
.uk-card-primary.uk-card-body .uk-button-text:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-text:hover,
.uk-card-secondary.uk-card-body .uk-button-text:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-text:hover,
.uk-overlay-primary .uk-button-text:hover,
.uk-offcanvas-bar .uk-button-text:hover {
  color: #fff;
}
.uk-light .uk-button-text:disabled,
.uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled,
.uk-card-primary.uk-card-body .uk-button-text:disabled,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-text:disabled,
.uk-card-secondary.uk-card-body .uk-button-text:disabled,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-text:disabled,
.uk-overlay-primary .uk-button-text:disabled,
.uk-offcanvas-bar .uk-button-text:disabled {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-button-link,
.uk-section-primary:not(.uk-preserve-color) .uk-button-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-link,
.uk-card-primary.uk-card-body .uk-button-link,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-link,
.uk-card-secondary.uk-card-body .uk-button-link,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-link,
.uk-overlay-primary .uk-button-link,
.uk-offcanvas-bar .uk-button-link {
  color: #fff;
}
.uk-light .uk-button-link:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover,
.uk-card-primary.uk-card-body .uk-button-link:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-button-link:hover,
.uk-card-secondary.uk-card-body .uk-button-link:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-button-link:hover,
.uk-overlay-primary .uk-button-link:hover,
.uk-offcanvas-bar .uk-button-link:hover {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-grid-divider > :not(.uk-first-column)::before,
.uk-section-primary:not(.uk-preserve-color)
  .uk-grid-divider
  > :not(.uk-first-column)::before,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-grid-divider
  > :not(.uk-first-column)::before,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-grid-divider
  > :not(.uk-first-column)::before,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-grid-divider
  > :not(.uk-first-column)::before,
.uk-card-primary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-grid-divider
  > :not(.uk-first-column)::before,
.uk-card-secondary.uk-card-body
  .uk-grid-divider
  > :not(.uk-first-column)::before,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-grid-divider
  > :not(.uk-first-column)::before,
.uk-overlay-primary .uk-grid-divider > :not(.uk-first-column)::before,
.uk-offcanvas-bar .uk-grid-divider > :not(.uk-first-column)::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before,
.uk-section-primary:not(.uk-preserve-color)
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-card-primary.uk-card-body
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-card-secondary.uk-card-body
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-grid-divider.uk-grid-stack
  > .uk-grid-margin::before,
.uk-overlay-primary .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before,
.uk-offcanvas-bar .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-close,
.uk-section-primary:not(.uk-preserve-color) .uk-close,
.uk-section-secondary:not(.uk-preserve-color) .uk-close,
.uk-tile-primary:not(.uk-preserve-color) .uk-close,
.uk-tile-secondary:not(.uk-preserve-color) .uk-close,
.uk-card-primary.uk-card-body .uk-close,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-close,
.uk-card-secondary.uk-card-body .uk-close,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-close,
.uk-overlay-primary .uk-close,
.uk-offcanvas-bar .uk-close {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-close:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-close:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-close:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-close:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover,
.uk-card-primary.uk-card-body .uk-close:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-close:hover,
.uk-card-secondary.uk-card-body .uk-close:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-close:hover,
.uk-overlay-primary .uk-close:hover,
.uk-offcanvas-bar .uk-close:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-totop,
.uk-section-primary:not(.uk-preserve-color) .uk-totop,
.uk-section-secondary:not(.uk-preserve-color) .uk-totop,
.uk-tile-primary:not(.uk-preserve-color) .uk-totop,
.uk-tile-secondary:not(.uk-preserve-color) .uk-totop,
.uk-card-primary.uk-card-body .uk-totop,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-totop,
.uk-card-secondary.uk-card-body .uk-totop,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-totop,
.uk-overlay-primary .uk-totop,
.uk-offcanvas-bar .uk-totop {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-totop:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-totop:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover,
.uk-card-primary.uk-card-body .uk-totop:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-totop:hover,
.uk-card-secondary.uk-card-body .uk-totop:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-totop:hover,
.uk-overlay-primary .uk-totop:hover,
.uk-offcanvas-bar .uk-totop:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-totop:active,
.uk-section-primary:not(.uk-preserve-color) .uk-totop:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-totop:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-totop:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active,
.uk-card-primary.uk-card-body .uk-totop:active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-totop:active,
.uk-card-secondary.uk-card-body .uk-totop:active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-totop:active,
.uk-overlay-primary .uk-totop:active,
.uk-offcanvas-bar .uk-totop:active {
  color: #fff;
}
.uk-light .uk-badge,
.uk-section-primary:not(.uk-preserve-color) .uk-badge,
.uk-section-secondary:not(.uk-preserve-color) .uk-badge,
.uk-tile-primary:not(.uk-preserve-color) .uk-badge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-badge,
.uk-card-primary.uk-card-body .uk-badge,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-badge,
.uk-card-secondary.uk-card-body .uk-badge,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-badge,
.uk-overlay-primary .uk-badge,
.uk-offcanvas-bar .uk-badge {
  background-color: #fff;
  color: #666 !important;
}
.uk-light .uk-label,
.uk-section-primary:not(.uk-preserve-color) .uk-label,
.uk-section-secondary:not(.uk-preserve-color) .uk-label,
.uk-tile-primary:not(.uk-preserve-color) .uk-label,
.uk-tile-secondary:not(.uk-preserve-color) .uk-label,
.uk-card-primary.uk-card-body .uk-label,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-label,
.uk-card-secondary.uk-card-body .uk-label,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-label,
.uk-overlay-primary .uk-label,
.uk-offcanvas-bar .uk-label {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-article-meta,
.uk-section-primary:not(.uk-preserve-color) .uk-article-meta,
.uk-section-secondary:not(.uk-preserve-color) .uk-article-meta,
.uk-tile-primary:not(.uk-preserve-color) .uk-article-meta,
.uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta,
.uk-card-primary.uk-card-body .uk-article-meta,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-article-meta,
.uk-card-secondary.uk-card-body .uk-article-meta,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-article-meta,
.uk-overlay-primary .uk-article-meta,
.uk-offcanvas-bar .uk-article-meta {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search-input,
.uk-section-primary:not(.uk-preserve-color) .uk-search-input,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-input,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-input,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-input,
.uk-card-primary.uk-card-body .uk-search-input,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-search-input,
.uk-card-secondary.uk-card-body .uk-search-input,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-search-input,
.uk-overlay-primary .uk-search-input,
.uk-offcanvas-bar .uk-search-input {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-search-input:-ms-input-placeholder,
.uk-section-primary:not(.uk-preserve-color)
  .uk-search-input:-ms-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-search-input:-ms-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-search-input:-ms-input-placeholder,
.uk-card-primary.uk-card-body .uk-search-input:-ms-input-placeholder,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-search-input:-ms-input-placeholder,
.uk-card-secondary.uk-card-body .uk-search-input:-ms-input-placeholder,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-search-input:-ms-input-placeholder,
.uk-overlay-primary .uk-search-input:-ms-input-placeholder,
.uk-offcanvas-bar .uk-search-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-search-input::placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-search-input::placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-input::placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-input::placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::placeholder,
.uk-card-primary.uk-card-body .uk-search-input::placeholder,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-search-input::placeholder,
.uk-card-secondary.uk-card-body .uk-search-input::placeholder,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-search-input::placeholder,
.uk-overlay-primary .uk-search-input::placeholder,
.uk-offcanvas-bar .uk-search-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search .uk-search-icon,
.uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon,
.uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon,
.uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon,
.uk-card-primary.uk-card-body .uk-search .uk-search-icon,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-search .uk-search-icon,
.uk-card-secondary.uk-card-body .uk-search .uk-search-icon,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-search .uk-search-icon,
.uk-overlay-primary .uk-search .uk-search-icon,
.uk-offcanvas-bar .uk-search .uk-search-icon {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search .uk-search-icon:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,
.uk-card-primary.uk-card-body .uk-search .uk-search-icon:hover,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-search
  .uk-search-icon:hover,
.uk-card-secondary.uk-card-body .uk-search .uk-search-icon:hover,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-search
  .uk-search-icon:hover,
.uk-overlay-primary .uk-search .uk-search-icon:hover,
.uk-offcanvas-bar .uk-search .uk-search-icon:hover {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search-default .uk-search-input,
.uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-search-default
  .uk-search-input,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input,
.uk-card-primary.uk-card-body .uk-search-default .uk-search-input,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-search-default
  .uk-search-input,
.uk-card-secondary.uk-card-body .uk-search-default .uk-search-input,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-search-default
  .uk-search-input,
.uk-overlay-primary .uk-search-default .uk-search-input,
.uk-offcanvas-bar .uk-search-default .uk-search-input {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-search-default .uk-search-input:focus,
.uk-section-primary:not(.uk-preserve-color)
  .uk-search-default
  .uk-search-input:focus,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-search-default
  .uk-search-input:focus,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-search-default
  .uk-search-input:focus,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-search-default
  .uk-search-input:focus,
.uk-card-primary.uk-card-body .uk-search-default .uk-search-input:focus,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-search-default
  .uk-search-input:focus,
.uk-card-secondary.uk-card-body .uk-search-default .uk-search-input:focus,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-search-default
  .uk-search-input:focus,
.uk-overlay-primary .uk-search-default .uk-search-input:focus,
.uk-offcanvas-bar .uk-search-default .uk-search-input:focus {
  background-color: fadein(transparent, 5%);
}
.uk-light .uk-search-navbar .uk-search-input,
.uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-search-navbar
  .uk-search-input,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input,
.uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-search-navbar
  .uk-search-input,
.uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-search-navbar
  .uk-search-input,
.uk-overlay-primary .uk-search-navbar .uk-search-input,
.uk-offcanvas-bar .uk-search-navbar .uk-search-input {
  background-color: transparent;
}
.uk-light .uk-search-large .uk-search-input,
.uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input,
.uk-card-primary.uk-card-body .uk-search-large .uk-search-input,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-search-large
  .uk-search-input,
.uk-card-secondary.uk-card-body .uk-search-large .uk-search-input,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-search-large
  .uk-search-input,
.uk-overlay-primary .uk-search-large .uk-search-input,
.uk-offcanvas-bar .uk-search-large .uk-search-input {
  background-color: transparent;
}
.uk-light .uk-search-toggle,
.uk-section-primary:not(.uk-preserve-color) .uk-search-toggle,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle,
.uk-card-primary.uk-card-body .uk-search-toggle,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-search-toggle,
.uk-card-secondary.uk-card-body .uk-search-toggle,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-search-toggle,
.uk-overlay-primary .uk-search-toggle,
.uk-offcanvas-bar .uk-search-toggle {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-search-toggle:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:hover,
.uk-card-primary.uk-card-body .uk-search-toggle:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-search-toggle:hover,
.uk-card-secondary.uk-card-body .uk-search-toggle:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-search-toggle:hover,
.uk-overlay-primary .uk-search-toggle:hover,
.uk-offcanvas-bar .uk-search-toggle:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-parent-icon > .uk-parent > a::after,
.uk-section-primary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent
  > a::after,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent
  > a::after,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent
  > a::after,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent
  > a::after,
.uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-parent-icon
  > .uk-parent
  > a::after,
.uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-parent-icon
  > .uk-parent
  > a::after,
.uk-overlay-primary .uk-nav-parent-icon > .uk-parent > a::after,
.uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-nav-parent-icon > .uk-parent.uk-open > a::after,
.uk-section-primary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-card-primary.uk-card-body
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-card-secondary.uk-card-body
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-parent-icon
  > .uk-parent.uk-open
  > a::after,
.uk-overlay-primary .uk-nav-parent-icon > .uk-parent.uk-open > a::after,
.uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-nav-default > li > a,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a,
.uk-card-primary.uk-card-body .uk-nav-default > li > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-nav-default > li > a,
.uk-card-secondary.uk-card-body .uk-nav-default > li > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-nav-default > li > a,
.uk-overlay-primary .uk-nav-default > li > a,
.uk-offcanvas-bar .uk-nav-default > li > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-default > li > a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover,
.uk-card-primary.uk-card-body .uk-nav-default > li > a:hover,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  > li
  > a:hover,
.uk-card-secondary.uk-card-body .uk-nav-default > li > a:hover,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  > li
  > a:hover,
.uk-overlay-primary .uk-nav-default > li > a:hover,
.uk-offcanvas-bar .uk-nav-default > li > a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-default > li.uk-active > a,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-default
  > li.uk-active
  > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a,
.uk-card-primary.uk-card-body .uk-nav-default > li.uk-active > a,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  > li.uk-active
  > a,
.uk-card-secondary.uk-card-body .uk-nav-default > li.uk-active > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  > li.uk-active
  > a,
.uk-overlay-primary .uk-nav-default > li.uk-active > a,
.uk-offcanvas-bar .uk-nav-default > li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav-default .uk-nav-header,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-header,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-header,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-header,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-header,
.uk-overlay-primary .uk-nav-default .uk-nav-header,
.uk-offcanvas-bar .uk-nav-default .uk-nav-header {
  color: #fff;
}
.uk-light .uk-nav-default .uk-nav-divider,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-divider,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-divider,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-divider,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-divider,
.uk-overlay-primary .uk-nav-default .uk-nav-divider,
.uk-offcanvas-bar .uk-nav-default .uk-nav-divider {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-nav-default .uk-nav-sub a,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-nav-default .uk-nav-sub a,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-sub
  a,
.uk-overlay-primary .uk-nav-default .uk-nav-sub a,
.uk-offcanvas-bar .uk-nav-default .uk-nav-sub a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-default .uk-nav-sub a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-default
  .uk-nav-sub
  a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:hover,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-sub
  a:hover,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:hover,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-sub
  a:hover,
.uk-overlay-primary .uk-nav-default .uk-nav-sub a:hover,
.uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-default .uk-nav-sub li.uk-active > a,
.uk-section-primary:not(.uk-preserve-color)
  .uk-nav-default
  .uk-nav-sub
  li.uk-active
  > a,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-default
  .uk-nav-sub
  li.uk-active
  > a,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-nav-default
  .uk-nav-sub
  li.uk-active
  > a,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-nav-default
  .uk-nav-sub
  li.uk-active
  > a,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-sub
  li.uk-active
  > a,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-default
  .uk-nav-sub
  li.uk-active
  > a,
.uk-overlay-primary .uk-nav-default .uk-nav-sub li.uk-active > a,
.uk-offcanvas-bar .uk-nav-default .uk-nav-sub li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav-primary > li > a,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a,
.uk-card-primary.uk-card-body .uk-nav-primary > li > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-nav-primary > li > a,
.uk-card-secondary.uk-card-body .uk-nav-primary > li > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-nav-primary > li > a,
.uk-overlay-primary .uk-nav-primary > li > a,
.uk-offcanvas-bar .uk-nav-primary > li > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-primary > li > a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover,
.uk-card-primary.uk-card-body .uk-nav-primary > li > a:hover,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  > li
  > a:hover,
.uk-card-secondary.uk-card-body .uk-nav-primary > li > a:hover,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  > li
  > a:hover,
.uk-overlay-primary .uk-nav-primary > li > a:hover,
.uk-offcanvas-bar .uk-nav-primary > li > a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-primary > li.uk-active > a,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-primary
  > li.uk-active
  > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a,
.uk-card-primary.uk-card-body .uk-nav-primary > li.uk-active > a,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  > li.uk-active
  > a,
.uk-card-secondary.uk-card-body .uk-nav-primary > li.uk-active > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  > li.uk-active
  > a,
.uk-overlay-primary .uk-nav-primary > li.uk-active > a,
.uk-offcanvas-bar .uk-nav-primary > li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav-primary .uk-nav-header,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-header,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-header,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-header,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-header,
.uk-overlay-primary .uk-nav-primary .uk-nav-header,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-header {
  color: #fff;
}
.uk-light .uk-nav-primary .uk-nav-divider,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-divider,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-divider,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-divider,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-divider,
.uk-overlay-primary .uk-nav-primary .uk-nav-divider,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-divider {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-nav-primary .uk-nav-sub a,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-nav-primary .uk-nav-sub a,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-sub
  a,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub a,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-primary .uk-nav-sub a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-primary
  .uk-nav-sub
  a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-sub
  a:hover,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-sub
  a:hover,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub a:hover,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-primary .uk-nav-sub li.uk-active > a,
.uk-section-primary:not(.uk-preserve-color)
  .uk-nav-primary
  .uk-nav-sub
  li.uk-active
  > a,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav-primary
  .uk-nav-sub
  li.uk-active
  > a,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-nav-primary
  .uk-nav-sub
  li.uk-active
  > a,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-nav-primary
  .uk-nav-sub
  li.uk-active
  > a,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-sub
  li.uk-active
  > a,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav-primary
  .uk-nav-sub
  li.uk-active
  > a,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub li.uk-active > a,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav.uk-nav-divider > :not(.uk-nav-divider) +,
.uk-section-primary:not(.uk-preserve-color)
  .uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  +,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  +,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  +,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  +,
.uk-card-primary.uk-card-body .uk-nav.uk-nav-divider > :not(.uk-nav-divider) +,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  +,
.uk-card-secondary.uk-card-body
  .uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  +,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-nav.uk-nav-divider
  > :not(.uk-nav-divider)
  +,
.uk-overlay-primary .uk-nav.uk-nav-divider > :not(.uk-nav-divider) +,
.uk-offcanvas-bar .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-navbar-nav > li > a,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-navbar-nav > li > a,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-navbar-nav > li > a,
.uk-overlay-primary .uk-navbar-nav > li > a,
.uk-offcanvas-bar .uk-navbar-nav > li > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-navbar-nav > li:hover > a,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a,
.uk-card-primary.uk-card-body .uk-navbar-nav > li:hover > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-navbar-nav > li:hover > a,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li:hover > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-navbar-nav
  > li:hover
  > a,
.uk-overlay-primary .uk-navbar-nav > li:hover > a,
.uk-offcanvas-bar .uk-navbar-nav > li:hover > a,
.uk-light .uk-navbar-nav > li > a[aria-expanded="true"],
.uk-section-primary:not(.uk-preserve-color)
  .uk-navbar-nav
  > li
  > a[aria-expanded="true"],
.uk-section-secondary:not(.uk-preserve-color)
  .uk-navbar-nav
  > li
  > a[aria-expanded="true"],
.uk-tile-primary:not(.uk-preserve-color)
  .uk-navbar-nav
  > li
  > a[aria-expanded="true"],
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-navbar-nav
  > li
  > a[aria-expanded="true"],
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a[aria-expanded="true"],
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-navbar-nav
  > li
  > a[aria-expanded="true"],
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a[aria-expanded="true"],
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-navbar-nav
  > li
  > a[aria-expanded="true"],
.uk-overlay-primary .uk-navbar-nav > li > a[aria-expanded="true"],
.uk-offcanvas-bar .uk-navbar-nav > li > a[aria-expanded="true"] {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-navbar-nav > li > a:active,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-navbar-nav
  > li
  > a:active,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-navbar-nav
  > li
  > a:active,
.uk-overlay-primary .uk-navbar-nav > li > a:active,
.uk-offcanvas-bar .uk-navbar-nav > li > a:active {
  color: #fff;
}
.uk-light .uk-navbar-nav > li.uk-active > a,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a,
.uk-card-primary.uk-card-body .uk-navbar-nav > li.uk-active > a,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-navbar-nav
  > li.uk-active
  > a,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li.uk-active > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-navbar-nav
  > li.uk-active
  > a,
.uk-overlay-primary .uk-navbar-nav > li.uk-active > a,
.uk-offcanvas-bar .uk-navbar-nav > li.uk-active > a {
  color: #fff;
}
.uk-light .uk-navbar-item,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-item,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-item,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-item,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-item,
.uk-card-primary.uk-card-body .uk-navbar-item,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-navbar-item,
.uk-card-secondary.uk-card-body .uk-navbar-item,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-navbar-item,
.uk-overlay-primary .uk-navbar-item,
.uk-offcanvas-bar .uk-navbar-item {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-navbar-toggle,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle,
.uk-card-primary.uk-card-body .uk-navbar-toggle,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-navbar-toggle,
.uk-card-secondary.uk-card-body .uk-navbar-toggle,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-navbar-toggle,
.uk-overlay-primary .uk-navbar-toggle,
.uk-offcanvas-bar .uk-navbar-toggle {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-navbar-toggle:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover,
.uk-card-primary.uk-card-body .uk-navbar-toggle:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-navbar-toggle:hover,
.uk-card-secondary.uk-card-body .uk-navbar-toggle:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-navbar-toggle:hover,
.uk-overlay-primary .uk-navbar-toggle:hover,
.uk-offcanvas-bar .uk-navbar-toggle:hover,
.uk-light .uk-navbar-toggle[aria-expanded="true"],
.uk-section-primary:not(.uk-preserve-color)
  .uk-navbar-toggle[aria-expanded="true"],
.uk-section-secondary:not(.uk-preserve-color)
  .uk-navbar-toggle[aria-expanded="true"],
.uk-tile-primary:not(.uk-preserve-color)
  .uk-navbar-toggle[aria-expanded="true"],
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-navbar-toggle[aria-expanded="true"],
.uk-card-primary.uk-card-body .uk-navbar-toggle[aria-expanded="true"],
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-navbar-toggle[aria-expanded="true"],
.uk-card-secondary.uk-card-body .uk-navbar-toggle[aria-expanded="true"],
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-navbar-toggle[aria-expanded="true"],
.uk-overlay-primary .uk-navbar-toggle[aria-expanded="true"],
.uk-offcanvas-bar .uk-navbar-toggle[aria-expanded="true"] {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav > * > :first-child,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child,
.uk-card-primary.uk-card-body .uk-subnav > * > :first-child,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-subnav > * > :first-child,
.uk-card-secondary.uk-card-body .uk-subnav > * > :first-child,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-subnav
  > *
  > :first-child,
.uk-overlay-primary .uk-subnav > * > :first-child,
.uk-offcanvas-bar .uk-subnav > * > :first-child {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-subnav > * > a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover,
.uk-card-primary.uk-card-body .uk-subnav > * > a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-subnav > * > a:hover,
.uk-card-secondary.uk-card-body .uk-subnav > * > a:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-subnav > * > a:hover,
.uk-overlay-primary .uk-subnav > * > a:hover,
.uk-offcanvas-bar .uk-subnav > * > a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav > .uk-active > a,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a,
.uk-card-primary.uk-card-body .uk-subnav > .uk-active > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-subnav > .uk-active > a,
.uk-card-secondary.uk-card-body .uk-subnav > .uk-active > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-subnav > .uk-active > a,
.uk-overlay-primary .uk-subnav > .uk-active > a,
.uk-offcanvas-bar .uk-subnav > .uk-active > a {
  color: #fff;
}
.uk-light .uk-subnav-divider > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-section-primary:not(.uk-preserve-color)
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-primary.uk-card-body
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-secondary.uk-card-body
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-overlay-primary
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-offcanvas-bar
  .uk-subnav-divider
  > :nth-child(n + 2):not(.uk-first-column)::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-subnav-pill > * > :first-child,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-subnav-pill
  > *
  > :first-child,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child,
.uk-card-primary.uk-card-body .uk-subnav-pill > * > :first-child,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-subnav-pill
  > *
  > :first-child,
.uk-card-secondary.uk-card-body .uk-subnav-pill > * > :first-child,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-subnav-pill
  > *
  > :first-child,
.uk-overlay-primary .uk-subnav-pill > * > :first-child,
.uk-offcanvas-bar .uk-subnav-pill > * > :first-child {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-subnav-pill > * > a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover,
.uk-card-primary.uk-card-body .uk-subnav-pill > * > a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-subnav-pill > * > a:hover,
.uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:hover,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-subnav-pill
  > *
  > a:hover,
.uk-overlay-primary .uk-subnav-pill > * > a:hover,
.uk-offcanvas-bar .uk-subnav-pill > * > a:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav-pill > * > a:active,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active,
.uk-card-primary.uk-card-body .uk-subnav-pill > * > a:active,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-subnav-pill
  > *
  > a:active,
.uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:active,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-subnav-pill
  > *
  > a:active,
.uk-overlay-primary .uk-subnav-pill > * > a:active,
.uk-offcanvas-bar .uk-subnav-pill > * > a:active {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-subnav-pill > .uk-active > a,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a,
.uk-card-primary.uk-card-body .uk-subnav-pill > .uk-active > a,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-subnav-pill
  > .uk-active
  > a,
.uk-card-secondary.uk-card-body .uk-subnav-pill > .uk-active > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-subnav-pill
  > .uk-active
  > a,
.uk-overlay-primary .uk-subnav-pill > .uk-active > a,
.uk-offcanvas-bar .uk-subnav-pill > .uk-active > a {
  background-color: #fff;
  color: #666;
}
.uk-light .uk-subnav > .uk-disabled > a,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a,
.uk-card-primary.uk-card-body .uk-subnav > .uk-disabled > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-subnav > .uk-disabled > a,
.uk-card-secondary.uk-card-body .uk-subnav > .uk-disabled > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-subnav
  > .uk-disabled
  > a,
.uk-overlay-primary .uk-subnav > .uk-disabled > a,
.uk-offcanvas-bar .uk-subnav > .uk-disabled > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-breadcrumb > * > *,
.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *,
.uk-card-primary.uk-card-body .uk-breadcrumb > * > *,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-breadcrumb > * > *,
.uk-card-secondary.uk-card-body .uk-breadcrumb > * > *,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-breadcrumb > * > *,
.uk-overlay-primary .uk-breadcrumb > * > *,
.uk-offcanvas-bar .uk-breadcrumb > * > * {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-breadcrumb > * > :hover,
.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover,
.uk-card-primary.uk-card-body .uk-breadcrumb > * > :hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-breadcrumb > * > :hover,
.uk-card-secondary.uk-card-body .uk-breadcrumb > * > :hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-breadcrumb > * > :hover,
.uk-overlay-primary .uk-breadcrumb > * > :hover,
.uk-offcanvas-bar .uk-breadcrumb > * > :hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-breadcrumb > :last-child > *,
.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *,
.uk-card-primary.uk-card-body .uk-breadcrumb > :last-child > *,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-breadcrumb
  > :last-child
  > *,
.uk-card-secondary.uk-card-body .uk-breadcrumb > :last-child > *,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-breadcrumb
  > :last-child
  > *,
.uk-overlay-primary .uk-breadcrumb > :last-child > *,
.uk-offcanvas-bar .uk-breadcrumb > :last-child > * {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-breadcrumb > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-section-primary:not(.uk-preserve-color)
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-tile-primary:not(.uk-preserve-color)
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-primary.uk-card-body
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-secondary.uk-card-body
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-overlay-primary
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before,
.uk-offcanvas-bar
  .uk-breadcrumb
  > :nth-child(n + 2):not(.uk-first-column)::before {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-pagination > * > *,
.uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > *,
.uk-card-primary.uk-card-body .uk-pagination > * > *,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-pagination > * > *,
.uk-card-secondary.uk-card-body .uk-pagination > * > *,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-pagination > * > *,
.uk-overlay-primary .uk-pagination > * > *,
.uk-offcanvas-bar .uk-pagination > * > * {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-pagination > * > :hover,
.uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover,
.uk-card-primary.uk-card-body .uk-pagination > * > :hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-pagination > * > :hover,
.uk-card-secondary.uk-card-body .uk-pagination > * > :hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-pagination > * > :hover,
.uk-overlay-primary .uk-pagination > * > :hover,
.uk-offcanvas-bar .uk-pagination > * > :hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-pagination > .uk-active > *,
.uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *,
.uk-card-primary.uk-card-body .uk-pagination > .uk-active > *,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-pagination
  > .uk-active
  > *,
.uk-card-secondary.uk-card-body .uk-pagination > .uk-active > *,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-pagination
  > .uk-active
  > *,
.uk-overlay-primary .uk-pagination > .uk-active > *,
.uk-offcanvas-bar .uk-pagination > .uk-active > * {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-pagination > .uk-disabled > *,
.uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *,
.uk-card-primary.uk-card-body .uk-pagination > .uk-disabled > *,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-pagination
  > .uk-disabled
  > *,
.uk-card-secondary.uk-card-body .uk-pagination > .uk-disabled > *,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-pagination
  > .uk-disabled
  > *,
.uk-overlay-primary .uk-pagination > .uk-disabled > *,
.uk-offcanvas-bar .uk-pagination > .uk-disabled > * {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-tab::before,
.uk-section-primary:not(.uk-preserve-color) .uk-tab::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab::before,
.uk-card-primary.uk-card-body .uk-tab::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-tab::before,
.uk-card-secondary.uk-card-body .uk-tab::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-tab::before,
.uk-overlay-primary .uk-tab::before,
.uk-offcanvas-bar .uk-tab::before {
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-tab > * > a,
.uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a,
.uk-card-primary.uk-card-body .uk-tab > * > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-tab > * > a,
.uk-card-secondary.uk-card-body .uk-tab > * > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-tab > * > a,
.uk-overlay-primary .uk-tab > * > a,
.uk-offcanvas-bar .uk-tab > * > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-tab > * > a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover,
.uk-card-primary.uk-card-body .uk-tab > * > a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-tab > * > a:hover,
.uk-card-secondary.uk-card-body .uk-tab > * > a:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-tab > * > a:hover,
.uk-overlay-primary .uk-tab > * > a:hover,
.uk-offcanvas-bar .uk-tab > * > a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-tab > .uk-active > a,
.uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a,
.uk-card-primary.uk-card-body .uk-tab > .uk-active > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-tab > .uk-active > a,
.uk-card-secondary.uk-card-body .uk-tab > .uk-active > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-tab > .uk-active > a,
.uk-overlay-primary .uk-tab > .uk-active > a,
.uk-offcanvas-bar .uk-tab > .uk-active > a {
  color: #fff;
  border-color: #fff;
}
.uk-light .uk-tab > .uk-disabled > a,
.uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a,
.uk-card-primary.uk-card-body .uk-tab > .uk-disabled > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-tab > .uk-disabled > a,
.uk-card-secondary.uk-card-body .uk-tab > .uk-disabled > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-tab > .uk-disabled > a,
.uk-overlay-primary .uk-tab > .uk-disabled > a,
.uk-offcanvas-bar .uk-tab > .uk-disabled > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-slidenav,
.uk-section-primary:not(.uk-preserve-color) .uk-slidenav,
.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav,
.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav,
.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav,
.uk-card-primary.uk-card-body .uk-slidenav,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-slidenav,
.uk-card-secondary.uk-card-body .uk-slidenav,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-slidenav,
.uk-overlay-primary .uk-slidenav,
.uk-offcanvas-bar .uk-slidenav {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-slidenav:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-slidenav:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:hover,
.uk-card-primary.uk-card-body .uk-slidenav:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-slidenav:hover,
.uk-card-secondary.uk-card-body .uk-slidenav:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-slidenav:hover,
.uk-overlay-primary .uk-slidenav:hover,
.uk-offcanvas-bar .uk-slidenav:hover {
  color: rgba(255, 255, 255, 0.95);
}
.uk-light .uk-slidenav:active,
.uk-section-primary:not(.uk-preserve-color) .uk-slidenav:active,
.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:active,
.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:active,
.uk-card-primary.uk-card-body .uk-slidenav:active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-slidenav:active,
.uk-card-secondary.uk-card-body .uk-slidenav:active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-slidenav:active,
.uk-overlay-primary .uk-slidenav:active,
.uk-offcanvas-bar .uk-slidenav:active {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-dotnav > * > *,
.uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > *,
.uk-card-primary.uk-card-body .uk-dotnav > * > *,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-dotnav > * > *,
.uk-card-secondary.uk-card-body .uk-dotnav > * > *,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-dotnav > * > *,
.uk-overlay-primary .uk-dotnav > * > *,
.uk-offcanvas-bar .uk-dotnav > * > * {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.9);
}
.uk-light .uk-dotnav > * > :hover,
.uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover,
.uk-card-primary.uk-card-body .uk-dotnav > * > :hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-dotnav > * > :hover,
.uk-card-secondary.uk-card-body .uk-dotnav > * > :hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-dotnav > * > :hover,
.uk-overlay-primary .uk-dotnav > * > :hover,
.uk-offcanvas-bar .uk-dotnav > * > :hover {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: transparent;
}
.uk-light .uk-dotnav > * > :active,
.uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :active,
.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active,
.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active,
.uk-card-primary.uk-card-body .uk-dotnav > * > :active,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-dotnav > * > :active,
.uk-card-secondary.uk-card-body .uk-dotnav > * > :active,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-dotnav > * > :active,
.uk-overlay-primary .uk-dotnav > * > :active,
.uk-offcanvas-bar .uk-dotnav > * > :active {
  background-color: rgba(255, 255, 255, 0.5);
  border-color: transparent;
}
.uk-light .uk-dotnav > .uk-active > *,
.uk-section-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *,
.uk-card-primary.uk-card-body .uk-dotnav > .uk-active > *,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-dotnav > .uk-active > *,
.uk-card-secondary.uk-card-body .uk-dotnav > .uk-active > *,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-dotnav > .uk-active > *,
.uk-overlay-primary .uk-dotnav > .uk-active > *,
.uk-offcanvas-bar .uk-dotnav > .uk-active > * {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: transparent;
}
.uk-light .uk-accordion-title::before,
.uk-section-primary:not(.uk-preserve-color) .uk-accordion-title::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title::before,
.uk-card-primary.uk-card-body .uk-accordion-title::before,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-accordion-title::before,
.uk-card-secondary.uk-card-body .uk-accordion-title::before,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-accordion-title::before,
.uk-overlay-primary .uk-accordion-title::before,
.uk-offcanvas-bar .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-open > .uk-accordion-title::before,
.uk-section-primary:not(.uk-preserve-color)
  .uk-open
  > .uk-accordion-title::before,
.uk-section-secondary:not(.uk-preserve-color)
  .uk-open
  > .uk-accordion-title::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before,
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-open
  > .uk-accordion-title::before,
.uk-card-primary.uk-card-body .uk-open > .uk-accordion-title::before,
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-open
  > .uk-accordion-title::before,
.uk-card-secondary.uk-card-body .uk-open > .uk-accordion-title::before,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-open
  > .uk-accordion-title::before,
.uk-overlay-primary .uk-open > .uk-accordion-title::before,
.uk-offcanvas-bar .uk-open > .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}
.uk-light .uk-iconnav > * > a,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a,
.uk-card-primary.uk-card-body .uk-iconnav > * > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-iconnav > * > a,
.uk-card-secondary.uk-card-body .uk-iconnav > * > a,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-iconnav > * > a,
.uk-overlay-primary .uk-iconnav > * > a,
.uk-offcanvas-bar .uk-iconnav > * > a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-iconnav > * > a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover,
.uk-card-primary.uk-card-body .uk-iconnav > * > a:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-iconnav > * > a:hover,
.uk-card-secondary.uk-card-body .uk-iconnav > * > a:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-iconnav > * > a:hover,
.uk-overlay-primary .uk-iconnav > * > a:hover,
.uk-offcanvas-bar .uk-iconnav > * > a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-iconnav > .uk-active > a,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a,
.uk-card-primary.uk-card-body .uk-iconnav > .uk-active > a,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-iconnav > .uk-active > a,
.uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > a,
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-iconnav
  > .uk-active
  > a,
.uk-overlay-primary .uk-iconnav > .uk-active > a,
.uk-offcanvas-bar .uk-iconnav > .uk-active > a {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-text-lead,
.uk-section-primary:not(.uk-preserve-color) .uk-text-lead,
.uk-section-secondary:not(.uk-preserve-color) .uk-text-lead,
.uk-tile-primary:not(.uk-preserve-color) .uk-text-lead,
.uk-tile-secondary:not(.uk-preserve-color) .uk-text-lead,
.uk-card-primary.uk-card-body .uk-text-lead,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-text-lead,
.uk-card-secondary.uk-card-body .uk-text-lead,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-text-lead,
.uk-overlay-primary .uk-text-lead,
.uk-offcanvas-bar .uk-text-lead {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-text-meta,
.uk-section-primary:not(.uk-preserve-color) .uk-text-meta,
.uk-section-secondary:not(.uk-preserve-color) .uk-text-meta,
.uk-tile-primary:not(.uk-preserve-color) .uk-text-meta,
.uk-tile-secondary:not(.uk-preserve-color) .uk-text-meta,
.uk-card-primary.uk-card-body .uk-text-meta,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-text-meta,
.uk-card-secondary.uk-card-body .uk-text-meta,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-text-meta,
.uk-overlay-primary .uk-text-meta,
.uk-offcanvas-bar .uk-text-meta {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-text-muted,
.uk-section-primary:not(.uk-preserve-color) .uk-text-muted,
.uk-section-secondary:not(.uk-preserve-color) .uk-text-muted,
.uk-tile-primary:not(.uk-preserve-color) .uk-text-muted,
.uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted,
.uk-card-primary.uk-card-body .uk-text-muted,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-text-muted,
.uk-card-secondary.uk-card-body .uk-text-muted,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-text-muted,
.uk-overlay-primary .uk-text-muted,
.uk-offcanvas-bar .uk-text-muted {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-text-emphasis,
.uk-section-primary:not(.uk-preserve-color) .uk-text-emphasis,
.uk-section-secondary:not(.uk-preserve-color) .uk-text-emphasis,
.uk-tile-primary:not(.uk-preserve-color) .uk-text-emphasis,
.uk-tile-secondary:not(.uk-preserve-color) .uk-text-emphasis,
.uk-card-primary.uk-card-body .uk-text-emphasis,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-text-emphasis,
.uk-card-secondary.uk-card-body .uk-text-emphasis,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-text-emphasis,
.uk-overlay-primary .uk-text-emphasis,
.uk-offcanvas-bar .uk-text-emphasis {
  color: #fff !important;
}
.uk-light .uk-text-primary,
.uk-section-primary:not(.uk-preserve-color) .uk-text-primary,
.uk-section-secondary:not(.uk-preserve-color) .uk-text-primary,
.uk-tile-primary:not(.uk-preserve-color) .uk-text-primary,
.uk-tile-secondary:not(.uk-preserve-color) .uk-text-primary,
.uk-card-primary.uk-card-body .uk-text-primary,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-text-primary,
.uk-card-secondary.uk-card-body .uk-text-primary,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-text-primary,
.uk-overlay-primary .uk-text-primary,
.uk-offcanvas-bar .uk-text-primary {
  color: #fff !important;
}
.uk-light .uk-text-secondary,
.uk-section-primary:not(.uk-preserve-color) .uk-text-secondary,
.uk-section-secondary:not(.uk-preserve-color) .uk-text-secondary,
.uk-tile-primary:not(.uk-preserve-color) .uk-text-secondary,
.uk-tile-secondary:not(.uk-preserve-color) .uk-text-secondary,
.uk-card-primary.uk-card-body .uk-text-secondary,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-text-secondary,
.uk-card-secondary.uk-card-body .uk-text-secondary,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-text-secondary,
.uk-overlay-primary .uk-text-secondary,
.uk-offcanvas-bar .uk-text-secondary {
  color: #fff !important;
}
.uk-light .uk-column-divider,
.uk-section-primary:not(.uk-preserve-color) .uk-column-divider,
.uk-section-secondary:not(.uk-preserve-color) .uk-column-divider,
.uk-tile-primary:not(.uk-preserve-color) .uk-column-divider,
.uk-tile-secondary:not(.uk-preserve-color) .uk-column-divider,
.uk-card-primary.uk-card-body .uk-column-divider,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-column-divider,
.uk-card-secondary.uk-card-body .uk-column-divider,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-column-divider,
.uk-overlay-primary .uk-column-divider,
.uk-offcanvas-bar .uk-column-divider {
  column-rule-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-logo,
.uk-section-primary:not(.uk-preserve-color) .uk-logo,
.uk-section-secondary:not(.uk-preserve-color) .uk-logo,
.uk-tile-primary:not(.uk-preserve-color) .uk-logo,
.uk-tile-secondary:not(.uk-preserve-color) .uk-logo,
.uk-card-primary.uk-card-body .uk-logo,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-logo,
.uk-card-secondary.uk-card-body .uk-logo,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-logo,
.uk-overlay-primary .uk-logo,
.uk-offcanvas-bar .uk-logo {
  color: #fff;
}
.uk-light .uk-logo:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-logo:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-logo:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-logo:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-logo:hover,
.uk-card-primary.uk-card-body .uk-logo:hover,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-logo:hover,
.uk-card-secondary.uk-card-body .uk-logo:hover,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-logo:hover,
.uk-overlay-primary .uk-logo:hover,
.uk-offcanvas-bar .uk-logo:hover {
  color: #fff;
}
.uk-light .uk-logo > :not(.uk-logo-inverse):not(:only-of-type),
.uk-section-primary:not(.uk-preserve-color)
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-section-secondary:not(.uk-preserve-color)
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-tile-primary:not(.uk-preserve-color)
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-tile-secondary:not(.uk-preserve-color)
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-card-primary.uk-card-body
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-card-primary
  > :not([class*="uk-card-media"])
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-card-secondary.uk-card-body
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-card-secondary
  > :not([class*="uk-card-media"])
  .uk-logo
  > :not(.uk-logo-inverse):not(:only-of-type),
.uk-overlay-primary .uk-logo > :not(.uk-logo-inverse):not(:only-of-type),
.uk-offcanvas-bar .uk-logo > :not(.uk-logo-inverse):not(:only-of-type) {
  display: none;
}
.uk-light .uk-logo-inverse,
.uk-section-primary:not(.uk-preserve-color) .uk-logo-inverse,
.uk-section-secondary:not(.uk-preserve-color) .uk-logo-inverse,
.uk-tile-primary:not(.uk-preserve-color) .uk-logo-inverse,
.uk-tile-secondary:not(.uk-preserve-color) .uk-logo-inverse,
.uk-card-primary.uk-card-body .uk-logo-inverse,
.uk-card-primary > :not([class*="uk-card-media"]) .uk-logo-inverse,
.uk-card-secondary.uk-card-body .uk-logo-inverse,
.uk-card-secondary > :not([class*="uk-card-media"]) .uk-logo-inverse,
.uk-overlay-primary .uk-logo-inverse,
.uk-offcanvas-bar .uk-logo-inverse {
  display: block;
}

/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

.lazy {
  background: linear-gradient(100deg, #dcdcdc 30%, #efefef 40%, #d8d8d8 50%);
  background-size: 400%;
  animation: loading 1.2s ease-in-out infinite;
  width: 100%;
  height: inherit;
}

.lazy_loaded,
[data-loaded="true"] {
  animation: none;
  width: unset;
  height: unset;
}

img[data-loaded="true"] {
  background: none;
}

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

html {
  height: 100%;
  font-size: 16px;
  line-height: 20px;
  color: #343434;
}

body {
  font-family: "Montserrat", sans-serif;
  padding-top: 175px;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

ul,
li {
  padding: 0;
  margin: 0;
  list-style: none;
}

p {
  margin: 0;
}

p + p {
  margin-top: 20px;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

svg {
  width: 20px;
  max-width: initial;
  height: 20px;
  fill: #343434;
}

a {
  color: #fff;
  text-decoration: none;
}

h1,
h2 {
  margin: 0;
  font-family: "Cormorant SC", serif;
}

h5 {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  color: #343434;
  margin: 40px 0 20px;
}

.container {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.layerBlack {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  background: #0000;
  transition: 0.3s 0s linear;
  top: 0;
  left: 0;
}
.layerBlack_visible {
  opacity: 1;
  visibility: visible;
  background: #00000091;
}

.wrap {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -20px;
  margin-right: -20px;
}

.fixed-page {
  overflow: hidden;
}

input[placeholder] {
  text-overflow: ellipsis;
}

input::-moz-placeholder {
  text-overflow: ellipsis;
}

input:-moz-placeholder {
  text-overflow: ellipsis;
}

input:-ms-input-placeholder {
  text-overflow: ellipsis;
}

:focus::-webkit-input-placeholder {
  color: transparent;
}

:focus::-moz-placeholder {
  color: transparent;
}

:focus:-moz-placeholder {
  color: transparent;
}

:focus:-ms-input-placeholder {
  color: transparent;
}

input,
textarea,
select {
  -webkit-appearance: none !important;
  -webkit-border-radius: 0px;
}

.map {
  width: 100%;
  height: 400px;
}

p {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}

a {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #c2a048;
  text-decoration: underline;
}
a:hover {
  color: #c2a048;
  text-decoration: none;
}

.uk-link:hover,
.uk-link-toggle:hover .uk-link {
  color: unset;
  text-decoration: none;
}

.imgBorderBlock {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.imgBorderBlock__img {
  width: 100%;
  height: 100%;
  min-height: 530px;
  max-height: 600px;
  object-fit: cover;
}
.imgBorderBlock_sm .imgBorderBlock__img {
  min-height: unset;
  max-height: 220px;
}
.imgBorderBlock_md .imgBorderBlock__img {
  min-height: unset;
  max-height: 280px;
}
.imgBorderBlock__slideWrap {
  height: 100%;
  display: flex !important;
  justify-content: center;
  align-items: center;
}
.imgBorderBlock__frameBlock {
  width: calc(100% - 80px);
  height: calc(100% - 80px);
  border: 10px solid rgba(255, 255, 255, 0.6);
  transition: 0.2s 0s ease-out;
  position: absolute;
  z-index: 666;
}
.imgBorderBlock:hover .imgBorderBlock__frameBlock {
  border: 10px solid rgba(255, 255, 255, 0.2);
  transition: 0.2s 0s ease-in;
}
.imgBorderBlock_sm .imgBorderBlock__frameBlock,
.imgBorderBlock_md .imgBorderBlock__frameBlock {
  width: calc(100% - 32px);
  height: calc(100% - 32px);
}
.imgBorderBlock__sticker {
  font-size: 36px;
  line-height: 50px;
  font-weight: 600;
  line-height: 40px;
  color: #343434;
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  padding: 15px 25px;
  text-transform: uppercase;
  font-family: "Cormorant SC", serif;
}
.imgBorderBlock_sm .imgBorderBlock__sticker,
.imgBorderBlock_md .imgBorderBlock__sticker {
  font-size: 18px;
  line-height: 30px;
  font-weight: 600;
  color: #343434;
  padding: 1.5px 25px;
}

.lineTopBlock {
  width: 100%;
  height: 100%;
  border-top: 1px solid #d1d1d1;
  margin-top: 29px;
}

.stickyBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: end;
}
.stickyBlock * {
  text-decoration: none;
}
.stickyBlock__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 600;
  line-height: 40px;
  color: #343434;
  margin-bottom: 30px;
}
.stickyBlock__list {
  margin-bottom: 60px;
}
.stickyBlock__item + .stickyBlock__item {
  margin-top: 10px;
}
.stickyBlock__link {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #343434;
  display: flex;
  justify-content: flex-end;
}
.stickyBlock__link:hover {
  color: #343434;
}
.stickyBlock__link_active {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  line-height: 30px;
}
.stickyBlock__textWrap {
  margin-right: 15px;
}
.stickyBlock__text {
  position: relative;
  text-decoration: none;
  background: no-repeat 0 100%;
  background-image: linear-gradient(#6c6c6c, #6c6c6c);
  background-size: 0% 2px;
  transition: background-size 0.3s ease;
}
.stickyBlock__link:hover .stickyBlock__text {
  background-size: 100% 2px;
}
.stickyBlock__icon {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  fill: #aaaaaa;
  position: relative;
  top: 5px;
}

.sidebar {
  text-align: end;
}
.sidebar * {
  text-decoration: none;
}
.sidebar__content {
  margin-top: 80px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.sidebar__title {
  font-size: 60px;
  line-height: 70px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.sidebar__desc {
  font-size: 30px;
  line-height: 40px;
  font-weight: 300;
  color: #6c6c6c;
  margin: 10px 0 70px;
}

.breadCrumbs {
  margin-top: 35px;
}
.breadCrumbs * {
  text-decoration: none;
}
.breadCrumbs__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.breadCrumbs__content {
  position: relative;
  display: flex;
  align-items: center;
}
.breadCrumbs__content::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #d1d1d1;
  position: absolute;
}
.breadCrumbs__linkBack {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d1d1d1;
  border-radius: 100%;
  padding: 11.5px;
  background: #fff;
  z-index: 2;
  transform: rotate(180deg);
  margin-left: 15px;
}
.breadCrumbs__linkBack:hover {
  border: 1px solid #9e9e9e;
}
.breadCrumbs__iconArrowBack {
  width: 15px;
  height: 15px;
  fill: #d1d1d1;
}
.breadCrumbs__linkBack:hover .breadCrumbs__iconArrowBack {
  fill: #9e9e9e;
}
.breadCrumbs__list {
  display: flex;
  align-items: center;
  background: #fff;
  z-index: 2;
  margin: 0 15px;
  padding: 0 15px;
}
.breadCrumbs__listItem {
  display: flex;
  align-items: center;
}
.breadCrumbs__listItem + .breadCrumbs__listItem {
  margin-left: 15px;
}
.breadCrumbs__listIcon {
  width: 10px;
  height: 10px;
  fill: #d1d1d1;
  margin-right: 15px;
}
.breadCrumbs__listLink {
  font-size: 14px;
  line-height: 30px;
  font-weight: 300;
  line-height: 20px;
  color: #6c6c6c;
}
.breadCrumbs__listLink:hover {
  color: #343434;
}

.card {
  border: 1px solid #ededed;
}
.card * {
  text-decoration: none;
}
.card__imgWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 429px;
  position: relative;
}
.card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.card__sticker {
  font-family: "Cormorant SC", serif;
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  color: #fff;
  background: #c2a048;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  position: absolute;
  top: 29px;
  right: 29px;
}
.card__content {
  padding: 50px 0;
  margin: 0 40px;
  border-top: 1px solid #efefef;
}
.card__title {
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #343434;
}
.card__collection {
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin: 10px 0 20px;
}
.card__colorItems {
  display: flex;
  margin-bottom: 50px;
}
.card__colorBtn {
  background-color: #e8e1ca;
  width: 16px;
  height: 16px;
  border-radius: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card__colorBtn::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  border: 2px solid #0000;
  border-radius: 100%;
}
.card__colorBtn:hover::before {
  border: 2px solid #d1d1d1;
}
.card__colorBtn + .card__colorBtn {
  margin-left: 23px;
}
.card__bottomBlock {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card__costItems {
  display: flex;
  align-items: center;
}
.card__costNew {
  font-size: 24px;
  line-height: 40px;
  font-weight: 400;
  color: #343434;
}
.card__costOld {
  font-size: 24px;
  line-height: 40px;
  font-weight: 400;
  color: #6c6c6c;
  text-decoration: line-through;
  border-left: 1px solid #d1d1d1;
  margin-left: 30px;
  padding-left: 30px;
}
.card__btnCart {
  display: flex;
}
.card__iconCart {
  width: 30px;
  height: 30px;
  fill: #c2a048;
}
.card__btnCart:hover .card__iconCart {
  fill: #aaaaaa;
}

section.pagination {
  margin-top: 90px !important;
  width: 100%;
}
.pagination * {
  text-decoration: none;
}
.pagination__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.pagination__content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pagination__content::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #d1d1d1;
  position: absolute;
  z-index: 0;
}
.pagination__btnMoreWrap {
  background: #fff;
  padding: 0 15px;
  margin-left: 70px;
  z-index: 5;
}
.pagination__list {
  display: flex;
  align-items: center;
  background: #fff;
  padding-left: 15px;
  z-index: 5;
}
.pagination__listItem + .pagination__listItem {
  margin-left: 25px;
}
.pagination__btnTransition {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 100% !important;
  border: 1px solid #d1d1d1 !important;
  padding: 5px !important;
  width: 40px !important;
  height: 40px !important;
  font-size: 16px !important;
  line-height: 30px !important;
  font-weight: 300 !important;
  line-height: 20px !important;
  color: #343434 !important;
  text-decoration: none !important;
}
.pagination__btnTransition:hover {
  border: 1px solid #9e9e9e !important;
}
.pagination__btnTransition_prev {
  transform: rotate(180deg) !important;
}
.pagination__btnTransition_active {
  font-weight: 700 !important;
  border: 1px solid #c2a048 !important;
  color: #c2a048 !important;
}
.pagination__icon {
  width: 15px;
  height: 15px;
  fill: #d1d1d1;
}
.pagination__btnTransition:hover .pagination__icon {
  fill: #9e9e9e;
}

.burgerMenu {
  font-family: "Cormorant SC", serif;
}
.burgerMenu__burger {
  width: 20px;
  height: 20px;
  display: flex;
  position: relative;
}
.burgerMenu__burger span,
.burgerMenu__burger:after,
.burgerMenu__burger:before {
  height: 2px;
  width: 100%;
  position: absolute;
  background: #aaaaaa;
  margin: 0 auto;
}
.burgerMenu__burger span {
  top: 9px;
}
.burgerMenu__burger:after,
.burgerMenu__burger:before {
  content: "";
}
.burgerMenu__burger:after {
  bottom: 3px;
}
.burgerMenu__burger:before {
  top: 3px;
}
.burgerMenu__burger:hover {
  cursor: pointer;
}
.burgerMenu__nav {
  position: absolute;
  display: flex;
  flex-direction: column;
  left: -100%;
  transition: all 0.7s ease;
  z-index: 99;
  width: 100%;
  height: 100vh;
  top: 0;
}
.burgerMenu__nav.open-menu {
  left: 0;
  z-index: 100000;
}
.burgerMenu__wrapContent {
  width: 100%;
  max-width: 506px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100vh;
  overflow: auto;
  background: #fff;
  padding: 35px 50px 40px 121px;
  z-index: 9999;
}
.burgerMenu__head {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.burgerMenu__headIconWrap {
  display: flex;
  margin-right: 20px;
}
.burgerMenu__headIconWrap_close:hover {
  cursor: pointer;
}
.burgerMenu__headIcon {
  width: 20px;
  height: 20px;
  fill: #c2a048;
}
.burgerMenu__title {
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  color: #343434;
  text-transform: uppercase;
}
.burgerMenu__list {
  display: flex;
  flex-direction: column;
  margin-top: 45px;
}
.burgerMenu__listItem {
  list-style: none;
  margin-left: 5px;
}
.burgerMenu__listItem + .burgerMenu__listItem {
  margin-top: 20px;
}
.burgerMenu__listItem_linkItem {
  margin-left: 35px;
}
.burgerMenu__listLink {
  font-size: 24px;
  line-height: 30px;
  font-weight: 500;
  color: #343434;
  position: relative;
}
.burgerMenu__listLink::after {
  content: "";
  width: 0;
  height: 1px;
  background: #aaaaaa;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.burgerMenu__listLink:hover {
  color: #343434;
}
.burgerMenu__listLink:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.burgerMenu__internalListWrap {
  display: flex;
}
.burgerMenu__internalListArrowWrap {
  display: flex;
  margin-right: 20px;
  order: -1;
  margin-top: 0;
  position: relative;
  top: 6.5px;
}
.burgerMenu__internalListArrowIcon {
  width: 15px;
  height: 15px;
  fill: #c2a048;
  transition: 0.2s 0s ease-out;
}
.burgerMenu__internalList {
  display: flex;
}
.burgerMenu .uk-accordion > :nth-child(n + 2) {
  margin-top: 0;
}
.burgerMenu__internalListItem.uk-open
  + .burgerMenu__internalListArrowWrap
  .burgerMenu__internalListArrowIcon {
  transform: rotate(180deg);
  transition: 0.2s 0s ease-in;
}
.burgerMenu__internalListTitleLink {
  font-size: 22px;
  line-height: 30px;
  font-weight: 500;
  color: #343434;
}
.burgerMenu__internalListTitleLink:hover {
  color: #343434;
}
.burgerMenu .uk-accordion-title::before {
  display: none;
}
.burgerMenu__internalMenuWrap {
  margin-top: 20px;
}
.burgerMenu__internalMenu {
  margin-left: 20px;
}
.burgerMenu__internalMenuItem + .burgerMenu__internalMenuItem {
  margin-top: 10px;
}
.burgerMenu__internalMenuLink {
  font-size: 14px;
  line-height: 30px;
  font-weight: 300;
  line-height: 20px;
  color: #6c6c6c;
  font-family: "Montserrat", sans-serif;
  position: relative;
}
.burgerMenu__internalMenuLink::after {
  content: "";
  width: 0;
  height: 1px;
  background: #aaaaaa;
  position: absolute;
  bottom: -4px;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.burgerMenu__internalMenuLink:hover {
  color: #6c6c6c;
}
.burgerMenu__internalMenuLink:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.burgerMenu__bottomBlock {
  margin-top: 150px;
}
.burgerMenu__text {
  font-size: 14px;
  line-height: 30px;
  font-weight: 300;
  line-height: 20px;
  color: #6c6c6c;
  font-family: "Montserrat", sans-serif;
}
.burgerMenu__text + .burgerMenu__text {
  margin-top: 35px;
}
.burgerMenu__phoneBlock {
  display: flex;
  flex-direction: column;
  font-family: "Montserrat", sans-serif;
  margin-top: 10px;
}
.burgerMenu__phoneLink {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  line-height: 30px;
  color: #343434;
}
.burgerMenu__phoneLink:hover {
  color: #343434;
}
.burgerMenu__socialItems {
  display: flex;
  align-items: center;
  margin-top: 40px;
}
.burgerMenu__socialLink {
  display: flex;
}
.burgerMenu__socialLink + .burgerMenu__socialLink {
  margin-left: 30px;
}
.burgerMenu__socialLinkIcon {
  width: 30px;
  height: 30px;
  fill: #c2a048;
}

.sliderActions {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
}
.sliderActions_fill {
  position: absolute;
  background: #fff;
  padding: 20px 25px;
  margin-bottom: 0;
  right: 40px;
  bottom: 40px;
  z-index: 666;
}
.sliderActions__btn {
  display: flex;
}
.sliderActions__btn_prev {
  transform: rotate(180deg);
}
.sliderActions__iconArrow {
  width: 30px;
  height: 30px;
  fill: #aaaaaa;
}
.sliderActions__btn:hover .sliderActions__iconArrow {
  fill: #777777;
}
.sliderActions__numbering {
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  color: #aaaaaa;
  font-feature-settings: "pnum" on, "lnum" on;
  font-family: "Cormorant SC", serif;
  margin: 0 15px;
  width: auto !important;
}
.heightSlider {
  height: 600px;
}
.headBlock {
  margin-top: 75px;
}
.headBlock__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.headBlock__col_left {
  width: calc(66.66667% - 40px);
}
.headBlock__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(25% - 40px);
}
.headBlock__itemBlock {
  display: flex;
  align-items: flex-start;
}
.headBlock__iconBlock {
  display: flex;
}
.headBlock__icon {
  width: 70px;
  height: 70px;
  fill: #c2a048;
}
.headBlock__headingBlock {
  display: flex;
  flex-direction: column;
  margin-left: 20px;
}
.headBlock__title {
  font-size: 60px;
  line-height: 70px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.headBlock__subtitle {
  font-size: 30px;
  line-height: 40px;
  font-weight: 300;
  color: #6c6c6c;
}
.headBlock__activeBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-top: 10px;
  width: 100%;
}
.headBlock__selectBlock {
  display: flex;
  margin-top: 30px;
  align-items: center;
}
.headBlock__selectBlockText {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #6c6c6c;
  margin-right: 10px;
}
.headBlock__select {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #c2a048;
  background: none;
  border: none;
  position: relative;
}
.headBlock__selectIcon {
  width: 8px;
  height: 8px;
  fill: #c2a048;
  margin-left: 5px;
  transform: rotate(0deg);
  transition: 0.2s 0s ease-out;
}
.headBlock__select:active ~ .headBlock__selectIcon {
  transform: rotate(180deg);
  transition: 0.2s 0s ease-in;
}
.headBlock__linkEdit {
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
  color: #6c6c6c;
  text-transform: uppercase;
  position: relative;
  margin-top: 30px;
}
.headBlock__linkEdit::after {
  content: "";
  width: 0%;
  height: 1px;
  background: #aaaaaa;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.headBlock__linkEdit:hover {
  color: #6c6c6c;
}
.headBlock__linkEdit:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.headBlock__btnFilters[aria-expanded="false"] {
  font-family: "Cormorant SC", serif;
  padding: 15px 20px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  color: #fff;
  background: #c2a048;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  width: max-content;
  text-decoration: none;
  position: relative;
  transition: 0.1s 0s linear;
}
.headBlock__btnFilters[aria-expanded="false"]:hover {
  color: #fff;
  background: #7b6429;
}
.headBlock__btnFiltersText_default {
  opacity: 1;
  visibility: visible;
  position: relative;
  top: unset;
  right: unset;
}
.headBlock__btnFiltersText_open {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
.headBlock__btnFiltersIcon {
  width: 20px;
  height: 20px;
  margin-left: 20px;
  fill: #fff;
}
.headBlock__btnFiltersIcon_default {
  opacity: 1;
  visibility: visible;
  position: relative;
  top: unset;
  right: unset;
}
.headBlock__btnFiltersIcon_open {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  right: 0;
}
.headBlock__btnFilters[aria-expanded="true"] {
  position: relative;
  font-family: "Cormorant SC", serif;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  width: max-content;
  text-decoration: none;
  padding: 13px 18px;
  border: 2px solid #c2a048;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  background: #fff;
  transition: 0.1s 0s linear;
}
.headBlock__btnFilters[aria-expanded="true"]:hover {
  color: #343434;
  border: 2px solid #7b6429;
}
.headBlock__btnFilters[aria-expanded="true"]
  .headBlock__btnFiltersText_default {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
.headBlock__btnFilters[aria-expanded="true"] .headBlock__btnFiltersText_open {
  opacity: 1;
  visibility: visible;
  position: relative;
  top: unset;
  right: unset;
}
.headBlock__btnFilters[aria-expanded="true"] .headBlock__btnFiltersIcon {
  fill: #aaaaaa;
}
.headBlock__btnFilters[aria-expanded="true"]
  .headBlock__btnFiltersIcon_default {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  right: 0;
}
.headBlock__btnFilters[aria-expanded="true"] .headBlock__btnFiltersIcon_open {
  opacity: 1;
  visibility: visible;
  position: relative;
  top: unset;
  right: unset;
}

.orderCalc__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 700;
  line-height: 40px;
  color: #343434;
  text-transform: uppercase;
}

.orderCalc__finalList {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #343434;
  margin-top: 50px;
}

.orderCalc__finalListItem {
  display: flex;
  justify-content: space-between;
}
.orderCalc__finalListItem + .orderCalc__finalListItem {
  margin-top: 20px;
}

.orderCalc__finalListName {
  color: #6c6c6c;
}

.orderCalc__finalListData {
  text-align: right;
  color: #343434;
}

.orderCalc__finalCost {
  border-top: 1px solid #efefef;
  padding-top: 59px;
  margin: 60px 0;
}

.orderCalc__finalCostText {
  font-size: 24px;
  line-height: 30px;
  font-weight: 300;
  color: #343434;
  margin-bottom: 10px;
}

.orderCalc__finalCostSum {
  font-size: 64px;
  line-height: 70px;
  font-weight: 700;
  color: #343434;
  font-family: "Cormorant SC", serif;
  font-feature-settings: "pnum" on, "lnum" on;
}

.orderCalc__btnGoTo {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  color: #fff;
  padding: 20px 26px;
  color: #fff;
  background: #c2a048;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  width: max-content;
  text-decoration: none;
  font-family: "Cormorant SC", serif;
}
.orderCalc__btnGoTo:hover {
  color: #fff;
  background: #7b6429;
}

.orderCalc__btnGoToIcon {
  transform: rotate(-90deg);
  width: 20px;
  height: 20px;
  fill: #fff;
  margin-left: 20px;
}

.cartCard {
  border: 1px solid #ededed;
  display: flex;
}
.cartCard + .cartCard {
  margin-top: 50px;
}
.cartCard__imgWrap {
  width: 330px;
  height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cartCard__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cartCard__content {
  margin-left: 40px;
  padding: 40px 40px 40px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cartCard__accordionTitle {
  font-size: 24px;
  line-height: 30px;
  font-weight: 300;
  color: #343434;
  text-decoration: none;
  display: flex;
  align-items: center;
}
.cartCard .uk-accordion-title::before {
  display: none;
}
.cartCard__accordionIconWrap {
  display: flex;
  margin-left: 52px;
}
.cartCard__accordionIcon {
  width: 20px;
  height: 20px;
  fill: #c2a048;
}
.cartCard__accordionContent {
  margin-top: 30px;
}
.cartCard__listSpecifItem {
  display: flex;
  align-items: center;
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #343434;
}
.cartCard__listSpecifItem + .cartCard__listSpecifItem {
  margin-top: 10px;
}
.cartCard__listSpecifName {
  color: #6c6c6c;
}
.cartCard__listSpecifData {
  color: #343434;
  margin-left: 15px;
}
.cartCard__priceBlock {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 40px;
  padding-top: 29px;
  border-top: 1px solid #efefef;
}
.cartCard__price {
  display: flex;
  font-size: 28px;
  line-height: 40px;
  font-weight: 300;
}
.cartCard__newCost {
  font-weight: 700;
  color: #343434;
}
.cartCard__oldCost {
  color: #6c6c6c;
  text-decoration: line-through;
  margin-left: 30px;
  padding-left: 29px;
  border-left: 1px solid #d1d1d1;
}
.cartCard__deleteIconWrap {
  display: flex;
  transform: rotate(-90deg);
  transition: 0.2s 0s ease-out;
}
.cartCard__deleteIconWrap:hover {
  cursor: pointer;
  transform: rotate(90deg);
  transition: 0.3s 0s ease-in;
}
.cartCard__deleteIcon {
  width: 30px;
  height: 30px;
  fill: #6c6c6c;
}

.makingOrderSwitcher {
  display: flex;
}
.makingOrderSwitcher__item + .makingOrderSwitcher__item {
  margin-left: 50px;
}
.makingOrderSwitcher__link {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #d1d1d1;
  padding: 22px 27px;
  text-decoration: none;
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
}
.makingOrderSwitcher__link:hover {
  color: #6c6c6c;
}
.makingOrderSwitcher__item.uk-active .makingOrderSwitcher__link {
  border-color: #c2a048;
  color: #343434;
}
.makingOrderSwitcher__item.uk-active .makingOrderSwitcher__link:hover {
  color: #343434;
}
.makingOrderSwitcher__linkIcon {
  width: 30px;
  height: 30px;
  fill: #c2a048;
}
.makingOrderSwitcher__item.uk-active .makingOrderSwitcher__linkIcon {
  fill: #343434;
}
.makingOrderSwitcher__linkText {
  margin-left: 20px;
  white-space: nowrap;
}
.makingOrderSwitcher__content {
  margin-top: 40px;
}
.makingOrderSwitcher__contentText {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #6c6c6c;
}

.categoriesItem {
  column-span: all;
}
.categoriesItem__headBlock {
  display: flex;
  align-items: center;
}
.categoriesItem__iconWrap {
  display: flex;
  margin-right: 15px;
}
.categoriesItem__icon {
  width: 40px;
  height: 40px;
  fill: #aaaaaa;
}
.categoriesItem__title {
  font-size: 18px;
  line-height: 20px;
  font-weight: 500;
  color: #343434;
}
.categoriesItem__list {
  padding-left: 55px;
  margin-top: 20px;
}
.categoriesItem__listItem + .categoriesItem__listItem {
  margin-top: 10px;
}
.categoriesItem__listLink {
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  line-height: 15px;
  color: #6c6c6c;
  position: relative;
  text-decoration: none;
}
.categoriesItem__listLink::after {
  content: "";
  width: 0%;
  height: 1px;
  background: #aaaaaa;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.categoriesItem__listLink:hover {
  color: #6c6c6c;
}
.categoriesItem__listLink:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}

.login {
  max-width: 530px;
  width: 100%;
  border: 10px solid #efefef;
  padding: 90px;
}
.login__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 700;
  line-height: 40px;
  color: #343434;
}
.login__form {
  margin: 50px 0 30px;
}
.login__formItem + .login__formItem {
  margin-top: 40px;
}
.login__formBtn {
  font-size: 20px;
  line-height: 20px;
  font-weight: 700;
  color: #fff;
  padding: 20px 26px;
  background: #c2a048;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  width: 100%;
  text-decoration: none;
  font-family: "Cormorant SC", serif;
  margin-top: 10px;
}
.login__formBtn:hover {
  background: #7b6429;
}
.login__formBtnIcon {
  transform: rotate(-90deg);
  width: 20px;
  height: 20px;
  fill: #fff;
  margin-left: 20px;
}
.login__actions {
  display: flex;
  justify-content: space-between;
}
.login__link {
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
  position: relative;
  color: #c2a048;
}
.login__link::after {
  content: "";
  width: 0%;
  height: 1px;
  background: #c2a048;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.login__link:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}

.filtersBlock {
  margin-top: 90px;
}
.filtersBlock__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.filtersBlock__form {
  columns: 4 auto;
  height: 100%;
  column-rule: 1px solid #efefef;
  column-gap: 80px;
}
.filtersBlock__formColumnBlock {
  position: relative;
  page-break-inside: avoid;
  break-inside: avoid;
  height: 100%;
}
.filtersBlock__formColumnBlock_lastBlock {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 210px;
  align-items: center;
}
.filtersBlock__formItemsBlock + .filtersBlock__formItemsBlock {
  margin-top: 60px;
}
.filtersBlock__title {
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: #343434;
  margin-bottom: 20px;
  white-space: nowrap;
}

.singleSlider {
  width: 835px;
  height: 100%;
  min-height: 530px;
  max-height: 600px;
}
.singleSlider.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.singleSlider .slick-track {
  height: 100%;
  display: flex;
}
.singleSlider .slick-slide {
  display: flex;
  height: unset;
  width: 100%;
  max-width: 835px;
}
.singleSlider .slick-slide > div {
  width: 100%;
}

.header {
  font-family: "Cormorant SC", serif;
  position: fixed;
  width: 100%;
  z-index: 999;
  background: #fff;
  top: 0;
}
.header * {
  text-decoration: none;
}
.header__topPart {
  display: flex;
  width: 100%;
  padding-top: 35px;
}
.header__topPartCol {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(41.66667% - 40px);
  display: flex;
  align-items: center;
  border-bottom: 1px solid #f1f1f1;
  padding-bottom: 9px;
}
.header__topPartCol_centerItem {
  width: calc(16.66667% - 40px);
  justify-content: center;
  position: relative;
  border-bottom: 1px solid #fff0;
}
.header__leftItems {
  display: flex;
  align-items: center;
}
.header__topNav {
  margin-left: 16px;
}
.header__topList {
  display: flex;
}
.header__topItem + .header__topItem {
  margin-left: 40px;
}
.header__topLink {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #343434;
  position: relative;
}
.header__topLink::after {
  content: "";
  width: 0%;
  height: 1px;
  background: #aaaaaa;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.header__topLink:hover {
  color: #343434;
}
.header__topLink:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.header__logoWrap {
  display: flex;
  justify-content: center;
  width: 100%;
  position: absolute;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  height: 60px;
  background: #fff;
}
.header__logo {
  height: 60px;
  width: 188px;
}
.header__rightItems {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header__activeBlock {
  display: flex;
  align-items: center;
  margin-left: 57px;
}
.header__linkCooperation {
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  color: #c2a048;
  text-transform: uppercase;
  position: relative;
}
.header__linkCooperation::after {
  content: "";
  width: 0%;
  height: 1px;
  background: #c2a048;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.header__linkCooperation:hover {
  color: #c2a048;
}
.header__linkCooperation:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.header__infoBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.header__phoneLink {
  font-size: 15px;
  line-height: 15px;
  font-weight: 600;
  color: #343434;
  font-feature-settings: "pnum" on, "lnum" on;
}
.header__phoneLink:hover {
  color: #343434;
}
.header__workTime {
  font-size: 12px;
  line-height: 15px;
  font-weight: 600;
  color: #aaaaaa;
  text-align: right;
}
.header__activeItems {
  display: flex;
  align-items: center;
  margin-left: 35px;
  padding-left: 35px;
  border-left: 1px dashed #dcdcdc;
}
.header__activeItem {
  display: flex;
}
.header__activeItem + .header__activeItem {
  margin-left: 30px;
}
.header__activeIcon {
  width: 20px;
  height: 20px;
  fill: #343434;
}
.header__activeItem_visit .header__activeIcon {
  fill: #c2a048;
}
.header__activeItem:hover .header__activeIcon {
  fill: #6c6c6c;
}
.header__bottomPart {
  padding: 35px 0 25px;
  width: 100%;
}
.header__bottomPartCol {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.header__bottomList {
  display: flex;
  justify-content: space-between;
}
.header__catalogBlock {
  position: relative;
}
.header__catalogBtn {
  display: flex;
  align-items: center;
}
.header__bottomLink {
  display: flex;
  align-items: center;
}
.header__bottomIcon {
  width: 40px;
  height: 40px;
  fill: #aaaaaa;
}
.header__bottomLink:hover .header__bottomIcon {
  fill: #6c6c6c;
}
.header__bottomLink.active .header__bottomIcon {
  fill: #c2a048;
}
.header__bottomText {
  font-size: 18px;
  line-height: 20px;
  font-weight: 500;
  color: #343434;
  margin-left: 15px;
  position: relative;
}
.header__bottomText_catalog {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
}
.header__bottomText::after {
  content: "";
  width: 0%;
  height: 1px;
  background: #343434;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.header__bottomLink:hover .header__bottomText::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.header__bottomLink.active .header__bottomText::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #343434;
  position: absolute;
  bottom: 0;
  left: 0;
}

.footer {
  margin-top: 150px;
}
.footer * {
  text-decoration: none;
}
.footer__topPart {
  padding: 22px 0 21px;
  border-bottom: 1px solid #f1f1f1;
  width: 100%;
  position: relative;
}
.footer__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.footer__logoWrap {
  display: flex;
  justify-content: center;
  width: 264px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 60px;
  background: #fff;
}
.footer__logo {
  height: 60px;
  width: 188px;
}
.footer__mainPart {
  padding-bottom: 50px;
}
.footer__mainBlock {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 40px;
}
.footer__socialItems {
  display: flex;
  align-items: center;
}
.footer__socialLink {
  display: flex;
}
.footer__socialLink + .footer__socialLink {
  margin-left: 20px;
}
.footer__socialIcon {
  width: 40px;
  height: 40px;
  fill: #c2a048;
}
.footer__socialLink:hover .footer__socialIcon {
  fill: #7b6429;
}
.footer__desc {
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin-top: 50px;
}
.footer__docItems {
  display: flex;
}
.footer__docLink {
  display: flex;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  color: #aaaaaa;
  position: relative;
}
.footer__docLink::after {
  content: "";
  width: 0%;
  height: 1px;
  background: #aaaaaa;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.footer__docLink:hover {
  color: #aaaaaa;
}
.footer__docLink:hover::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.footer__docLink + .footer__docLink {
  margin-left: 40px;
}

.saleBlock {
  margin-top: 200px;
}
.saleBlock__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  margin-left: calc(16.66667% + 20px);
  width: calc(66.66667% - 40px);
}
.saleBlock__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  border: 10px solid #efefef;
  padding: 90px 158px;
}
.saleBlock__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.saleBlock__desc {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin: 30px 0 60px;
}

.reminderText {
  margin-top: 150px;
}
.reminderText__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  margin-left: calc(16.66667% + 20px);
  width: calc(66.66667% - 40px);
}
.reminderText__content {
  text-align: center;
}
.reminderText__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #343434;
}

.recommendProducts {
  margin-top: 250px;
}
.recommendProducts__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  /* width: calc(100% - 40px); */
  width: 100%;
  height: 100%;
}
.recommendProducts__sliderActions {
  margin-bottom: 10px;
}
.recommendProducts__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.recommendProducts__items {
  margin-top: 60px;
}
.recommendProducts .card {
  max-width: 453px;
  margin-right: 40px;
}

.catalogDropdown {
  position: absolute;
  top: 100px;
  left: 0;
  background: #fff;
  z-index: 9999;
  width: 100%;
  height: calc(100vh - 100px);
  margin-top: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s 0s linear;
  padding-bottom: 60px;
}
.catalogDropdown_visible {
  opacity: 1;
  visibility: visible;
}
.catalogDropdown__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.catalogDropdown__btnClose {
  font-size: 18px;
  line-height: 20px;
  font-weight: 500;
  color: #343434;
  display: flex;
  align-items: center;
  margin-top: 10px;
}
.catalogDropdown__btnCloseIcon {
  width: 40px;
  height: 40px;
  fill: #c2a048;
}
.catalogDropdown__btnCloseText {
  margin-left: 15px;
}
.catalogDropdown__catalogWrap {
  margin-top: 80px;
}
.catalogDropdown__catalogWrap {
  margin-top: 80px;
  overflow: auto;
  height: calc(100% - 130px);
}
.catalogDropdown .catalog {
  margin-top: 0;
}

.mainOffer {
  margin-top: 45px;
}
.mainOffer__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.mainOffer__col_left {
  width: calc(41.66667% - 40px);
}
.mainOffer__col_right {
  width: calc(58.33333% - 40px);
  z-index: 0;
}
.mainOffer__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.mainOffer__title {
  font-size: 72px;
  line-height: 90px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
  width: 710px;
  z-index: 1;
}
.mainOffer__desc {
  font-size: 32px;
  line-height: 40px;
  font-weight: 300;
  color: #6c6c6c;
  margin: 10px 0 70px;
}

.mainAbout {
  margin-top: 250px;
  position: relative;
}
.mainAbout__imgFlag {
  width: 835px;

  position: absolute;
  top: 0;
  left: -15%;
}
.flag {
  height: 480px;
}
.mainAbout__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.mainAbout__col_left {
  width: calc(33.33333% - 40px);
}
.mainAbout__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.mainAbout__content {
  display: flex;
  flex-direction: column;
}
.mainAbout__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.mainAbout__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin: 50px 0 40px;
}

.mainCollections {
  margin-top: 250px;
}
.mainCollections__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(33.33333% - 40px);
}
.mainCollections__col_right {
  width: calc(58.33333% - 40px);
  margin-left: calc(8.33333% + 20px);
}
.mainCollections__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.mainCollections__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.mainCollections__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin: 20px 0 80px;
}

.mainSale {
  margin-top: 250px;
}
.mainSale__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.mainSale__col_left {
  width: calc(33.33333% - 40px);
}
.mainSale__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.mainSale__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.mainSale__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.mainSale__desc {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin: 20px 0 70px;
}
.payment .stickyBlock__title,
.warranty .stickyBlock__title,
.delivery .stickyBlock__title,
.refund .stickyBlock__title,
.contacts .stickyBlock__title {
  display: none;
}
.cooperationOffer {
  margin-top: 80px;
}
.cooperationOffer__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.cooperationOffer__col_left {
  width: calc(41.66667% - 40px);
}
.cooperationOffer__col_right {
  width: calc(58.33333% - 40px);
}
.cooperationOffer__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.cooperationOffer__title {
  font-size: 72px;
  line-height: 90px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
  width: 710px;
  z-index: 1;
}
.cooperationOffer__desc {
  font-size: 32px;
  line-height: 40px;
  font-weight: 300;
  color: #6c6c6c;
  margin: 20px 0 70px;
}

.cooperationWhy {
  margin-top: 250px;
}
.cooperationWhy__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.cooperationWhy__col_left {
  width: calc(33.33333% - 40px);
}
.cooperationWhy__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.cooperationWhy__content {
  display: flex;
  flex-direction: column;
}
.cooperationWhy__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.cooperationWhy__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  margin-top: 50px;
}
.cooperationWhy__textParagraph + .cooperationWhy__textParagraph {
  margin-top: 20px;
}

.cooperationToWhom {
  margin-top: 250px;
}
.cooperationToWhom__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(33.33333% - 40px);
}
.cooperationToWhom__col_right {
  width: calc(58.33333% - 40px);
  margin-left: calc(8.33333% + 20px);
}
.cooperationToWhom__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.cooperationToWhom__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.cooperationToWhom__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin: 20px 0 80px;
}

.cooperationBenefits {
  margin-top: 250px;
}
.cooperationBenefits__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.cooperationBenefits__col_left {
  width: calc(33.33333% - 40px);
}
.cooperationBenefits__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(50% - 40px);
  margin-right: calc(8.33333% + 20px);
}
.cooperationBenefits__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.cooperationBenefits__desc {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  margin-top: 50px;
}
.cooperationBenefits ul {
  margin-top: 30px;
}
.cooperationBenefits li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  position: relative;
  padding-left: 25px;
}
.cooperationBenefits li:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #c2a048;
  position: absolute;
  top: 10px;
  left: 0;
}
.cooperationBenefits li + .cooperationBenefits li {
  margin-top: 10px;
}

.cooperationForm {
  margin-top: 250px;
  padding-bottom: 110px;
}
.cooperationForm__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  margin-left: calc(16.66667% + 20px);
  width: calc(66.66667% - 40px);
}
.cooperationForm__content {
  border: 10px solid #efefef;
  padding: 100px 90px 110px;
}
.cooperationForm__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
  text-align: center;
}
.cooperationForm__desc {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  margin-top: 10px;
}
.cooperationForm__form {
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  grid-gap: 40px;
}
.cooperationForm .cooperationForm__btnFill {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  width: 100%;
  justify-content: space-between;
}
.cooperationForm .cooperationForm__btnFillIcon {
  width: 20px;
  height: 20px;
}
.cooperationForm__approval {
  font-size: 14px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  margin-top: 40px;
}
.cooperationForm__approvalLink {
  color: #c2a048;
}

.about {
  margin-top: 80px;
}
.about__row + .about__row {
  margin-top: 80px;
}
.about__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.about__col_left {
  width: calc(33.33333% - 40px);
}
.about__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.about__item + .about__item {
  margin-top: 80px;
}
.about__text {
  font-size: 20px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.about__text + .about__text {
  margin-top: 20px;
}
.about__content ul {
  margin-top: 10px;
}
.about__content li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  position: relative;
  padding-left: 25px;
}
.about__content li:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #c2a048;
  position: absolute;
  top: 10px;
  left: 0;
}
.about__content li + .about__content li {
  margin-top: 10px;
}

.aboutInside {
  margin-top: 80px;
}
.aboutInside__row + .aboutInside__row {
  margin-top: 50px;
}
.aboutInside__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.aboutInside__col_left {
  width: calc(33.33333% - 40px);
}
.aboutInside__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.aboutInside__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.aboutInside__mainContent ul {
  margin-top: 10px;
}
.aboutInside__mainContent li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  position: relative;
  padding-left: 25px;
}
.aboutInside__mainContent li:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #c2a048;
  position: absolute;
  top: 10px;
  left: 0;
}
.aboutInside__mainContent li + .aboutInside__mainContent li {
  margin-top: 10px;
}
.aboutInside__item + .aboutInside__item {
  margin-top: 80px;
}
.aboutInside__imgWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.aboutInside__imgWrap_border {
  border: 10px solid #d1d1d1;
}
.aboutInside__img {
  width: 100%;
  height: 100%;
  min-height: 400px;
  max-height: 400px;
  object-fit: cover;
}
.aboutInside__imgWrap_border .aboutInside__img {
  object-fit: contain;
}
.aboutInside__subtitle {
  font-size: 36px;
  line-height: 50px;
  font-weight: 700;
  color: #343434;
  margin-bottom: 10px;
}
.aboutInside__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}

.payment {
  margin-top: 80px;
}
.payment__row + .payment__row {
  margin-top: 50px;
}
.payment__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.payment__col_left {
  width: calc(33.33333% - 40px);
}
.payment__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.payment__title {
  font-size: 60px;
  line-height: 70px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.payment__subtitle {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  color: #6c6c6c;
}
.payment__imgItems {
  display: flex;
  align-items: center;
  margin: 20px 0 40px;
}
.payment__img {
  object-fit: contain;
}
.payment__img + .payment__img {
  margin-left: 20px;
}
.payment__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.payment__text + .payment__text {
  margin-top: 20px;
}
.payment__content ul {
  margin: 10px 0 50px;
}
.payment__content li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  position: relative;
  padding-left: 25px;
}
.payment__content li:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #c2a048;
  position: absolute;
  top: 10px;
  left: 0;
}
.payment__content li + .payment__content li {
  margin-top: 10px;
}

.delivery {
  margin-top: 80px;
}
.delivery__row + .delivery__row {
  margin-top: 50px;
}
.delivery__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.delivery__col_left {
  width: calc(33.33333% - 40px);
}
.delivery__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.delivery__title {
  font-size: 60px;
  line-height: 70px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.delivery__contentItem + .delivery__contentItem {
  margin-top: 150px;
}
.delivery__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.delivery__text_reg {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
}
.delivery__textItems {
  display: flex;
  align-items: flex-start;
  margin-top: 40px;
}
.delivery__iconBlock {
  display: flex;
}
.delivery__icon {
  width: 60px;
  height: 60px;
  fill: #c2a048;
}
.delivery__textBlock {
  margin-left: 30px;
}
.delivery__subtitle {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
}
.delivery__subtitle_sm {
  font-size: 36px;
  line-height: 50px;
  font-weight: 700;
  line-height: 60px;
  margin-bottom: 10px;
}
.delivery__content ol {
  margin: 50px 0 0;
  padding-left: 0;
}
.delivery__content ol li {
  list-style: decimal inside;
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.delivery__content ol li + .delivery__content ol li {
  margin-top: 20px;
}

.refund {
  margin-top: 80px;
}
.refund__row + .refund__row {
  margin-top: 50px;
}
.refund__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.refund__col_left {
  width: calc(33.33333% - 40px);
}
.refund__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.refund__title {
  font-size: 60px;
  line-height: 70px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.refund__text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.refund__content ol {
  margin: 20px 0;
  padding-left: 0;
}
.refund__content ol li {
  list-style: decimal inside;
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.refund__content ol li + .refund__content ol li {
  margin-top: 20px;
}
.refund__content ul {
  margin: 20px 0;
  padding-left: 0;
}
.refund__content ul li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  list-style: disc inside;
}
.refund__content ul li + .refund__content ul li {
  margin-top: 20px;
}

.warranty {
  margin-top: 80px;
  padding-bottom: 180px;
}
.warranty__row + .warranty__row {
  margin-top: 50px;
}
.warranty__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.warranty__col_left {
  width: calc(33.33333% - 40px);
}
.warranty__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.warranty__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.warranty__contentItem + .warranty__contentItem {
  margin-top: 80px;
}
.warranty__contentBlock + .warranty__contentBlock {
  margin-top: 40px;
}
.warranty__subtitle {
  font-size: 48px;
  line-height: 60px;
  font-weight: 700;
  color: #c2a048;
}
.warranty__subtext {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  line-height: 20px;
  color: #6c6c6c;
  margin-bottom: 20px;
}
.warranty__content ol {
  margin: 20px 0;
  padding-left: 0;
}
.warranty__content ol li {
  list-style: decimal inside;
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.warranty__content ol li + .warranty__content ol li {
  margin-top: 20px;
}
.warranty__content ul {
  margin: 20px 0;
  padding-left: 0;
}
.warranty__content ul li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  list-style: disc inside;
}
.warranty__content ul li + .warranty__content ul li {
  margin-top: 20px;
}

.contacts {
  margin-top: 80px;
}
.contacts__row + .contacts__row {
  margin-top: 50px;
}
.contacts__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.contacts__col_left {
  width: calc(33.33333% - 40px);
}
.contacts__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.contacts__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.contacts__contentItem {
  display: flex;
}
.contacts__contentItem + .contacts__contentItem {
  margin-top: 150px;
}
.contacts__contentItem_data {
  flex-direction: column;
}
.contacts__contentBlock {
  max-width: 330px;
}
.contacts__item {
  display: flex;
  flex-direction: column;
}
.contacts__item + .contacts__item {
  margin-top: 40px;
}
.contacts__subtitle {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  line-height: 40px;
  color: #343434;
}
.contacts__link {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #6c6c6c;
  position: relative;
  width: max-content;
  text-decoration: none;
}
.contacts__link:hover {
  color: #6c6c6c;
}
.contacts__link:hover::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #6c6c6c;
  position: absolute;
  bottom: 0;
  left: 0;
}
.contacts__text {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #6c6c6c;
}
.contacts__mapBlock {
  width: 100%;
  margin-left: 40px;
}
.contacts__dataBlock {
  max-width: 505px;
  margin-top: 50px;
}
.contacts__dataText {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  line-height: 20px;
  color: #6c6c6c;
}

.policy {
  margin-top: 80px;
}
.policy__row + .policy__row {
  margin-top: 50px;
}
.policy__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.policy__col_left {
  width: calc(33.33333% - 40px);
}
.policy__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(58.33333% - 40px);
}
.policy__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.policy__mainContent ol {
  margin: 20px 0;
  padding-left: 0;
}
.policy__mainContent ol li {
  list-style: decimal inside;
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
}
.policy__mainContent ol li + .policy__mainContent ol li {
  margin-top: 20px;
}
.policy__mainContent ul {
  margin: 20px 0;
  padding-left: 0;
}
.policy__mainContent ul li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  list-style: disc inside;
}
.policy__mainContent ul li + .policy__mainContent ul li {
  margin-top: 20px;
}

.errorPage {
  margin-top: 80px;
}
.errorPage__row + .errorPage__row {
  margin-top: 50px;
}
.errorPage__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.errorPage__content {
  border: 10px solid #d1d1d1;
  padding: 80px 90px 90px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.errorPage__title {
  font-size: 200px;
  line-height: 200px;
  font-weight: 900;
  color: #c2a048;
  font-feature-settings: "pnum" on, "lnum" on;
}
.errorPage__icon {
  width: 152px;
  height: 152px;
}
.errorPage__subtitle {
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  line-height: 40px;
  color: #6c6c6c;
  font-feature-settings: "pnum" on, "lnum" on;
  max-width: 454px;
  margin: 30px 0 60px;
}
.errorPage__btnSolid {
  font-weight: 400;
}

.showcase {
  margin-top: 70px;
}
.showcase__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.showcase__col_left {
  width: calc(66.66667% - 40px);
}
.showcase__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(25% - 40px);
}
.showcase__content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(453px, 453px));
  grid-gap: 40px;
  margin-top: 70px;
}

.productCard {
  margin-top: 80px;
}
.productCard__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.productCard__col_left {
  width: calc(41.66667% - 40px);
}
.productCard__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(50% - 40px);
}
.productCard__sliderMainWrap {
  position: relative;
  width: 100%;
  height: 100%;
  border: 1px solid #efefef;
}
.productCard__sliderMain {
  width: 100%;
  height: 100%;
  max-height: 570px;
}
.productCard__sliderMain.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.productCard__sliderMain .slick-track {
  height: 100%;
  display: flex;
}
.productCard__sliderMain .slick-slide {
  display: flex;
  height: unset;
  width: 100%;
  max-width: 577px;
}
.productCard__sliderMain .slick-slide > div {
  width: 100%;
}
.productCard__mainImg {
  width: 100%;
  height: 100%;
  max-height: 570px;
  object-fit: contain;
}
.productCard__stickerImg {
  font-family: "Cormorant SC", serif;
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
  color: #fff;
  background: #c2a048;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  position: absolute;
  top: 29px;
  left: 29px;
}
.productCard__sliderActions {
  bottom: 0;
  right: 0;
}
.productCard__sliderNavWrap {
  margin-top: 40px;
}
.productCard__sliderNav {
  display: flex;
  width: 100%;
}
.productCard__sliderNav .slick-slide.slick-active {
  opacity: 1 !important;
}
.productCard__sliderNav .slick-slide {
  width: 120px;
  height: 120px;
  margin-right: 32px;
}
.productCard__sliderNav .slick-slide > div {
  display: flex;
}
.productCard__navImgWrap {
  width: 120px;
  height: 120px;
  border: 1px solid #efefef;
}
.productCard__navImgWrap:hover {
  cursor: pointer;
}
.productCard__navImg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.productCard__switcherContentBlock {
  margin-top: 50px;
}
.productCard__content {
  height: 100%;
}
.productCard__article {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  color: #aaaaaa;
  margin-bottom: 10px;
}
.productCard__title {
  font-size: 48px;
  line-height: 60px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
}
.productCard__subtitle {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  color: #6c6c6c;
}
.productCard__warning {
  display: flex;
  align-items: center;
  margin-top: 50px;
}
.productCard__warningIcon {
  width: 30px;
  height: 30px;
  fill: #c2a048;
}
.productCard__warningText {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  color: #aaaaaa;
  margin-left: 10px;
}
.productCard__mainContentWrap {
  margin-top: 30px;
}
.productCard__switcherNav {
  display: flex;
}
.productCard__switcherNavItem {
  display: flex;
}
.productCard__switcherNavLink {
  text-decoration: none;
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  color: #aaaaaa;
  padding: 19px 0;
  width: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #efefef;
  border: 1px solid #efefef;
  position: relative;
  top: 2px;
  z-index: 2;
}
.productCard__switcherNavLink:hover {
  color: #aaaaaa;
}
.productCard__switcherNavItem.uk-active .productCard__switcherNavLink {
  color: #343434;
  background: #fff;
  border-bottom-color: #fff;
}
.productCard__switcherNavItem.uk-active .productCard__switcherNavLink:hover {
  color: #343434;
}
.productCard__switcherContent {
  border: 1px solid #efefef;
  z-index: 1;
}
.productCard__switcherContentItem {
  padding: 30px;
}
.productCard__specifItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.productCard__specifItem + .productCard__specifItem {
  margin-top: 25px;
}
.productCard__specifMainContent {
  display: flex;
  align-items: center;
}
.productCard__specifQuest {
  background: #d1d1d1;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.productCard__specifQuestIcon {
  width: 5px;
  height: 5px;
  fill: #6c6c6c;
}
.productCard__specifName {
  font-size: 14px;
  line-height: 30px;
  font-weight: 300;
  color: #343434;
  margin: 0 9px 0 5px;
}
.productCard__specifCost {
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  color: #343434;
}
.productCard__setBlock {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 15px;
}
.productCard__setBlockItem {
  display: flex;
  align-items: center;
}
.productCard__setText {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  line-height: 20px;
  color: #6c6c6c;
}
.productCard__setText_bold {
  line-height: 30px;
  font-weight: 700;
  color: #343434;
  margin-left: 10px;
}
.productCard__finalBlock {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
}
.productCard__finalCost {
  font-size: 48px;
  line-height: 60px;
  font-weight: 700;
  line-height: 50px;
  color: #343434;
  font-feature-settings: "pnum" on, "lnum" on;
}
.productCard__finalActions {
  display: flex;
  align-items: center;
}
.productCard__inputBlock {
  display: flex;
  margin-right: 20px;
}
.productCard__input {
  border: 1px solid #d1d1d1;
  padding: 9px;
  font-size: 14px;
  line-height: 30px;
  font-weight: 300;
  color: #343434;
  text-transform: uppercase;
  width: 60px;
  max-width: 60px;
  max-height: 50px;
  text-align: center;
}
.productCard__switcherDescNav {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #efefef;
  padding-bottom: 20px;
}
.productCard__switcherDescNavItem + .productCard__switcherDescNavItem {
  margin-left: 40px;
}
.productCard__switcherDescNavLink {
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
  text-decoration: none;
}
.productCard__switcherDescNavLink:hover {
  color: #6c6c6c;
}
.productCard__switcherDescNavItem.uk-active .productCard__switcherDescNavLink {
  font-size: 18px;
  line-height: 30px;
  font-weight: 600;
  color: #343434;
}
.productCard__switcherDescContent {
  margin-top: 40px;
}
.productCard__switcherDescText {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #6c6c6c;
}
.productCard__switcherDescText + .productCard__switcherDescText {
  margin-top: 20px;
}
.productCard__switcherDescSubtitle {
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  line-height: 30px;
  color: #343434;
  margin-bottom: 20px;
  margin-top: 30px;
}

.cartList {
  margin-top: 70px;
}
.cartList__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.cartList__col_left {
  width: calc(66.66667% - 40px);
}
.cartList__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(25% - 40px);
}
.cartList__sideRight {
  height: 100%;
}

.makingOrder {
  margin-top: 70px;
}
.makingOrder__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.makingOrder__col_left {
  width: calc(50% - 40px);
}
.makingOrder__col_right {
  margin-left: calc(25% + 20px);
  width: calc(25% - 40px);
}
.makingOrder__mainItem + .makingOrder__mainItem {
  margin-top: 100px;
}
.makingOrder__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 700;
  line-height: 40px;
  color: #343434;
  text-transform: uppercase;
  margin-bottom: 50px;
}
.makingOrder__sideRight {
  height: 100%;
}

.makingDelivery__formSubtitle {
  margin-bottom: 20px;
}

.makingDelivery__inputBlock + .makingDelivery__inputBlock {
  margin-top: 40px;
}

.makingDelivery__inputGroup {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

.makingDelivery__inputGroup
  .makingDelivery__inputBlock
  + .makingDelivery__inputBlock {
  margin-left: 40px;
  margin-top: 0;
}

.makingDelivery__infoBlock {
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #343434;
  display: flex;
  align-items: center;
  margin-top: 30px;
}

.makingDelivery__infoBlockIcon {
  width: 30px;
  height: 30px;
  fill: #c2a048;
}

.makingDelivery__infoBlockText {
  margin-left: 10px;
  text-transform: uppercase;
}

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

.makingData__inputBlock + .makingData__inputBlock {
  margin-top: 40px;
}

.makingData__inputGroup + .makingData__inputBlock {
  margin-top: 40px;
}

.makingData__inputGroup .makingData__inputBlock + .makingData__inputBlock {
  margin-left: 40px;
  margin-top: 0;
}

.makingData__text {
  margin-top: 60px;
}
.makingData__text + .makingData__text {
  margin-top: 0;
}

.makingData__text + .makingData__inputBlock {
  margin-top: 20px;
}

.makingData__textareaWrap {
  margin: 60px 0 20px;
}

.orderPlaced {
  margin-top: 70px;
}
.orderPlaced__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.orderPlaced__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 10px solid #efefef;
  padding: 90px 140px 90px 90px;
}
.orderPlaced__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 700;
  line-height: 40px;
  color: #343434;
}
.orderPlaced__subtitle {
  font-size: 36px;
  line-height: 40px;
  font-weight: 300;
  color: #6c6c6c;
  margin-top: 20px;
}
.orderPlaced__text {
  font-size: 18px;
  margin: 40px 0 60px;
  max-width: 500px;
}
.orderPlaced__iconBlock {
  display: flex;
  margin-left: 100px;
}
.orderPlaced__icon {
  width: 400px;
  height: 400px;
  fill: #c2a048;
}

.catalog {
  margin-top: 70px;
}
.catalog__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.catalog__col_left {
  width: calc(50% - 40px);
}
.catalog__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(41.66667% - 40px);
}
.catalog__categoriesItems {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(305px, 1fr));
  grid-gap: 40px;
}
.catalog__collectionsBlock {
  margin-bottom: 60px;
}
.catalog__collectionsTitle {
  font-size: 18px;
  line-height: 30px;
  font-weight: 600;
  color: #343434;
  text-transform: uppercase;
  margin-bottom: 35px;
}
.catalog__collectionsItems {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
  grid-gap: 40px;
}

.loginPage {
  margin-top: 75px;
}
.loginPage__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}
.loginPage__content {
  display: flex;
  justify-content: center;
}

.loginInside {
  margin-top: 80px;
}
.loginInside__row + .loginInside__row {
  margin-top: 50px;
}
.loginInside__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
}
.loginInside__col_left {
  width: calc(25% - 40px);
}
.loginInside__col_right {
  margin-left: calc(8.33333% + 20px);
  width: calc(66.66667% - 40px);
}
.loginInside__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 700;
  line-height: 40px;
  color: #343434;
  text-transform: uppercase;
}
.loginInside__contentItem {
  border-bottom: 1px dashed #6c6c6c;
  padding-bottom: 20px;
}
.loginInside__contentItem_solid {
  border-bottom: 1px solid #efefef;
}
.loginInside__contentItem + .loginInside__contentItem {
  margin-top: 30px;
}
.loginInside__colInside {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  display: flex;
  justify-content: flex-start;
}
.loginInside__colInside_s {
  width: calc(16.66667% - 40px);
}
.loginInside__colInside_m {
  width: calc(25% - 40px);
}
.loginInside__colInside_end {
  justify-content: flex-end;
}
.loginInside__subtitle {
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
  line-height: 20px;
  color: #6c6c6c;
}
.loginInside__subtitle_black {
  color: #343434;
}
.loginInside__accordionTitleBlock {
  text-decoration: none;
}
.loginInside .uk-accordion-title::before {
  display: none;
}
.loginInside__statusText {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #343434;
}
.loginInside__statusText_accept {
  color: #c2a048;
}
.loginInside__statusText_cancel {
  color: #aaaaaa;
}
.loginInside__more {
  display: flex;
  align-items: center;
}
.loginInside__moreTextBlock {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #343434;
  position: relative;
  display: flex;
}
.loginInside__moreText {
  opacity: 1;
  visibility: visible;
  transition: 0.2s 0s ease-out;
}
.loginInside__rollUpText {
  opacity: 0;
  visibility: hidden;
  color: #c2a048;
  position: absolute;
  top: 0;
  right: 0;
  transition: 0.2s 0s ease-out;
}
.loginInside__accordionWrap.uk-open .loginInside__moreText {
  opacity: 0;
  visibility: hidden;
  transition: 0.2s 0s ease-in;
}
.loginInside__accordionWrap.uk-open .loginInside__rollUpText {
  opacity: 1;
  visibility: visible;
  transition: 0.2s 0s ease-in;
}
.loginInside__moreIcon {
  width: 20px;
  height: 20px;
  fill: #c2a048;
  margin-left: 15px;
}

.offerForm {
  border: 10px solid #efefef;
  padding: 80px 90px 110px;
  margin-top: 150px;
}
.offerForm__title {
  font-size: 36px;
  line-height: 50px;
  font-weight: 600;
  color: #343434;
  text-align: center;
  text-transform: uppercase;
}
.offerForm__desc {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: #343434;
  margin: 10px 0 50px;
  text-align: center;
}
.offerForm__inputGroup {
  display: flex;
}
.offerForm__inputBlock + .offerForm__inputBlock {
  margin-left: 40px;
}
.offerForm__textareaWrap {
  margin: 40px 0;
}
.offerForm__formActions {
  display: flex;
  align-items: center;
}
.offerForm .offerForm__formBtnFill {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  max-width: 190px;
  width: 100%;
}
.offerForm .offerForm__formBtnFillIcon {
  width: 20px;
  height: 20px;
  margin-left: 15px;
}
.offerForm__formApproval {
  font-size: 14px;
  line-height: 30px;
  font-weight: 300;
  color: #6c6c6c;
  margin-left: 40px;
}

.test__col {
  box-sizing: border-box;
  word-wrap: break-word;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
}

.btnSolid {
  font-size: 20px;
  line-height: 30px;
  font-weight: 600;
  font-family: "Cormorant SC", serif;
  color: #343434;
  border: 4px solid #c2a048;
  padding: 16px 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  width: max-content;
  text-decoration: none;
}
.btnSolid:hover {
  color: #343434;
  border: 4px solid #7b6429;
}
.btnSolid_sm {
  padding: 13px 18px;
  border: 2px solid #c2a048;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
}
.btnSolid_sm:hover {
  border: 2px solid #7b6429;
}
.btnSolid__icon {
  width: 30px;
  height: 30px;
  fill: #aaaaaa;
  margin-left: 25px;
}
.btnSolid__icon_dark {
  fill: #6c6c6c;
}
.btnSolid__icon_backTo {
  margin-left: 0;
  margin-right: 25px;
  transform: rotate(90deg);
}
.btnSolid_sm .btnSolid__icon {
  width: 20px;
  height: 20px;
  margin-left: 20px;
}
.btnSolid_sm .btnSolid__icon_backTo {
  margin-right: 20px;
  margin-left: 0;
}

.linkTo {
  display: flex;
  align-items: center;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  color: #c2a048;
  text-decoration: none;
  position: relative;
  text-decoration: none;
}
.linkTo:hover {
  color: #c2a048;
}
.linkTo__text {
  position: relative;
}
.linkTo__text::after {
  content: "";
  width: 0;
  height: 1px;
  background: #c2a048;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.2s 0s ease-out;
}
.linkTo:hover .linkTo__text::after {
  width: 100%;
  transition: 0.2s 0s ease-in;
}
.linkTo__icon {
  width: 20px;
  height: 20px;
  fill: #aaaaaa;
  margin-left: 20px;
}
.linkTo:hover .linkTo__icon {
  fill: #c2a048;
}

.btnFill {
  padding: 20px 30px;
  font-family: "Cormorant SC", serif;
  font-size: 20px;
  line-height: 30px;
  font-weight: 400;
  color: #fff;
  background: #c2a048;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  width: max-content;
  text-decoration: none;
}
.btnFill:hover {
  color: #fff;
  background: #7b6429;
}
.btnFill__icon {
  width: 30px;
  height: 30px;
  fill: #fff;
  margin-left: 25px;
}
.btnFill_s {
  padding: 15px 20px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
}
.btnFill_s .btnFill__icon {
  width: 20px;
  height: 20px;
  margin-left: 20px;
}

.inputBlock {
  position: relative;
  width: 100%;
}
.inputBlock__label {
  position: absolute;
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #6c6c6c;
  background: #fff;
  text-transform: uppercase;
  top: calc(50% - 10px);
  left: 15px;
  padding: 0 10px;
  transition: 0.2s 0s cubic-bezier(0.57, 0.04, 1, 0.95);
}
.inputBlock__label_textarea {
  top: 20px;
}
.inputBlock__label_active {
  top: -10px;
}
.inputBlock__input {
  border: 2px solid #d1d1d1;
  padding: 18px 23px;
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
  line-height: 20px;
  color: #343434;
  width: 100%;
  text-transform: uppercase;
}
.inputBlock__input:focus-visible {
  outline: none;
}
.inputBlock__input:focus ~ .inputBlock__label {
  top: -10px;
}

::-webkit-input-placeholder {
  color: #6c6c6c;
}

::-moz-placeholder {
  color: #6c6c6c;
}

/* Firefox 19+ */
:-moz-placeholder {
  color: #6c6c6c;
}

/* Firefox 18- */
:-ms-input-placeholder {
  color: #6c6c6c;
}

.textarea {
  resize: none;
  min-height: 230px;
  max-height: 230px;
}

textarea.textarea::placeholder {
  color: #6c6c6c;
}

.radioGroup {
  display: flex;
  align-items: center;
  /* Checked */
  /* Hover */
}
.radioGroup__btnRadio {
  display: flex;
  margin-bottom: 0;
}
.radioGroup__btnRadio + .radioGroup__btnRadio {
  margin-left: 10px;
}
.radioGroup__btnRadio input[type="radio"] {
  display: none;
}
.radioGroup__btnRadio label {
  cursor: pointer;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  color: #aaaaaa;
  border: 1px solid #d1d1d1;
  padding: 4px 14px;
  border-radius: 25px;
}
.radioGroup__btnRadio input[type="radio"]:checked + label {
  color: #fff;
  border: 1px solid #c2a048;
  background: #c2a048;
}
.radioGroup__btnRadio label:hover {
  border: 1px solid #9e9e9e;
  color: #777777;
}
.cartCard__accordionTitleText {
  font-size: 24px;
  line-height: 30px;
  font-weight: 300;
  color: #343434;
  text-decoration: none;
}
.choiceInput {
  display: flex;
  align-items: center;
}
.choiceInput + .choiceInput {
  margin-top: 10px;
}
.choiceInput__input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.choiceInput label {
  position: relative;
  white-space: nowrap;
}
.choiceInput__input + label {
  display: inline-flex;
  align-items: center;
  user-select: none;
}
.choiceInput__input + label::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  flex-grow: 0;
  border: 1px solid #d1d1d1;
  box-sizing: border-box;
  margin-right: 10px;
  background-repeat: no-repeat;
  background-position: center center;
}
.choiceInput_circle .choiceInput__input + label::before {
  border-radius: 100%;
}
.choiceInput_big .choiceInput__input + label::before {
  width: 30px;
  height: 30px;
  border: 2px solid #d1d1d1;
}
.choiceInput_big .choiceInput__input + label::after {
  content: "";
  width: 16px;
  height: 16px;
  background: #6f290c;
  position: absolute;
  left: 7px;
  top: 7px;
  border-radius: 100%;
}
.choiceInput__input:hover + label,
.choiceInput__input:hover + label::before {
  cursor: pointer;
}
.choiceInput_big .choiceInput__input:checked + label::before {
  border-color: #c2a048;
}
.choiceInput__input:checked + label::after {
  content: "";
  width: 8px;
  height: 8px;
  background: #c2a048;
  position: absolute;
  left: 3px;
  top: 6px;
}
.choiceInput_circle .choiceInput__input:checked + label::after {
  border-radius: 100%;
}
.choiceInput_big .choiceInput__input:checked + label::after {
  background: #6f290c;
  width: 16px;
  height: 16px;
  left: 7px;
  top: 7px;
}
.choiceInput__input:checked + label {
  color: #c2a048;
}
.choiceInput__input:disabled + label::before {
  border-color: #f3f3f3;
  background-color: #fbfbfb;
}
.choiceInput__input:disabled + label {
  color: #aaaaaa;
}
.header__linkCooperation--mobile {
  display: none;
}
.burgerMenu__listItem--mobile,
.header__catalogBtn--mobile {
  display: none;
}
.loginInside__subtitle--first--mobile,
.loginInside__col_left--mobile {
  display: none;
}
@media (max-width: 1440px) {
  .card__costOld {
    margin-left: 15px;
    padding-left: 15px;
  }
  .filtersBlock__formColumnBlock_lastBlock {
    width: 100%;
  }
  .header__activeBlock {
    margin-left: 12px;
  }
  .header__activeItems {
    margin-left: 12px;
    padding-left: 12px;
  }
  .header__logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .header__topPartCol {
    margin-left: 12px;
    margin-right: 12px;
  }
  .header__topItem + .header__topItem {
    margin-left: 20px;
  }
  .header__bottomText {
    margin-left: 10px;
  }
  .header__topPartCol {
    width: calc(41.66667% - 24px);
  }
  .header__activeItem + .header__activeItem {
    margin-left: 15px;
  }
  .header__topPartCol_centerItem {
    width: calc(16.66667% - 24px);
  }
  * {
    box-sizing: border-box;
  }
  .header .row {
    margin-left: 0px;
    margin-right: 0px;
  }

  .header .wrap {
    padding-left: 0px;
    padding-right: 0px;
  }
  .header {
    left: 0;
  }
  .header__topPart {
    padding-top: 25px;
  }
  .header__bottomPart {
    padding: 20px 0;
  }
  .mainOffer__title,
  .headBlock__title {
    font-size: 62px;
    line-height: 80px;
    width: 120%;
  }
  .header__bottomPartCol {
    margin-left: 12px;
    margin-right: 12px;
    width: calc(100% - 24px);
  }
  .mainAbout__imgFlag {
    width: 50%;
  }
  .mainAbout,
  .mainCollections,
  .mainSale {
    margin-top: 200px;
  }
  .cooperationOffer__title {
    width: 120%;
  }
  .mainAbout__title,
  .mainCollections__title,
  .mainSale__title,
  .sidebar__title,
  .cooperationOffer__title {
    font-size: 40px;
    line-height: 50px;
  }
  .mainAbout__text {
    margin: 40px 0 30px;
  }
  .catalogDropdown {
    top: 80px;
    height: calc(100vh - 80px);
  }
  .saleBlock {
    margin-top: 150px;
  }
  .cooperationBenefits,
  .cooperationForm {
    margin-top: 150px;
  }
  .headBlock__col_right--catalog,
  .headBlock__col_right--account {
    margin-left: 20px;
    width: calc(45% - 40px);
  }
  .headBlock__col_left--catalog,
  .headBlock__col_left--account {
    margin-left: 20px;
    width: calc(55% - 40px);
  }
  .filtersBlock__title {
    white-space: normal;
  }
  .cartList__col_left {
    width: calc(65% - 40px);
  }
  .cartList__col_right {
    margin-left: 20px;
    width: calc(35% - 40px);
  }
  .orderCalc__btnGoTo {
    padding: 15px;
    font-size: 16px;
    line-height: 20px;
  }
  .recommendProducts .card {
    width: 33% !important;
  }
}
@media (max-width: 1024px) {
  .recommendProducts .card {
    width: 45% !important;
  }
  .productCard__setBlock {
    flex-direction: column;
    align-items: flex-start;
  }

  .loginInside__colInside_s {
    width: calc(19% - 20px);
    margin-left: 20px;
    margin-right: 0px;
  }
  .loginInside__moreIcon {
    margin-left: 0;
  }
  .loginInside__rowInside .loginInside__colInside_s:first-child,
  .loginInside__rowInside .loginInside__colInside_s:last-child {
    width: calc(15% - 20px);
    margin-left: 20px;
    margin-right: 0px;
  }
  .loginInside__colInside_end {
    justify-content: center;
  }
  .loginInside__colInside_m {
    width: calc(24% - 10px);
    margin-left: 10px;
    margin-right: 0px;
  }
  .loginInside__moreText,
  .loginInside__rollUpText {
    display: none;
  }
  .loginInside__col_right {
    margin-left: 20px;
    width: calc(75% - 40px);
  }
  .cartList__col_left {
    width: calc(60% - 40px);
  }
  .cartList__col_right {
    margin-left: 10px;
    width: calc(40% - 40px);
  }
  .cartCard__accordionTitleText {
    font-size: 22px;
    line-height: 26px;
  }
  .cartCard__accordionIconWrap {
    margin-left: 25px;
  }
  .cartCard__content {
    margin-left: 25px;
    padding: 15px 15px 15px 0;
  }
  .orderCalc__finalList {
    margin-top: 45px;
  }
  .orderCalc__finalCost {
    margin: 50px 0;
    padding-top: 10px;
  }
  .orderCalc__title {
    font-size: 26px;
    line-height: 30px;
  }
  .filtersBlock__title {
    font-size: 20px;
    line-height: 26px;
  }
  .filtersBlock__form {
    column-gap: 40px;
  }
  .headBlock__headingBlock {
    margin-left: 0;
  }
  .headBlock__activeBlock {
    margin-top: 0;
  }
  .mainAbout__title,
  .mainCollections__title,
  .mainSale__title,
  .payment__title,
  .delivery__title,
  .sidebar__title,
  .cooperationOffer__title,
  .orderCalc__finalCostSum,
  .productCard__title,
  .recommendProducts__title,
  .productCard__finalCost {
    font-size: 35px;
    line-height: 42px;
  }
  .mainAbout {
    margin-top: 150px;
  }
  .mainOffer__title,
  .headBlock__title {
    font-size: 52px;
    line-height: 60px;
  }
  .mainOffer__desc,
  .headBlock__subtitle,
  .sidebar__desc,
  .cooperationOffer__desc {
    font-size: 25px;
    line-height: 32px;
    margin: 10px 0 50px;
  }
  .mainAbout,
  .mainCollections,
  .mainSale,
  .cooperationToWhom {
    margin-top: 150px;
  }
  .header__bottomList {
    flex-wrap: wrap;
  }
  .header__bottomItem {
    width: 20.5%;
  }
  .header__catalogBlock {
    display: flex;
    align-items: center;

    margin-bottom: 10px;
  }
  .header__catalogBtn {
    justify-content: space-between;
    width: 100%;
  }
  .header__topNav {
    display: none;
  }
  .header__bottomLink {
    margin-bottom: 10px;
    justify-content: space-between;
  }
  .header__linkCooperation {
    display: none;
  }
  .header__linkCooperation--mobile {
    display: flex;
    margin-left: 12px;
  }

  .btnSolid,
  .btnFill {
    padding: 16px 20px;
  }
  .headBlock__icon {
    width: 40px;
    height: 40px;
  }
  .saleBlock__row,
  .reminderText__row {
    justify-content: center;
  }
  .saleBlock__col,
  .reminderText__col {
    width: 80%;
    margin-left: 0;
    margin-right: 0;
  }
  .saleBlock__content {
    padding: 50px;
  }
  .payment__imgItems {
    flex-wrap: wrap;
  }
  .btnSolid__icon {
    width: 20px;
    height: 20px;
    margin-left: 15px;
  }
  .about__col_left {
    margin-left: 0px;
    margin-right: 12px;
    width: calc(40% - 12px);
  }
  .about__col_right {
    margin-left: 12px;
    margin-right: 0;
    width: calc(60% - 12px);
  }
  .map {
    height: 300px;
  }
  .cooperationBenefits,
  .cooperationForm {
    margin-top: 100px;
  }
  .cooperationForm__row {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    justify-content: center;
  }
  .cooperationForm__col {
    width: 80%;
    margin-left: 0;
    margin-right: 0;
  }
  .cooperationForm__content {
    padding: 50px;
  }
  .burgerMenu__bottomBlock {
    margin-top: 100px;
  }
  .productCard__col_left2 {
    width: 80%;
  }
  .productCard__switcherNavItem {
    width: 50%;
    max-width: 200px;
  }
  .productCard__switcherNavLink {
    width: 100%;
  }
  .productCard__col_right {
    margin-left: 20px;
    margin-right: 0;
    width: calc(50% - 20px);
  }
  .productCard__col_left {
    width: calc(50% - 20px);
    margin-left: 0;
  }
  .productCard__warning {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .headBlock__linkEdit {
    font-size: 16px;
    line-height: 18px;
  }
  .orderCalc__finalList {
    margin-top: 35px;
  }
  .cartList__col_left {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 15px;
  }
  .cartList__col_right {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
    order: -1;
  }
  .filtersBlock__title {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 10px;
  }
  .filtersBlock__form {
    columns: unset;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
  }

  .loginInside__col_left {
    display: none;
  }
  .loginInside__col_left--mobile {
    display: block;
  }
  .filtersBlock__formColumnBlock {
    width: 45%;
    page-break-inside: unset;
    break-inside: unset;
    height: auto;
  }
  .headBlock__col_right--catalog,
  .headBlock__col_left--catalog {
    width: calc(50% - 12px) !important;
  }
  .headBlock__selectBlock {
    margin-top: 10px;
  }
  .headBlock__col_right--catalog .headBlock__activeBlock {
    align-items: flex-end;
  }
  .cooperationForm__content {
    padding: 30px;
  }
  .headBlock__wrap,
  .breadCrumbs__wrap,
  .catalog__wrap,
  .saleBlock__wrap,
  .reminderText__wrap,
  .wrap,
  .policy__wrap {
    padding-left: 0;
    padding-right: 0;
  }

  .headBlock__row,
  .catalog__row,
  .breadCrumbs__row,
  .breadCrumbs__col,
  .saleBlock__row,
  .reminderText__row,
  .policy__row,
  .row,
  .showcase__col,
  .pagination__col,
  .loginInside__col {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .headBlock__col_left,
  .headBlock__col_right {
    width: calc(50% - 12px);
  }
  .headBlock__col_right {
    margin-left: 12px;
    margin-right: 0;
  }
  .headBlock__col_left {
    margin-left: 0;
    margin-right: 12px;
  }
  .mainAbout,
  .mainCollections,
  .mainSale {
    margin-top: 100px;
  }
  .mainAbout__text {
    margin: 30px 0 30px;
  }
  .mainAbout__title,
  .mainCollections__title,
  .imgBorderBlock__sticker,
  .mainSale__title,
  .saleBlock__title,
  .policy__title,
  .warranty__title,
  .delivery__title,
  .refund__title,
  .sidebar__title,
  .cooperationOffer__title,
  .loginInside__title,
  .productCard__title,
  .recommendProducts__title,
  .productCard__finalCost {
    font-size: 28px;
    line-height: 34px;
  }
  .mainAboutб,
  .mainCollections,
  .footer,
  .reminderText {
    margin-top: 100px;
  }
  .mainOffer__desc,
  .headBlock__subtitle,
  .sidebar__desc,
  .cooperationOffer__desc {
    font-size: 20px;
    line-height: 27px;
    margin: 10px 0 20px;
  }

  .warranty__subtitle,
  .delivery__subtitle,
  .offerForm__title,
  .stickyBlock__title,
  .aboutInside__subtitle,
  .login__title,
  .cooperationToWhom__title,
  .cooperationForm__title {
    font-size: 20px;
    line-height: 27px;
  }
  .warranty__contentItem + .warranty__contentItem,
  .delivery__contentItem + .delivery__contentItem,
  .about__row + .about__row,
  .about,
  .about__item + .about__item,
  .sidebar__content,
  .offerForm,
  .aboutInside,
  .aboutInside__item + .aboutInside__item,
  .aboutInside__row + .aboutInside__row,
  .loginPage,
  .contacts__contentItem + .contacts__contentItem,
  .contacts,
  .contacts__row + .contacts__row,
  .contacts__dataBlock,
  .cooperationOffer,
  .cooperationBenefits,
  .cooperationForm,
  .errorPage,
  .filtersBlock__formItemsBlock + .filtersBlock__formItemsBlock,
  .filtersBlock,
  .showcase,
  .cartList,
  .loginInside,
  .loginInside__row + .loginInside__row,
  .productCard,
  .recommendProducts__items,
  .recommendProducts {
    margin-top: 40px;
  }
  .stickyBlock__list {
    margin-bottom: 20px;
  }
  .warranty,
  .cooperationForm {
    padding-bottom: 100px;
  }
  .mainOffer__title,
  .headBlock__title,
  .headBlock__title,
  .payment__title,
  .aboutInside__title,
  .contacts__title,
  .cooperationBenefits__title {
    font-size: 32px;
    line-height: 40px;
    width: 100%;
  }
  .header__infoBlock {
    display: none;
  }
  .header__topPartCol_centerItem {
    width: calc(35% - 24px);
  }
  .header__bottomText {
    display: none;
  }
  .header__bottomItem {
    width: auto;
  }
  .header__bottomPart {
    padding: 35px 0 15px;
  }
  .btnSolid,
  .btnFill {
    padding: 15px;
  }
  .about__content2,
  .about__item2 {
    height: 100%;
  }
  .mainOffer__col_right,
  .mainCollections__col_right,
  .mainSale__col_right,
  .about__col_right,
  .cooperationOffer__col_right {
    width: 100%;
    order: -1;
    margin: 0;
    max-height: 350px;
  }
  .mainOffer__col_left,
  .mainCollections__col,
  .mainSale__col_lef,
  .about__col_left,
  .cooperationOffer__col_left {
    width: 100%;
    margin: 20px 0 0 0;
  }
  .aboutInside__col_left,
  .cooperationToWhom__col_left {
    width: 100%;
    margin: 0px 0 20px 0;
  }
  .headBlock__col {
    width: 100%;
    margin: 0;
  }
  .headBlock__activeBlock {
    margin-top: 0;
    align-items: flex-start;
  }
  .singleSlider,
  .imgBorderBlock__img {
    min-height: 250px;
  }
  .imgBorderBlock {
    height: 100%;
  }
  .mainOffer {
    margin-top: 0;
  }
  .sliderActions_fill {
    padding: 15px;
  }
  .sliderActions__numbering {
    font-size: 18px;
    line-height: 24px;
  }
  .sliderActions__iconArrow,
  .btnFill__icon {
    width: 20px;
    height: 20px;
  }
  .mainAbout__row,
  .mainAbout__col,
  .footer__col,
  .filtersBlock__col {
    margin-left: 0;
    margin-right: 0;
  }
  .burgerMenu__bottomBlock {
    margin-top: 60px;
  }
  .mainAbout__col_right,
  .footer__col,
  .filtersBlock__col,
  .showcase__col {
    width: 100%;
  }
  .mainAbout__wrap {
    padding: 0;
  }
  .mainAbout__imgFlag {
    width: 100%;
    position: relative;
    left: -30%;
    margin-bottom: 15px;
  }
  .flag {
    height: 250px;
  }
  .catalog__collectionsItems {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 20px;
  }
  .catalog__collectionsTitle {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 20px;
  }
  .reminderText__text {
    font-size: 16px;
    line-height: 22px;
  }
  .breadCrumbs {
    margin-top: 15px;
  }
  .headBlock,
  .catalog {
    margin-top: 30px;
  }
  .catalog__collectionsBlock {
    margin-bottom: 30px;
  }
  .headBlock__icon {
    width: 30px;
    height: 30px;
  }
  .saleBlock {
    margin-top: 100px;
  }
  .saleBlock__col,
  .reminderText__col {
    width: 90%;
  }
  .saleBlock__content,
  .offerForm {
    padding: 35px;
  }
  .policy__col_left,
  .payment__col_left,
  .warranty__col_left,
  .delivery__col_left,
  .refund__col_left,
  .about__col_left222,
  .aboutInside__col_left2,
  .contacts__col_left {
    display: none;
  }
  .about__col_left3 {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    max-height: 100%;
    margin: 20px 0 0px 0;
  }

  .stickyBlock {
    align-items: flex-start;
    text-align: start;
  }
  .stickyBlock__link {
    justify-content: flex-start;
  }
  .cooperationBenefits__col_left {
    width: 100%;
    position: relative;
    left: -30%;
    margin-bottom: 15px;
    margin-left: 0;
    margin-right: 0;
  }
  .policy__col_right,
  .payment__col_right,
  .warranty__col_right,
  .delivery__col_right,
  .refund__col_right,
  .about__col_right222,
  .aboutInside__col_right,
  .contacts__col_right,
  .cooperationBenefits__col_right {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    max-height: 100%;
  }
  .cooperationToWhom__col_right {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    max-height: 350px;
  }
  .policy__title,
  .payment__title,
  .warranty__title,
  .delivery__title,
  .refund__title,
  .aboutInside__title {
    text-align: center;
  }
  .policy,
  .payment,
  .refund,
  .cooperationToWhom {
    margin-top: 50px;
  }
  .delivery__content ol {
    margin-top: 40px;
  }
  .sidebar__content {
    align-items: flex-start;
  }
  .login {
    padding: 40px;
  }
  .map {
    height: 250px;
  }
  .cooperationToWhom__text {
    margin: 20px 0 40px;
  }
  .cooperationForm__col {
    width: 90%;
  }
  .cooperationForm__form {
    margin-top: 30px;
    grid-gap: 20px;
  }
  .burgerMenu__wrapContent {
    padding: 30px;
  }
  .burgerMenu__title {
    font-size: 20px;
    line-height: 26px;
  }
  .errorPage__content {
    padding: 50px;
  }
  .errorPage__title {
    font-size: 100px;
    line-height: 100px;
  }
  .errorPage__icon {
    width: 100px;
    height: 100px;
  }
  .showcase__content {
    grid-template-columns: repeat(auto-fill, 45%);
    grid-gap: 20px;
    margin-top: 40px;
  }
  .card__content {
    padding: 20px 0;
    margin: 0 15px;
  }
  .orderCalc__finalCost {
    margin: 20px 0;
    padding-top: 0px;
  }
  .productCard__col_right,
  .productCard__col_left {
    margin-left: 0px;
    margin-right: 0;
    width: 100%;
  }
  .productCard__col_right {
    margin-top: 15px;
  }
  .card__costNew,.card__costOld {
    font-size: 18px;
    line-height: 20px;
  }
}
@media (max-width: 576px) {
  .recommendProducts .card {
    width: 100% !important;
    margin-right: 0;
    max-width: 100%;
  }
  /* .loginInside__rowInside{
    justify-content: space-between;
  } */
  .loginInside__colInside_s {
    width: calc(28% - 5px);
    margin-left: 5px;
    margin-right: 0px;
  }

  .loginInside__statusText {
    word-break: break-all;
  }
  .loginInside__moreIcon {
    margin-left: 0;
  }
  .loginInside__subtitle--first {
    display: none;
  }
  .loginInside__subtitle--first--mobile {
    display: block;
  }
  .loginInside__rowInside .loginInside__colInside_s:first-child {
    width: calc(12% - 5px);
    margin-left: 5px;
    margin-right: 0px;
  }
  .loginInside__moreIcon {
    width: 15px;
    height: 15px;
  }
  .loginInside__colInside_m {
    width: calc(32% - 5px);
    margin-left: 5px;
    margin-right: 0px;
  }
  .loginInside__rowInside .loginInside__colInside_s:last-child {
    width: 15px;
    margin-left: 5px;
    margin-right: 0px;
  }
  .loginInside__subtitle--second {
    width: 100%;
    order: 1;
  }
  .orderCalc__finalList {
    margin-top: 20px;
  }
  .orderCalc__finalListItem + .orderCalc__finalListItem {
    margin-top: 10px;
  }
  .orderCalc__finalCost {
    margin: 10px 0;
    padding-top: 0px;
  }
  .card__imgWrap {
    height: 250px;
  }
  .card__colorItems {
    margin-bottom: 15px;
  }
  .card {
    display: flex;
    flex-direction: column;
  }
  .showcase__content {
    grid-template-columns: repeat(auto-fill, 100%);
    grid-gap: 0px;
    row-gap: 15px;
    margin-top: 30px;
  }
  .headBlock__col_right--catalog,
  .headBlock__col_left--catalog {
    width: 100% !important;
  }
  .headBlock__col_right--catalog .headBlock__activeBlock {
    align-items: flex-start;
  }
  .burgerMenu__title,
  .burgerMenu__listLink,
  .burgerMenu__internalListTitleLink {
    font-size: 16px;
    line-height: 20px;
  }
  .burgerMenu__wrapContent {
    padding: 10px;
  }
  .cooperationForm__content {
    padding: 20px;
  }
  .cooperationToWhom__text {
    margin: 20px 0 20px;
  }
  .loginPage__col {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .login {
    padding: 20px;
  }
  .delivery__content ol {
    margin-top: 20px;
  }
  .warranty {
    padding-bottom: 50px;
  }
  .payment__content ul,
  .payment__imgItems {
    margin-bottom: 20px;
  }
  .policy,
  .policy__row + .policy__row,
  .payment,
  .payment__row + .payment__row,
  .warranty__row + .warranty__row,
  .warranty,
  .warranty__contentItem + .warranty__contentItem,
  .delivery,
  .delivery__contentItem + .delivery__contentItem,
  .delivery__row + .delivery__row,
  .refund,
  .refund__row + .refund__row,
  .about__row + .about__row,
  .about,
  .about__item + .about__item,
  .sidebar__content,
  .offerForm,
  .aboutInside,
  .aboutInside__item + .aboutInside__item,
  .aboutInside__row + .aboutInside__row,
  .loginPage,
  .login__form,
  .contacts__item + .contacts__item,
  .contacts__contentItem + .contacts__contentItem,
  .contacts,
  .contacts__row + .contacts__row,
  .contacts__dataBlock,
  .cooperationOffer,
  .cooperationToWhom,
  .cooperationBenefits,
  .cooperationForm,
  .burgerMenu__bottomBlock,
  .errorPage,
  .filtersBlock__formItemsBlock + .filtersBlock__formItemsBlock,
  .filtersBlock,
  .showcase,
  .cartList,
  .loginInside,
  .loginInside__row + .loginInside__row,
  .productCard,
  .recommendProducts__items,
  .recommendProducts {
    margin-top: 30px;
  }

  .saleBlock__col {
    width: 100%;
  }
  .headBlock__icon {
    width: 20px;
    height: 20px;
  }
  .categoriesItem__list {
    padding-left: 15px;
    margin-top: 10px;
  }
  .catalog__collectionsItems {
    grid-template-columns: repeat(auto-fill, minmax(250px, 100%));
    grid-gap: 20px;
  }
  .catalogDropdown__btnCloseIcon {
    width: 20px;
    height: 20px;
  }
  .catalogDropdown__catalogWrap {
    margin-top: 20px;
    height: calc(100% - 50px);
  }
  .catalogDropdown {
    padding-left: 9px;
    padding-right: 9px;
    padding-bottom: 50px;
    top: 50px;
    height: calc(100vh - 50px);
  }
  .catalog__col {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .catalog__col_right {
    margin-top: 20px;
  }
  .flag {
    height: 150px;
  }
  .mainAbout__text,
  .mainCollections__text,
  .mainSale__desc,
  .saleBlock__desc,
  .offerForm__desc,
  .cooperationOffer__desc,
  .cooperationBenefits__desc {
    margin: 20px 0;
    font-size: 14px;
    line-height: 20px;
  }
  .reminderText__text,
  .policy__mainContent p,
  .payment__content li,
  .payment__text,
  .warranty__subtext,
  .warranty__text,
  .delivery__text_reg,
  .delivery__text,
  .delivery__content ol li,
  .refund__content ol li,
  .refund__text,
  .refund__content ul li,
  .about__text,
  .stickyBlock__link,
  .aboutInside__text,
  .login__link,
  .contacts__link,
  .contacts__text,
  .contacts__dataText,
  .cooperationToWhom__text,
  .linkTo,
  .cooperationBenefits li,
  .cooperationForm__desc,
  .btnFill,
  .cooperationForm__approval,
  .burgerMenu__phoneLink,
  .headBlock__selectBlockText,
  .headBlock__btnFilters,
  .headBlock__select,
  .orderCalc__finalList,
  .orderCalc__btnGoTo,
  .cartCard__listSpecifItem,
  .loginInside__subtitle,
  .loginInside__statusText,
  .headBlock__linkEdit,
  .productCard__warningText,
  .productCard__subtitle,
  .productCard__article,
  .productCard__switcherNavLink,
  .productCard__setText,
  p,
  .productCard__switcherDescNavLink,
  .productCard__switcherDescText,
  .productCard__switcherDescNavItem.uk-active .productCard__switcherDescNavLink,
  .card__costOld,
  .card__costNew {
    font-size: 14px;
    line-height: 20px;
  }
  .productCard__switcherDescContent {
    margin-top: 10px;
    font-size: 16px;
    line-height: 20px;
  }
  .productCard__switcherDescSubtitle {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .productCard__finalBlock {
    flex-direction: column;
  }
  .productCard__switcherDescNavItem + .productCard__switcherDescNavItem {
    margin-left: 10px;
  }
  .productCard__switcherContentItem {
    padding: 10px;
  }
  .productCard__switcherDescNav {
    flex-wrap: wrap;
  }
  .cartCard__priceBlock {
    margin-top: 10px;
    padding-top: 10px;
  }
  .cartCard__imgWrap {
    height: 200px;
  }
  .cartCard__deleteIcon {
    width: 15px;
    height: 15px;
  }
  .mainAbout__title,
  .mainCollections__title,
  .imgBorderBlock__sticker,
  .mainSale__title,
  .saleBlock__title,
  .policy__title,
  .payment__title,
  .warranty__title,
  .delivery__title,
  .refund__title,
  .sidebar__title,
  .stickyBlock__title,
  .aboutInside__title,
  .login__title,
  .contacts__title,
  .cooperationOffer__title,
  .cooperationBenefits__title,
  .cooperationForm__title,
  .errorPage__subtitle,
  .orderCalc__title,
  .orderCalc__finalCostSum,
  .loginInside__title,
  .productCard__title,
  .recommendProducts__title,
  .productCard__finalCost {
    font-size: 22px;
    line-height: 26px;
  }
  .orderCalc__finalCostText,
  .cartCard__price,
  .cartCard__accordionTitleText {
    font-size: 20px;
    line-height: 24px;
  }

  .errorPage__icon {
    width: 60px;
    height: 60px;
  }
  .errorPage__title {
    font-size: 60px;
    line-height: 60px;
  }
  .mainAbout,
  .mainCollections,
  .mainSale,
  .footer,
  .reminderText {
    margin-top: 50px;
  }
  .errorPage__col {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .burgerMenu__listItem--mobile {
    display: block;
  }
  .errorPage__subtitle {
    margin: 15px 0px;
  }
  .refund__content ol,
  p + p,
  .refund__content ul {
    margin: 5px 0;
  }
  .header__linkCooperation--mobile {
    display: none;
  }
  .header__topPartCol_centerItem {
    width: calc(65% - 12px);
  }
  .header__topPartCol {
    margin-left: 6px;
    margin-right: 6px;
  }
  .header__bottomPartCol {
    margin-left: 6px;
    margin-right: 6px;
    width: calc(100% - 12px);
  }
  .header__bottomText_catalog {
    display: block;
  }
  .header__bottomPart {
    display: none;
  }
  .header__catalogBtn--mobile {
    display: block;
  }
  body {
    padding-top: 85px;
  }
  .btnSolid,
  .linkTo,
  .btnFill {
    font-size: 14px;
    line-height: 20px;
  }
  .mainOffer__desc,
  .headBlock__subtitle,
  .sidebar__desc {
    font-size: 18px;
    line-height: 24px;
    margin: 10px 0 20px;
  }
  .warranty__subtitle,
  .delivery__subtitle,
  .offerForm__title,
  .aboutInside__subtitle,
  .cooperationToWhom__title {
    font-size: 18px;
    line-height: 24px;
  }
  .mainOffer__title,
  .headBlock__title {
    font-size: 25px;
    line-height: 32px;
    width: 100%;
  }
  .sliderActions_fill {
    padding: 10px;
    right: 20px;
    bottom: 20px;
  }
  .sliderActions__numbering {
    font-size: 14px;
    line-height: 20px;
  }
  .sliderActions__iconArrow,
  .btnFill__icon,
  .cooperationForm .cooperationForm__btnFillIcon {
    width: 15px;
    height: 15px;
  }
  .imgBorderBlock__frameBlock {
    width: calc(100% - 40px);
    height: calc(100% - 40px);
  }
  .header__logoWrap {
    top: unset;
  }
  .footer__docItems {
    flex-direction: column;
    width: 100%;
  }
  .footer__docLink + .footer__docLink {
    margin-left: 0px;
  }
  .catalog__row {
    flex-direction: column;
  }
  .saleBlock {
    margin-top: 50px;
  }
  .saleBlock__content {
    padding: 20px;
  }
  .offerForm {
    padding: 10px;
  }
  .offerForm__inputBlock + .offerForm__inputBlock {
    margin-left: 0;
    margin-top: 15px;
  }
  .offerForm__inputGroup,
  .offerForm__formActions {
    flex-wrap: wrap;
  }
  .offerForm__textareaWrap {
    margin: 15px 0;
  }
  .offerForm__formApproval {
    width: 100%;
    order: -1;
    margin-left: 0;
    margin-bottom: 15px;
  }
  .inputBlock__input {
    padding: 8px;
  }
  .inputBlock__label {
    padding: 0;
    left: 10px;
  }
  .stickyBlock__title {
    margin-bottom: 8px;
  }
  .aboutInside__img {
    min-height: 250px;
    max-height: 250px;
  }
  .breadCrumbs__list {
    padding: 0;
  }

  .breadCrumbs__linkBack,
  .breadCrumbs__list .breadCrumbs__listItem {
    display: none;
  }
  .breadCrumbs__list .breadCrumbs__listItem:first-child,
  .breadCrumbs__list .breadCrumbs__listItem:last-child {
    display: flex;
  }
  .stickyBlock__link {
    justify-content: space-between;
  }
  .map {
    height: 200px;
  }
  .contacts__contentItem {
    flex-direction: column;
  }
  .contacts__contentBlock {
    max-width: 100%;
  }
  .cooperationForm__col {
    width: 100%;
  }
  .cooperationForm__form {
    margin-top: 15px;
    grid-gap: 10px;
    grid-template-columns: repeat(auto-fill, 100%);
  }
  .cooperationForm__approval {
    margin-top: 15px;
  }
  .cooperationForm {
    padding-bottom: 50px;
  }
  .btnFill__icon {
    margin-left: 15px;
  }
  .burgerMenu__internalListArrowWrap {
    top: 0;
  }
  .errorPage__content {
    padding: 20px;
  }
  .filtersBlock__formColumnBlock {
    width: 100%;
  }
  .cartCard {
    flex-direction: column;
  }
  .cartCard__imgWrap {
    width: 100%;
  }
  .cartCard__content {
    margin-left: 0px;
    padding: 15px;
    margin-top: 15px;
  }
}
.productAddModal{
  display: none;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImdlbmVyYXRlZC9fc21hcnRncmlkLnNjc3MiLCJoZWxwZXJzL192YXJpYWJsZXMuc2NzcyIsImhlbHBlcnMvX2Z1bmN0aW9ucy5zY3NzIiwiaGVscGVycy9fbWl4aW5zLnNjc3MiLCJoZWxwZXJzL19zbGlja2ZpeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy92YXJpYWJsZXMtdGhlbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9taXhpbnMtdGhlbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy91aWtpdC10aGVtZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL19pbXBvcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS92YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2hlYWRpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kaXZpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Rlc2NyaXB0aW9uLWxpc3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90YWJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2ljb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9mb3JtLXJhbmdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZm9ybS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc2VjdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3RpbGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9jYXJkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY2xvc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zcGlubmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbWFya2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdG90b3Auc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hbGVydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3BsYWNlaG9sZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL292ZXJsYXkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hcnRpY2xlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY29tbWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NlYXJjaC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Ryb3Auc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kcm9wZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc2xpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc3RpY2t5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvb2ZmY2FudmFzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbm90aWZpY2F0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NvcnRhYmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY291bnRkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL25hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL25hdmJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3N1Ym5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGFiLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvc2xpZGVuYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kb3RuYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90aHVtYm5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2ljb25uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9saWdodGJveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3dpZHRoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NvbHVtbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hbGlnbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3V0aWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9tYXJnaW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wYWRkaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvaW52ZXJzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvX2ltcG9ydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9taXhpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaGVhZGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGl2aWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGVzY3JpcHRpb24tbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0tcmFuZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NlY3Rpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY2FyZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY2xvc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RvdG9wLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJrZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wbGFjZWhvbGRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vdmVybGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWFyY2guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXNob3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3RpY2t5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vZmZjYW52YXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N3aXRjaGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9sZWFkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc29ydGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdW50ZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbmF2LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXZiYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N1Ym5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGFiLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZW5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZG90bmF2LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90aHVtYm5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbm5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvd2lkdGguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2hlaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29sdW1uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWxpZ24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N2Zy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFyZ2luLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaW52ZXJzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJpbnQuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJiYXNlL19mb250cy5zY3NzIiwiYmFzZS9faGVscGVycy5zY3NzIiwiYmFzZS9fY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19pbWdCb3JkZXJCbG9jay5zY3NzIiwiY29tcG9uZW50cy9fbGluZVRvcEJsb2NrLnNjc3MiLCJjb21wb25lbnRzL19zdGlja3lCbG9jay5zY3NzIiwiY29tcG9uZW50cy9fc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRDcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2J1cmdlck1lbnUuc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlckFjdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRCbG9jay5zY3NzIiwiY29tcG9uZW50cy9fb3JkZXJDYWxjLnNjc3MiLCJjb21wb25lbnRzL19jYXJ0Q2FyZC5zY3NzIiwiY29tcG9uZW50cy9fbWFraW5nT3JkZXJTd2l0Y2hlci5zY3NzIiwiY29tcG9uZW50cy9fY2F0ZWdvcmllc0l0ZW0uc2NzcyIsImNvbXBvbmVudHMvX2xvZ2luLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXJzQmxvY2suc2NzcyIsImNvbXBvbmVudHMvc2xpZGVycy9fc2luZ2xlU2xpZGVyLnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fc2FsZUJsb2NrLnNjc3MiLCJtb2R1bGVzL19yZW1pbmRlclRleHQuc2NzcyIsIm1vZHVsZXMvX3JlY29tbWVuZFByb2R1Y3RzLnNjc3MiLCJtb2R1bGVzL19jYXRhbG9nRHJvcGRvd24uc2NzcyIsIm1vZHVsZXMvcGFnZS9tYWluL19tYWluT2ZmZXIuc2NzcyIsIm1vZHVsZXMvcGFnZS9tYWluL19tYWluQWJvdXQuc2NzcyIsIm1vZHVsZXMvcGFnZS9tYWluL19tYWluQ29sbGVjdGlvbnMuc2NzcyIsIm1vZHVsZXMvcGFnZS9tYWluL19tYWluU2FsZS5zY3NzIiwibW9kdWxlcy9wYWdlL2Nvb3BlcmF0aW9uL19jb29wZXJhdGlvbk9mZmVyLnNjc3MiLCJtb2R1bGVzL3BhZ2UvY29vcGVyYXRpb24vX2Nvb3BlcmF0aW9uV2h5LnNjc3MiLCJtb2R1bGVzL3BhZ2UvY29vcGVyYXRpb24vX2Nvb3BlcmF0aW9uVG9XaG9tLnNjc3MiLCJtb2R1bGVzL3BhZ2UvY29vcGVyYXRpb24vX2Nvb3BlcmF0aW9uQmVuZWZpdHMuc2NzcyIsIm1vZHVsZXMvcGFnZS9jb29wZXJhdGlvbi9fY29vcGVyYXRpb25Gb3JtLnNjc3MiLCJtb2R1bGVzL3BhZ2UvYWJvdXQvX2Fib3V0LnNjc3MiLCJtb2R1bGVzL3BhZ2UvYWJvdXRJbnNpZGUvX2Fib3V0SW5zaWRlLnNjc3MiLCJtb2R1bGVzL3BhZ2UvcGF5bWVudC9fcGF5bWVudC5zY3NzIiwibW9kdWxlcy9wYWdlL2RlbGl2ZXJ5L19kZWxpdmVyeS5zY3NzIiwibW9kdWxlcy9wYWdlL3JlZnVuZC9fcmVmdW5kLnNjc3MiLCJtb2R1bGVzL3BhZ2Uvd2FycmFudHkvX3dhcnJhbnR5LnNjc3MiLCJtb2R1bGVzL3BhZ2UvY29udGFjdHMvX2NvbnRhY3RzLnNjc3MiLCJtb2R1bGVzL3BhZ2UvcG9saWN5L19wb2xpY3kuc2NzcyIsIm1vZHVsZXMvcGFnZS9lcnJvclBhZ2UvX2Vycm9yUGFnZS5zY3NzIiwibW9kdWxlcy9wYWdlL3Nob3djYXNlL19zaG93Y2FzZS5zY3NzIiwibW9kdWxlcy9wYWdlL3Byb2R1Y3RDYXJkL19wcm9kdWN0Q2FyZC5zY3NzIiwibW9kdWxlcy9wYWdlL2NhcnRMaXN0L19jYXJ0TGlzdC5zY3NzIiwibW9kdWxlcy9wYWdlL21ha2luZy9fbWFraW5nT3JkZXIuc2NzcyIsIm1vZHVsZXMvcGFnZS9tYWtpbmcvX21ha2luZ0RlbGl2ZXJ5LnNjc3MiLCJtb2R1bGVzL3BhZ2UvbWFraW5nL19tYWtpbmdQYXltZW50LnNjc3MiLCJtb2R1bGVzL3BhZ2UvbWFraW5nL19tYWtpbmdEYXRhLnNjc3MiLCJtb2R1bGVzL3BhZ2Uvb3JkZXJQbGFjZWQvX29yZGVyUGxhY2VkLnNjc3MiLCJtb2R1bGVzL3BhZ2UvY2F0YWxvZy9fY2F0YWxvZy5zY3NzIiwibW9kdWxlcy9wYWdlL2xvZ2luUGFnZS9fbG9naW5QYWdlLnNjc3MiLCJtb2R1bGVzL3BhZ2UvbG9naW5JbnNpZGUvX2xvZ2luSW5zaWRlLnNjc3MiLCJtb2R1bGVzL19vZmZlckZvcm0uc2NzcyIsIm1vZHVsZXMvX3Rlc3Quc2NzcyIsIm5vZGVzL19idG5Tb2xpZC5zY3NzIiwibm9kZXMvX2xpbmtUby5zY3NzIiwibm9kZXMvX2J0bkZpbGwuc2NzcyIsIm5vZGVzL19pbnB1dEJsb2NrLnNjc3MiLCJub2Rlcy9fdGV4dGFyZWEuc2NzcyIsIm5vZGVzL19yYWRpb0dyb3VwLnNjc3MiLCJub2Rlcy9fY2hvaWNlSW5wdXQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiZ2VuZXJhdGVkL3NtYXJ0Z3JpZFwiO1xuQGltcG9ydCBcImhlbHBlcnMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL21peGluc1wiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9zbGlja2ZpeFwiO1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3NcIjtcblxuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy92YXJpYWJsZXMtdGhlbWUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9taXhpbnMtdGhlbWUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy91aWtpdC10aGVtZS5zY3NzXCI7XG5cbkBpbXBvcnQgXCJiYXNlL2Jhc2VcIjtcbkBpbXBvcnQgXCJiYXNlL2N1c3RvbVwiO1xuXG4vLyBjb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbWdCb3JkZXJCbG9ja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGluZVRvcEJsb2NrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zdGlja3lCbG9ja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2lkZWJhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnJlYWRDcnVtYnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1cmdlck1lbnVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NsaWRlckFjdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRCbG9ja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvb3JkZXJDYWxjXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJ0Q2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFraW5nT3JkZXJTd2l0Y2hlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2F0ZWdvcmllc0l0ZW1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xvZ2luXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9maWx0ZXJzQmxvY2tcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvc2xpZGVycy9zaW5nbGVTbGlkZXJcIjtcblxuLy8gbW9kdWxlc1xuQGltcG9ydCBcIm1vZHVsZXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3NhbGVCbG9ja1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvcmVtaW5kZXJUZXh0XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9yZWNvbW1lbmRQcm9kdWN0c1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvY2F0YWxvZ0Ryb3Bkb3duXCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvbWFpbi9tYWluT2ZmZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvbWFpbi9tYWluQWJvdXRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvbWFpbi9tYWluQ29sbGVjdGlvbnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvbWFpbi9tYWluU2FsZVwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlL2Nvb3BlcmF0aW9uL2Nvb3BlcmF0aW9uT2ZmZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvY29vcGVyYXRpb24vY29vcGVyYXRpb25XaHlcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvY29vcGVyYXRpb24vY29vcGVyYXRpb25Ub1dob21cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvY29vcGVyYXRpb24vY29vcGVyYXRpb25CZW5lZml0c1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9jb29wZXJhdGlvbi9jb29wZXJhdGlvbkZvcm1cIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9hYm91dC9hYm91dFwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlL2Fib3V0SW5zaWRlL2Fib3V0SW5zaWRlXCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvcGF5bWVudC9wYXltZW50XCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvZGVsaXZlcnkvZGVsaXZlcnlcIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9yZWZ1bmQvcmVmdW5kXCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2Uvd2FycmFudHkvd2FycmFudHlcIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9jb250YWN0cy9jb250YWN0c1wiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlL3BvbGljeS9wb2xpY3lcIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9lcnJvclBhZ2UvZXJyb3JQYWdlXCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2Uvc2hvd2Nhc2Uvc2hvd2Nhc2VcIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9wcm9kdWN0Q2FyZC9wcm9kdWN0Q2FyZFwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlL2NhcnRMaXN0L2NhcnRMaXN0XCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvbWFraW5nL21ha2luZ09yZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlL21ha2luZy9tYWtpbmdEZWxpdmVyeVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9tYWtpbmcvbWFraW5nUGF5bWVudFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS9tYWtpbmcvbWFraW5nRGF0YVwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlL29yZGVyUGxhY2VkL29yZGVyUGxhY2VkXCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvY2F0YWxvZy9jYXRhbG9nXCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2UvbG9naW5QYWdlL2xvZ2luUGFnZVwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlL2xvZ2luSW5zaWRlL2xvZ2luSW5zaWRlXCI7XG5cbkBpbXBvcnQgXCJtb2R1bGVzL29mZmVyRm9ybVwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy90ZXN0XCI7XG5cbi8vIG5vZGVzXG5AaW1wb3J0IFwibm9kZXMvYnRuU29saWRcIjtcbkBpbXBvcnQgXCJub2Rlcy9saW5rVG9cIjtcbkBpbXBvcnQgXCJub2Rlcy9idG5GaWxsXCI7XG5AaW1wb3J0IFwibm9kZXMvaW5wdXRCbG9ja1wiO1xuQGltcG9ydCBcIm5vZGVzL3RleHRhcmVhXCI7XG5AaW1wb3J0IFwibm9kZXMvcmFkaW9Hcm91cFwiO1xuQGltcG9ydCBcIm5vZGVzL2Nob2ljZUlucHV0XCI7XG4iLCIkY29sdW1uczogMTI7XG4kYXRvbTogKDEwMCUgLyAkY29sdW1ucyk7XG5cbiRicmVha194aGc6IDE2MDBweDtcbiRicmVha19taGc6IDE0MDBweDtcbiRicmVha19oZzogMTIwMHB4O1xuJGJyZWFrX3hsZzogMTAyNHB4O1xuJGJyZWFrX2xnOiA5OTJweDtcbiRicmVha19tZDogNzY3cHg7XG4kYnJlYWtfc206IDU3NnB4O1xuXG4kb2Zmc2V0OiA0MHB4O1xuJG9mZnNldF94aGc6ICRvZmZzZXQ7XG4kb2Zmc2V0X21oZzogJG9mZnNldDtcbiRvZmZzZXRfaGc6ICRvZmZzZXQ7XG4kb2Zmc2V0X3hsZzogJG9mZnNldDtcbiRvZmZzZXRfbGc6ICRvZmZzZXQ7XG4kb2Zmc2V0X21kOiAkb2Zmc2V0O1xuJG9mZnNldF9zbTogJG9mZnNldDtcblxuJG9mZnNldF9vbmVfc2lkZTogKCRvZmZzZXQgLyAyKTtcbiRvZmZzZXRfeGhnX29uZV9zaWRlOiAoJG9mZnNldF94aGcgLyAyKTtcbiRvZmZzZXRfbWhnX29uZV9zaWRlOiAoJG9mZnNldF9taGcgLyAyKTtcbiRvZmZzZXRfaGdfb25lX3NpZGU6ICgkb2Zmc2V0X2hnIC8gMik7XG4kb2Zmc2V0X3hsZ19vbmVfc2lkZTogKCRvZmZzZXRfeGxnIC8gMik7XG4kb2Zmc2V0X2xnX29uZV9zaWRlOiAoJG9mZnNldF9sZyAvIDIpO1xuJG9mZnNldF9tZF9vbmVfc2lkZTogKCRvZmZzZXRfbWQgLyAyKTtcbiRvZmZzZXRfc21fb25lX3NpZGU6ICgkb2Zmc2V0X3NtIC8gMik7XG5cbiRmaWVsZHM6IDIwcHg7XG5cbkBtaXhpbiB3cmFwcGVyLWZ1bGwoKXtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmaWVsZHM7XG4gICAgcGFkZGluZy1yaWdodDogJGZpZWxkcztcbn1cblxuQG1peGluIHJvdy1vZmZzZXRzKCl7XG4gICAgbWFyZ2luLWxlZnQ6ICgkb2Zmc2V0X29uZV9zaWRlICogLTEpO1xuICAgIG1hcmdpbi1yaWdodDogKCRvZmZzZXRfb25lX3NpZGUgKiAtMSk7XG59XG5cbkBtaXhpbiBjb2wtb2Zmc2V0cygkdHlwZSl7XG4gICAgI3skdHlwZX0tbGVmdDogJG9mZnNldF9vbmVfc2lkZTtcbiAgICAjeyR0eXBlfS1yaWdodDogJG9mZnNldF9vbmVfc2lkZTtcbn1cblxuQG1peGluIHdyYXBwZXIoKXtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBAaW5jbHVkZSB3cmFwcGVyLWZ1bGwoKTtcbn1cblxuQG1peGluIHJvdy1mbGV4KCl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgQGluY2x1ZGUgcm93LW9mZnNldHMoKTtcbn1cblxuQG1peGluIHJvdy1mbG9hdCgpe1xuICAgIEBpbmNsdWRlIHJvdy1vZmZzZXRzKCk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuQG1peGluIHJvdy1pYigpe1xuICAgIEBpbmNsdWRlIHJvdy1vZmZzZXRzKCk7XG59XG5cbkBtaXhpbiBjb2woKXtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBAaW5jbHVkZSBjb2wtb2Zmc2V0cyhtYXJnaW4pO1xufVxuXG5AbWl4aW4gY29sLWZsb2F0KCl7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbkBtaXhpbiBjb2wtaWIoKXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuQG1peGluIGNvbC1wYWRkaW5nKCl7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIEBpbmNsdWRlIGNvbC1vZmZzZXRzKHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gc2l6ZSgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgd2lkdGg6ICN7Y2FsYygjeyR2YWx9IC0gI3skb2Zmc2V0fSl9O1xufVxuXG5AbWl4aW4gc2l6ZS14aGcoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHhoZyh3aWR0aCwgI3tjYWxjKCN7JHZhbH0gLSAjeyRvZmZzZXRfeGhnfSl9KTtcbn1cblxuQG1peGluIHNpemUtbWhnKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBtaGcod2lkdGgsICN7Y2FsYygjeyR2YWx9IC0gI3skb2Zmc2V0X21oZ30pfSk7XG59XG5cbkBtaXhpbiBzaXplLWhnKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBoZyh3aWR0aCwgI3tjYWxjKCN7JHZhbH0gLSAjeyRvZmZzZXRfaGd9KX0pO1xufVxuXG5AbWl4aW4gc2l6ZS14bGcoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHhsZyh3aWR0aCwgI3tjYWxjKCN7JHZhbH0gLSAjeyRvZmZzZXRfeGxnfSl9KTtcbn1cblxuQG1peGluIHNpemUtbGcoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIGxnKHdpZHRoLCAje2NhbGMoI3skdmFsfSAtICN7JG9mZnNldF9sZ30pfSk7XG59XG5cbkBtaXhpbiBzaXplLW1kKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBtZCh3aWR0aCwgI3tjYWxjKCN7JHZhbH0gLSAjeyRvZmZzZXRfbWR9KX0pO1xufVxuXG5AbWl4aW4gc2l6ZS1zbSgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgc20od2lkdGgsICN7Y2FsYygjeyR2YWx9IC0gI3skb2Zmc2V0X3NtfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBtYXJnaW4tbGVmdDogI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfb25lX3NpZGV9KX07XG4gICAgbWFyZ2luLXJpZ2h0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbn1cblxuQG1peGluIHNoaWZ0LWxlZnQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIG1hcmdpbi1sZWZ0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbn1cblxuQG1peGluIHNoaWZ0LXJpZ2h0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBtYXJnaW4tcmlnaHQ6ICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X29uZV9zaWRlfSl9O1xufVxuXG5AbWl4aW4gc2hpZnQtcGFkZGluZygkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgcGFkZGluZy1sZWZ0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbn1cblxuQG1peGluIHNoaWZ0LXBhZGRpbmctbGVmdCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgcGFkZGluZy1sZWZ0OiAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9vbmVfc2lkZX0pfTtcbn1cblxuQG1peGluIHNoaWZ0LXBhZGRpbmctcmlnaHQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIHBhZGRpbmctcmlnaHQ6ICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X29uZV9zaWRlfSl9O1xufVxuXG5AbWl4aW4gc2hpZnQteGhnKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSB4aGcobWFyZ2luLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hoZ19vbmVfc2lkZX0pfSk7XG4gICAgQGluY2x1ZGUgeGhnKG1hcmdpbi1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGhnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhoZy1sZWZ0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSB4aGcobWFyZ2luLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hoZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC14aGctcmlnaHQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHhoZyhtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hoZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC14aGctcGFkZGluZygkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgeGhnKHBhZGRpbmctbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGhnX29uZV9zaWRlfSl9KTtcbiAgICBAaW5jbHVkZSB4aGcocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGhnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhoZy1wYWRkaW5nLWxlZnQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHhoZyhwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hoZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC14aGctcGFkZGluZy1yaWdodCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgeGhnKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3hoZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1taGcoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIG1oZyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWhnX29uZV9zaWRlfSl9KTtcbiAgICBAaW5jbHVkZSBtaGcobWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9taGdfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtbWhnLWxlZnQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIG1oZyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWhnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LW1oZy1yaWdodCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgbWhnKG1hcmdpbi1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWhnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LW1oZy1wYWRkaW5nKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBtaGcocGFkZGluZy1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9taGdfb25lX3NpZGV9KX0pO1xuICAgIEBpbmNsdWRlIG1oZyhwYWRkaW5nLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9taGdfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtbWhnLXBhZGRpbmctbGVmdCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgbWhnKHBhZGRpbmctbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWhnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LW1oZy1wYWRkaW5nLXJpZ2h0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBtaGcocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWhnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWhnKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBoZyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfaGdfb25lX3NpZGV9KX0pO1xuICAgIEBpbmNsdWRlIGhnKG1hcmdpbi1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfaGdfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtaGctbGVmdCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgaGcobWFyZ2luLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2hnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWhnLXJpZ2h0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBoZyhtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2hnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWhnLXBhZGRpbmcoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIGhnKHBhZGRpbmctbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfaGdfb25lX3NpZGV9KX0pO1xuICAgIEBpbmNsdWRlIGhnKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2hnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWhnLXBhZGRpbmctbGVmdCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgaGcocGFkZGluZy1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9oZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1oZy1wYWRkaW5nLXJpZ2h0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBoZyhwYWRkaW5nLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9oZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC14bGcoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHhsZyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGxnX29uZV9zaWRlfSl9KTtcbiAgICBAaW5jbHVkZSB4bGcobWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF94bGdfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQteGxnLWxlZnQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHhsZyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGxnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhsZy1yaWdodCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgeGxnKG1hcmdpbi1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGxnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhsZy1wYWRkaW5nKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSB4bGcocGFkZGluZy1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF94bGdfb25lX3NpZGV9KX0pO1xuICAgIEBpbmNsdWRlIHhsZyhwYWRkaW5nLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF94bGdfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQteGxnLXBhZGRpbmctbGVmdCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgeGxnKHBhZGRpbmctbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGxnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXhsZy1wYWRkaW5nLXJpZ2h0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSB4bGcocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfeGxnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWxnKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBsZyhtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbGdfb25lX3NpZGV9KX0pO1xuICAgIEBpbmNsdWRlIGxnKG1hcmdpbi1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbGdfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtbGctbGVmdCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgbGcobWFyZ2luLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2xnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWxnLXJpZ2h0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBsZyhtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2xnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWxnLXBhZGRpbmcoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIGxnKHBhZGRpbmctbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbGdfb25lX3NpZGV9KX0pO1xuICAgIEBpbmNsdWRlIGxnKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X2xnX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LWxnLXBhZGRpbmctbGVmdCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgbGcocGFkZGluZy1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9sZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1sZy1wYWRkaW5nLXJpZ2h0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBsZyhwYWRkaW5nLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9sZ19vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1tZCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgbWQobWFyZ2luLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X21kX29uZV9zaWRlfSl9KTtcbiAgICBAaW5jbHVkZSBtZChtYXJnaW4tcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X21kX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LW1kLWxlZnQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIG1kKG1hcmdpbi1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9tZF9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1tZC1yaWdodCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgbWQobWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9tZF9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1tZC1wYWRkaW5nKCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBtZChwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X21kX29uZV9zaWRlfSl9KTtcbiAgICBAaW5jbHVkZSBtZChwYWRkaW5nLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9tZF9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1tZC1wYWRkaW5nLWxlZnQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIG1kKHBhZGRpbmctbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWRfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtbWQtcGFkZGluZy1yaWdodCgkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgbWQocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfbWRfb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtc20oJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHNtKG1hcmdpbi1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9zbV9vbmVfc2lkZX0pfSk7XG4gICAgQGluY2x1ZGUgc20obWFyZ2luLXJpZ2h0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9zbV9vbmVfc2lkZX0pfSk7XG59XG5cbkBtaXhpbiBzaGlmdC1zbS1sZWZ0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBzbShtYXJnaW4tbGVmdCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfc21fb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtc20tcmlnaHQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHNtKG1hcmdpbi1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfc21fb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtc20tcGFkZGluZygkbil7XG4gICAgJHZhbDogMTAwJSAvICRjb2x1bW5zICogJG47XG4gICAgQGluY2x1ZGUgc20ocGFkZGluZy1sZWZ0LCAje2NhbGMoI3skdmFsfSArICN7JG9mZnNldF9zbV9vbmVfc2lkZX0pfSk7XG4gICAgQGluY2x1ZGUgc20ocGFkZGluZy1yaWdodCwgI3tjYWxjKCN7JHZhbH0gKyAjeyRvZmZzZXRfc21fb25lX3NpZGV9KX0pO1xufVxuXG5AbWl4aW4gc2hpZnQtc20tcGFkZGluZy1sZWZ0KCRuKXtcbiAgICAkdmFsOiAxMDAlIC8gJGNvbHVtbnMgKiAkbjtcbiAgICBAaW5jbHVkZSBzbShwYWRkaW5nLWxlZnQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NtX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHNoaWZ0LXNtLXBhZGRpbmctcmlnaHQoJG4pe1xuICAgICR2YWw6IDEwMCUgLyAkY29sdW1ucyAqICRuO1xuICAgIEBpbmNsdWRlIHNtKHBhZGRpbmctcmlnaHQsICN7Y2FsYygjeyR2YWx9ICsgI3skb2Zmc2V0X3NtX29uZV9zaWRlfSl9KTtcbn1cblxuQG1peGluIHhoZygkbmFtZSwgJHZhbHVlKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfeGhnKXtcbiAgICAgICAgI3skbmFtZX06ICR2YWx1ZTtcbiAgICB9XG59XG5cbkBtaXhpbiB4aGctYmxvY2soKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfeGhnKXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbWhnKCRuYW1lLCAkdmFsdWUpe1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha19taGcpe1xuICAgICAgICAjeyRuYW1lfTogJHZhbHVlO1xuICAgIH1cbn1cblxuQG1peGluIG1oZy1ibG9jaygpe1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha19taGcpe1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBoZygkbmFtZSwgJHZhbHVlKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfaGcpe1xuICAgICAgICAjeyRuYW1lfTogJHZhbHVlO1xuICAgIH1cbn1cblxuQG1peGluIGhnLWJsb2NrKCl7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrX2hnKXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4geGxnKCRuYW1lLCAkdmFsdWUpe1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha194bGcpe1xuICAgICAgICAjeyRuYW1lfTogJHZhbHVlO1xuICAgIH1cbn1cblxuQG1peGluIHhsZy1ibG9jaygpe1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha194bGcpe1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBsZygkbmFtZSwgJHZhbHVlKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfbGcpe1xuICAgICAgICAjeyRuYW1lfTogJHZhbHVlO1xuICAgIH1cbn1cblxuQG1peGluIGxnLWJsb2NrKCl7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrX2xnKXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbWQoJG5hbWUsICR2YWx1ZSl7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrX21kKXtcbiAgICAgICAgI3skbmFtZX06ICR2YWx1ZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtZC1ibG9jaygpe1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha19tZCl7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIHNtKCRuYW1lLCAkdmFsdWUpe1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha19zbSl7XG4gICAgICAgICN7JG5hbWV9OiAkdmFsdWU7XG4gICAgfVxufVxuXG5AbWl4aW4gc20tYmxvY2soKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtfc20pe1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBmcm9tKCRtaW5fd2lkdGgpe1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW5fd2lkdGgpe1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiB0bygkbWF4X3dpZHRoKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4X3dpZHRoKXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZnJvbS10bygkbWluX3dpZHRoLCAkbWF4X3dpZHRoKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluX3dpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heF93aWR0aCl7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIHUtcm93LWZsZXgoJG9mZnNldCl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6ICgkb2Zmc2V0IC8gLTIpO1xuICAgIG1hcmdpbi1yaWdodDogKCRvZmZzZXQgLyAtMik7XG59XG5cbkBtaXhpbiB1LWNvbCgkb2Zmc2V0KXtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBtYXJnaW4tbGVmdDogKCRvZmZzZXQgLyAyKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICgkb2Zmc2V0IC8gMik7XG59XG5cbkBtaXhpbiB1LXNpemUoJG4sICRjb2x1bW5zLCAkb2Zmc2V0KXtcbiAgICB3aWR0aDogI3tjYWxjKDEwMCUgLyAjeyRjb2x1bW5zfSAqICN7JG59IC0gI3skb2Zmc2V0fSl9O1xufVxuXG5AbWl4aW4gcmVzZXQoKXtcbiAgICBib2R5LGRpdixkbCxkdCxkZCx1bCxsaSxoMSxoMixoMyxoNCxoNSxoNixwcmUsY29kZSxmb3JtLGZpZWxkc2V0LGlucHV0LHRleHRhcmVhLHAsYmxvY2txdW90ZSx0aCx0ZHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICB0YWJsZXtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgfVxuICAgIGZpZWxkc2V0LGltZyxhYmJye1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuICAgIGFkZHJlc3MsY2FwdGlvbixjaXRlLGNvZGUsZGZuLGVtLHN0cm9uZyx0aCx2YXJ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgdWwgbGl7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIGNhcHRpb24sdGh7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIGgxLGgyLGgzLGg0LGg1LGg2e1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgIHN1cHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgIH1cbiAgICBzdWJ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICB9XG4gICAgaW5wdXQsdGV4dGFyZWEsc2VsZWN0e1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gICAgbGVnZW5ke1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4gICAgYXJ0aWNsZSxhc2lkZSxkZXRhaWxzLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1lbnUsbmF2LHNlY3Rpb24sbWFpbntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIGltZ3tcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG5AbWl4aW4gZGVidWcoJGJhY2tncm91bmQsICRvdXRsaW5lKXtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICA+IGRpdntcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBAaW5jbHVkZSB3cmFwcGVyKCk7XG4gICAgICAgIFxuICAgICAgICA+IGRpdntcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1mbGV4KCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgID4gZGl2e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIG91dGxpbmU6ICRvdXRsaW5lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gY2xlYXJmaXgoKXtcbiAgICAmOjphZnRlcntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn0iLCIkdGhlbWUtY29sb3JzOiAoXG4gIFwid2hpdGVcIjogI2ZmZixcbiAgXCJibGFja1wiOiAjMzQzNDM0LFxuICBcImdyYXlcIjogI0FBQUFBQSxcbiAgXCJncmF5LWxpZ2h0XCI6ICNEMUQxRDEsXG4gIFwiZ3JheS1kYXJrXCI6ICM2QzZDNkMsXG4gIFwiZ3JheS13aGl0ZVwiOiAjZWZlZmVmLFxuICBcImdvbGRcIjogI0MyQTA0OCxcbik7XG5cbi8vIHRoaW4gMTAwOyBleExpZ2h0IDIwMDsgbGlnaHQgMzAwOyByZWcgNDAwOyBtZWQgNTAwOyBcbi8vIHNlbUJvbGQgNjAwOyBib2xkIDcwMDsgZXhCb2xkIDgwMDsgYmxhY2sgOTAwO1xuJGZvbnRzOiAoXG4gIDEyOiAoXG4gICAgXCJyZWdcIjogKFxuICAgICAgXCJzaXplXCI6IDEycHgsXG4gICAgICBcImhlaWdodFwiOiAyMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNDAwXG4gICAgKSxcbiAgICBcInNlbUJvbGRcIjogKFxuICAgICAgXCJzaXplXCI6IDEycHgsXG4gICAgICBcImhlaWdodFwiOiAxNXB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNjAwXG4gICAgKVxuICApLFxuICAxNDogKFxuICAgIFwibGlnaHRcIjogKFxuICAgICAgXCJzaXplXCI6IDE0cHgsXG4gICAgICBcImhlaWdodFwiOiAzMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogMzAwXG4gICAgKSxcbiAgICBcInJlZ1wiOiAoXG4gICAgICBcInNpemVcIjogMTRweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDMwcHgsXG4gICAgICBcIndlaWdodFwiOiA0MDBcbiAgICApLFxuICAgIFwic2VtQm9sZFwiOiAoXG4gICAgICBcInNpemVcIjogMTRweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDIwcHgsXG4gICAgICBcIndlaWdodFwiOiA2MDBcbiAgICApXG4gICksXG4gIDE1OiAoXG4gICAgXCJzZW1Cb2xkXCI6IChcbiAgICAgIFwic2l6ZVwiOiAxNXB4LFxuICAgICAgXCJoZWlnaHRcIjogMTVweCxcbiAgICAgIFwid2VpZ2h0XCI6IDYwMFxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBcImxpZ2h0XCI6IChcbiAgICAgIFwic2l6ZVwiOiAxNnB4LFxuICAgICAgXCJoZWlnaHRcIjogMzBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDMwMFxuICAgICksXG4gICAgXCJyZWdcIjogKFxuICAgICAgXCJzaXplXCI6IDE2cHgsXG4gICAgICBcImhlaWdodFwiOiAzMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNDAwXG4gICAgKSxcbiAgICBcInNlbUJvbGRcIjogKFxuICAgICAgXCJzaXplXCI6IDE2cHgsXG4gICAgICBcImhlaWdodFwiOiAyMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNjAwXG4gICAgKSxcbiAgICBcImJvbGRcIjogKFxuICAgICAgXCJzaXplXCI6IDE2cHgsXG4gICAgICBcImhlaWdodFwiOiAyMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNzAwXG4gICAgKVxuICApLFxuICAxODogKFxuICAgIFwibGlnaHRcIjogKFxuICAgICAgXCJzaXplXCI6IDE4cHgsXG4gICAgICBcImhlaWdodFwiOiAyMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogMzAwXG4gICAgKSxcbiAgICBcInJlZ1wiOiAoXG4gICAgICBcInNpemVcIjogMThweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDMwcHgsXG4gICAgICBcIndlaWdodFwiOiA0MDBcbiAgICApLFxuICAgIFwibWVkXCI6IChcbiAgICAgIFwic2l6ZVwiOiAxOHB4LFxuICAgICAgXCJoZWlnaHRcIjogMjBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDUwMFxuICAgICksXG4gICAgXCJzZW1Cb2xkXCI6IChcbiAgICAgIFwic2l6ZVwiOiAxOHB4LFxuICAgICAgXCJoZWlnaHRcIjogMzBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDYwMFxuICAgICksXG4gICAgXCJib2xkXCI6IChcbiAgICAgIFwic2l6ZVwiOiAxOHB4LFxuICAgICAgXCJoZWlnaHRcIjogMjBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDcwMFxuICAgIClcbiAgKSxcbiAgMjA6IChcbiAgICBcImxpZ2h0XCI6IChcbiAgICAgIFwic2l6ZVwiOiAyMHB4LFxuICAgICAgXCJoZWlnaHRcIjogMzBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDMwMFxuICAgICksXG4gICAgXCJyZWdcIjogKFxuICAgICAgXCJzaXplXCI6IDIwcHgsXG4gICAgICBcImhlaWdodFwiOiAzMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNDAwXG4gICAgKSxcbiAgICBcInNlbUJvbGRcIjogKFxuICAgICAgXCJzaXplXCI6IDIwcHgsXG4gICAgICBcImhlaWdodFwiOiAzMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNjAwXG4gICAgKSxcbiAgICBcImJvbGRcIjogKFxuICAgICAgXCJzaXplXCI6IDIwcHgsXG4gICAgICBcImhlaWdodFwiOiAyMHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNzAwXG4gICAgKVxuICApLFxuICAyMjogKFxuICAgIFwiYm9sZFwiOiAoXG4gICAgICBcInNpemVcIjogMjJweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDMwcHgsXG4gICAgICBcIndlaWdodFwiOiA3MDBcbiAgICApLFxuICAgIFwibWVkXCI6IChcbiAgICAgIFwic2l6ZVwiOiAyMnB4LFxuICAgICAgXCJoZWlnaHRcIjogMzBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDUwMFxuICAgIClcbiAgKSxcbiAgMjQ6IChcbiAgICBcImxpZ2h0XCI6IChcbiAgICAgIFwic2l6ZVwiOiAyNHB4LFxuICAgICAgXCJoZWlnaHRcIjogMzBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDMwMFxuICAgICksXG4gICAgXCJyZWdcIjogKFxuICAgICAgXCJzaXplXCI6IDI0cHgsXG4gICAgICBcImhlaWdodFwiOiA0MHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNDAwXG4gICAgKSxcbiAgICBcIm1lZFwiOiAoXG4gICAgICBcInNpemVcIjogMjRweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDMwcHgsXG4gICAgICBcIndlaWdodFwiOiA1MDBcbiAgICApLFxuICAgIFwiYm9sZFwiOiAoXG4gICAgICBcInNpemVcIjogMjRweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDMwcHgsXG4gICAgICBcIndlaWdodFwiOiA3MDBcbiAgICApXG4gICksXG4gIDI4OiAoXG4gICAgXCJsaWdodFwiOiAoXG4gICAgICBcInNpemVcIjogMjhweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDQwcHgsXG4gICAgICBcIndlaWdodFwiOiAzMDBcbiAgICApXG4gICksXG4gIDMwOiAoXG4gICAgXCJsaWdodFwiOiAoXG4gICAgICBcInNpemVcIjogMzBweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDQwcHgsXG4gICAgICBcIndlaWdodFwiOiAzMDBcbiAgICApXG4gICksXG4gIDMyOiAoXG4gICAgXCJsaWdodFwiOiAoXG4gICAgICBcInNpemVcIjogMzJweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDQwcHgsXG4gICAgICBcIndlaWdodFwiOiAzMDBcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgXCJsaWdodFwiOiAoXG4gICAgICBcInNpemVcIjogMzZweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDQwcHgsXG4gICAgICBcIndlaWdodFwiOiAzMDBcbiAgICApLFxuICAgIFwic2VtQm9sZFwiOiAoXG4gICAgICBcInNpemVcIjogMzZweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDUwcHgsXG4gICAgICBcIndlaWdodFwiOiA2MDBcbiAgICApLFxuICAgIFwiYm9sZFwiOiAoXG4gICAgICBcInNpemVcIjogMzZweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDUwcHgsXG4gICAgICBcIndlaWdodFwiOiA3MDBcbiAgICApXG4gICksXG4gIDQ4OiAoXG4gICAgXCJzZW1Cb2xkXCI6IChcbiAgICAgIFwic2l6ZVwiOiA0OHB4LFxuICAgICAgXCJoZWlnaHRcIjogNjBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDYwMFxuICAgICksXG4gICAgXCJib2xkXCI6IChcbiAgICAgIFwic2l6ZVwiOiA0OHB4LFxuICAgICAgXCJoZWlnaHRcIjogNjBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDcwMFxuICAgIClcbiAgKSxcbiAgNjA6IChcbiAgICBcInNlbUJvbGRcIjogKFxuICAgICAgXCJzaXplXCI6IDYwcHgsXG4gICAgICBcImhlaWdodFwiOiA3MHB4LFxuICAgICAgXCJ3ZWlnaHRcIjogNjAwXG4gICAgKVxuICApLFxuICA2NDogKFxuICAgIFwiYm9sZFwiOiAoXG4gICAgICBcInNpemVcIjogNjRweCxcbiAgICAgIFwiaGVpZ2h0XCI6IDcwcHgsXG4gICAgICBcIndlaWdodFwiOiA3MDBcbiAgICApXG4gICksXG4gIDcyOiAoXG4gICAgXCJzZW1Cb2xkXCI6IChcbiAgICAgIFwic2l6ZVwiOiA3MnB4LFxuICAgICAgXCJoZWlnaHRcIjogOTBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDYwMFxuICAgIClcbiAgKSxcbiAgMjAwOiAoXG4gICAgXCJibFwiOiAoXG4gICAgICBcInNpemVcIjogMjAwcHgsXG4gICAgICBcImhlaWdodFwiOiAyMDBweCxcbiAgICAgIFwid2VpZ2h0XCI6IDkwMFxuICAgIClcbiAgKSxcbik7XG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHNtOiAkYnJlYWtfc20sXG4gIG1kOiAkYnJlYWtfbWQsXG4gIGxnOiAkYnJlYWtfbGcsXG4gIHhsZzogJGJyZWFrX3hsZyxcbiAgaGc6ICRicmVha19oZyxcbiAgbWhnOiAkYnJlYWtfbWhnLFxuICB4aGc6ICRicmVha194aGcsXG4pO1xuXG4kc3BhY2VyOiAxMHB4O1xuJHNwYWNlcnM6IChcbiAgMTogKCRzcGFjZXIgKiAxKSxcbiAgMjogKCRzcGFjZXIgKiAyKVxuKTtcblxuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTogJ0Nvcm1vcmFudCBTQycsIHNlcmlmO1xuJGZvbnQtZmFtaWx5LXByaW1hcnk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxNHB4O1xuXG4vLyDQn9C+0LrQsCDQvdC1INC90LDRgdGC0YDQvtC10L3RiyDQt9Cw0LPQvtC70L7QstC60LhcbiRmb250LXNpemUtaGVhZGluZ3M6IChcbiAgaDE6IChcbiAgICBcInNpemVcIjogNTZweCxcbiAgICBcImhlaWdodFwiOiA3MHB4LFxuICAgIFwid2VpZ2h0XCI6IDkwMFxuICApLFxuICBoMjogKFxuICAgIFwic2l6ZVwiOiA0OHB4LFxuICAgIFwiaGVpZ2h0XCI6IDUwcHgsXG4gICAgXCJ3ZWlnaHRcIjogOTAwXG4gICksXG4gIGgzOiAoXG4gICAgXCJzaXplXCI6IDQ4cHgsXG4gICAgXCJoZWlnaHRcIjogNTBweCxcbiAgICBcIndlaWdodFwiOiA5MDBcbiAgKVxuKTtcblxuJGJvcmRlci1yYWRpdXM6IDFyZW07XG4kdHJhbnNpdGlvbi10aW1lOiAwLjNzO1xuJGJveC1zaGFkb3c6IDAgMCAwICNmZmY7XG4iLCJAZnVuY3Rpb24gY29sb3IoJGtleSkge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBzcGFjZXIoJGtleSkge1xuICBAcmV0dXJuIG1hcC1nZXQoJHNwYWNlcnMsICRrZXkpO1xufVxuIiwiQG1peGluIGJwKCRrZXkpIHtcbiAgJG1pbjogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGtleSk7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRtaW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZm9udCgkc2l6ZSwgJHR5cGUpIHtcbiAgJGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udHMsICRzaXplKTtcbiAgJGZvbnQ6IG1hcC1nZXQoJGZvbnQtc2l6ZSwgJHR5cGUpO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udCwgXCJzaXplXCIpO1xuICBsaW5lLWhlaWdodDogbWFwLWdldCgkZm9udCwgXCJoZWlnaHRcIik7XG4gIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LCBcIndlaWdodFwiKTtcbn1cbiIsIiRzbGljay1mb250LXBhdGg6IFwiL25vZGVfbW9kdWxlcy9zbGljay1jYXJ1c2VsL3NsaWNrL2ZvbnRzXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIvbm9kZV9tb2R1bGVzL3NsaWNrLWNhcnVzZWwvc2xpY2svXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGdsb2JhbC1tYXJnaW46IDIwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1lbXBoYXNpcy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtaW52ZXJzZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogI2Y4ZjhmOCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogIzFlODdmMCAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAjMzJkMjk2ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ6ICNmYWEwNWEgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kOiAjZjA1MDZlICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogNDBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb246IDJzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLW1hcmdpbjogNzBweCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZTogMi42MjVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZm9udC1zaXplOiAwLjg3NXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICM5OTkgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDogIzIyMiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLXNpemU6IDE4cHggIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw6IDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJvZHktYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogIzBmNmVjZCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6IGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmUtd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmUtc3R5bGU6IGRvdHRlZCAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmU6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1mb2N1cy1vdXRsaW5lLW9mZnNldDogMXB4ICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZm9jdXMtb3V0bGluZTogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZ3V0dGVyOiAxNXB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCgkZ2xvYmFsLWd1dHRlciAqIDAuNSkpICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgKiAwLjUpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogMTVweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtaGVpZ2h0OiAyMnB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCgkZ2xvYmFsLW1hcmdpbiAqIDAuNjY2NjcpKSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCgkZ2xvYmFsLW1hcmdpbiAqIDAuNjY2NjcpKSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZ3V0dGVyOiA3MHB4ICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jYXJkLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jYXJkLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAxNDAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg6IDE2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDogMC44ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAzcmVtICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24td2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0taGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAkZm9ybS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbCAqIDAuNikgIWRlZmF1bHQ7XG4kZm9ybS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogOHB4ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsICogMC42KSAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWwgKiAwLjYpICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXhzbWFsbDogNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1sYXJnZTogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRmb3JtLXJhZGlvLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206IDVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OiAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taWNvbi13aWR0aDogJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0taWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogZmFkZWluKCRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1mb2N1cy1iYWNrZ3JvdW5kOiBmYWRlaW4oJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBmYWRlaW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw6IDRyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbSAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW0gKiAwLjgyNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6IDZyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw6IDExcmVtICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtdG9wOiB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiB1bnF1b3RlKCdjYWxjKDRweCArIDAuN2VtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjJlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtd2lkdGg6IDIwMDBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4zZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAzLjc1cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sOiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjggIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlaWdodC1zbWFsbC1oZWlnaHQ6IDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiA0NTBweCAhZGVmYXVsdDtcbiRpY29uLWltYWdlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLXNpemU6IDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGZhZGVpbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGZhZGVpbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtY29udGVudDogdW5xdW90ZSgnLicpICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRsaWdodGJveC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAjMDAwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWZvY3VzLW91dGxpbmU6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtd2lkdGg6IDEwMHZ3ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDogMTAwdmggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tc2l6ZTogNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGxpc3QtbWFya2VyLWhlaWdodDogKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJGxpc3QtbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZW1waGFzaXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtYXJnaW4tbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLW1hcmdpbjogMTQwcHggIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmtlci1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6IDUwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgKiAwLjUpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAqIDAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVycy1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVycy1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVycy1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGl2aWRlcnMtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbG9yLW1vZGU6IG5vbmUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICgkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgKiAyKSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAzNTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aDogMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aC1tOiAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246IDIwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogNTBweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6IDI0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiBmYWRlaW4oJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjk1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tdG9wOiAtMTFweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b206IC0zOXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ6IC0yNXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0OiAtMjVweCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAqIDAuNSkpICFkZWZhdWx0O1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAxLjRzICFkZWZhdWx0O1xuJHN0aWNreS16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMjJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtbGVhZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGVhZC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtc21hbGwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtZW1waGFzaXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdG9vbHRpcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJHRvdG9wLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zY2FsZTogMS4wMyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAwLjdzICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJhZ292ZXItYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlcHJlY2F0ZWQ6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGw6IDY0MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtOiA5NjBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlOiAxMjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14bGFyZ2U6IDE2MDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhzbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1zbWFsbCAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogKCRicmVha3BvaW50LXhsYXJnZSAtIDEpICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kd2lkdGgtc21hbGwtd2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6IDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtMnhsYXJnZS13aWR0aDogNzUwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tbWFyZ2luLWxlZnQ6IDEwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IDAuNCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1ob3Zlci1vcGFjaXR5OiAwLjggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXByZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMjAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDMwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ib3JkZXI6ICRidXR0b24tdGV4dC1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXI6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1ib3JkZXI6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWJvcmRlcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJveC1zaGFkb3c6IDAgNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstY29sb3I6ICR0ZXh0LW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC40KSAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0OyIsIkBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgaGVpZ2h0OiAoJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodCAqIDFlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWNjb3JkaW9uLWljb24tbWFyZ2luLWxlZnQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgfVxuXG4gICAgLnVrLW9wZW4gPiAmOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkYWNjb3JkaW9uLWljb24tY29sb3IpOyB9XG5cbn1cbkBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpe1xuXG4gICAgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxuICAgIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZ2xvYmFsLWNvbG9yKTsgfVxuXG59XG5AbWl4aW4gaG9vay1hbGVydCgpe31cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlKCl7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1ob3Zlci1vcGFjaXR5O1xufVxuQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWFsZXJ0LXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stYWxlcnQtbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBDb250ZW50XG4gICAgICovXG5cbiAgICAudWstYWxlcnQgaDEsXG4gICAgLnVrLWFsZXJ0IGgyLFxuICAgIC51ay1hbGVydCBoMyxcbiAgICAudWstYWxlcnQgaDQsXG4gICAgLnVrLWFsZXJ0IGg1LFxuICAgIC51ay1hbGVydCBoNiB7IGNvbG9yOiBpbmhlcml0OyB9XG5cbiAgICAudWstYWxlcnQgYTpub3QoW2NsYXNzXSkge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLnVrLWFsZXJ0IGE6bm90KFtjbGFzc10pOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYWxpZ24tbWlzYygpe31cbkBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1tZXRhKCl7XG5cbiAgICBhIHsgY29sb3I6ICRhcnRpY2xlLW1ldGEtbGluay1jb2xvcjsgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpe1xuXG4gICAgLnVrLWFydGljbGUtdGl0bGUgIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpO31cbiAgICB9XG5cbiAgICAudWstYXJ0aWNsZS1tZXRhICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuQG1peGluIGhvb2stYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCl7XG5cbiAgICAudWstYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlKCk7fVxuICAgIH1cblxuICAgIC51ay1iYWRnZTpob3ZlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbkBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhc2UtY29kZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbCAkYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2RlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7XG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtY29sb3I7XG59XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7XG5cbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLXByZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGJhc2UtcHJlLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1wcmUtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLXByZS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXByZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpe1xuXG4gICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29sb3I7XG5cbiAgICAvLyBCYXNlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgYSxcbiAgICAudWstbGluayAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluaygpO31cbiAgICB9XG5cbiAgICBhOmhvdmVyLFxuICAgIC51ay1saW5rOmhvdmVyLFxuICAgIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQ29kZVxuICAgIC8vXG5cbiAgICA6bm90KHByZSkgPiBjb2RlLFxuICAgIDpub3QocHJlKSA+IGtiZCxcbiAgICA6bm90KHByZSkgPiBzYW1wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBFbXBoYXNpemVcbiAgICAvL1xuXG4gICAgZW0geyBjb2xvcjogJGludmVyc2UtYmFzZS1lbS1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBIZWFkaW5nc1xuICAgIC8vXG5cbiAgICBoMSwgLnVrLWgxLFxuICAgIGgyLCAudWstaDIsXG4gICAgaDMsIC51ay1oMyxcbiAgICBoNCwgLnVrLWg0LFxuICAgIGg1LCAudWstaDUsXG4gICAgaDYsIC51ay1oNixcbiAgICAudWstaGVhZGluZy1zbWFsbCxcbiAgICAudWstaGVhZGluZy1tZWRpdW0sXG4gICAgLnVrLWhlYWRpbmctbGFyZ2UsXG4gICAgLnVrLWhlYWRpbmcteGxhcmdlLFxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpO31cbiAgICB9XG5cbiAgICBoMSwgLnVrLWgxIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMSgpO31cbiAgICB9XG5cbiAgICBoMiwgLnVrLWgyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMigpO31cbiAgICB9XG5cbiAgICBoMywgLnVrLWgzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMygpO31cbiAgICB9XG5cbiAgICBoNCwgLnVrLWg0IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNCgpO31cbiAgICB9XG5cbiAgICBoNSwgLnVrLWg1IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNSgpO31cbiAgICB9XG5cbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJsb2NrcXVvdGVzXG4gICAgLy9cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpO31cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVzXG4gICAgLy9cblxuICAgIGhyLCAudWstaHIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ocigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEZvY3VzXG4gICAgLy9cblxuICAgIDpmb2N1cyB7IG91dGxpbmUtY29sb3I6ICRpbnZlcnNlLWJhc2UtZm9jdXMtb3V0bGluZTsgfVxuICAgIDpmb2N1cy12aXNpYmxlIHsgb3V0bGluZS1jb2xvcjogJGludmVyc2UtYmFzZS1mb2N1cy1vdXRsaW5lOyB9XG5cbn1cbkBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCl7XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b24tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tdGV4dC1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi10ZXh0LWJvcmRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7XG5cbiAgICAmOjpiZWZvcmUgeyByaWdodDogMDsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe1xuXG4gICAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7XG5cbiAgICAvKiBHcm91cFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBDb2xsYXBzZSBib3JkZXJcbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgPiAudWstYnV0dG9uOm50aC1jaGlsZChuKzIpLFxuICAgIC51ay1idXR0b24tZ3JvdXAgPiBkaXY6bnRoLWNoaWxkKG4rMikgLnVrLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAoLSRidXR0b24tYm9yZGVyLXdpZHRoKTsgfVxuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBzdXBlcmltcG9zZSB0aGUgc3VjY2Vzc29yIGVsZW1lbnRzIGJvcmRlclxuICAgICAqIEtub3duIGlzc3VlOiBJZiB5b3UgdXNlIGFuIGBhYCBlbGVtZW50IGFzIGJ1dHRvbiBhbmQgYW4gaWNvbiBpbnNpZGUsXG4gICAgICogdGhlIGFjdGl2ZSBzdGF0ZSB3aWxsIG5vdCB3b3JrIGlmIHlvdSBjbGljayB0aGUgaWNvbiBpbnNpZGUgdGhlIGJ1dHRvblxuICAgICAqIFdvcmthcm91bmQ6IEp1c3QgdXNlIGEgYGJ1dHRvbmAgb3IgYGlucHV0YCBlbGVtZW50IGFzIGJ1dHRvblxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmhvdmVyLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXtcbiAgICAmOjpiZWZvcmUgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbn1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpe1xuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1saW5rOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWNhcmQoKXsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXtcbiAgICBib3JkZXItcmFkaXVzOiAkY2FyZC1iYWRnZS1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkY2FyZC1iYWRnZS10ZXh0LXRyYW5zZm9ybTtcbn1cbkBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0KCl7IGJveC1zaGFkb3c6ICRjYXJkLWRlZmF1bHQtYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlci13aWR0aCAgc29saWQgJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnkoKXsgYm94LXNoYWRvdzogJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtcHJpbWFyeS1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeSgpeyBib3gtc2hhZG93OiAkY2FyZC1zZWNvbmRhcnktYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1zZWNvbmRhcnktaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIERlZmF1bHRcbiAgICAgKi9cblxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbiAgICAvKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWwpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWwpO1xuICAgICAgICB9XG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFNtYWxsXG4gICAgICovXG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuICAgIC8qXG4gICAgICogTGFyZ2VcbiAgICAgKi9cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IHsgbWFyZ2luOiAwOyB9XG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQgeyBtYXJnaW46IDA7IH1cblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OyB9XG5cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY2FyZC1iYWRnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNhcmQoKXtcblxuICAgICYudWstY2FyZC1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWNhcmQtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNhcmQtYmFkZ2UtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jbG9zZSgpe1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIG9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNsb3NlKCl7XG5cbiAgICAudWstY2xvc2Uge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZSgpO31cbiAgICB9XG5cbiAgICAudWstY2xvc2U6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCl7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIgeyBjb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1jb21tZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe1xuICAgIHBhZGRpbmc6ICRjb21tZW50LXByaW1hcnktcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvdW50ZG93bigpe1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIsXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCl7XG4gICAgZm9udC1zaXplOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTtcbn1cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe31cbkBtaXhpbiBzdmctZmlsbCgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldywgJHByb3BlcnR5OiBiYWNrZ3JvdW5kLWltYWdlKXtcblxuICAgICRlc2NhcGUtY29sb3ItZGVmYXVsdDogIGVzY2FwZSgkY29sb3ItZGVmYXVsdCkgIWRlZmF1bHQ7XG4gICAgJGVzY2FwZS1jb2xvci1uZXc6ICBlc2NhcGUoXCIjeyRjb2xvci1uZXd9XCIpICFkZWZhdWx0O1xuXG4gICAgJGRhdGEtdXJpOiAgZGF0YS11cmkoJ2ltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCcsIFwiI3skc3JjfVwiKSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6ICByZXBsYWNlKFwiI3skZGF0YS11cml9XCIsIFwiI3skZXNjYXBlLWNvbG9yLWRlZmF1bHR9XCIsIFwiI3skZXNjYXBlLWNvbG9yLW5ld31cIiwgXCJnXCIpICFkZWZhdWx0O1xuXG4gICAgI3skcHJvcGVydHl9OiB1bnF1b3RlKCRyZXBsYWNlLXNyYyk7XG59XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpe1xuXG4gICAgLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRvdG5hdigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7XG4gICAgYm9yZGVyOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkICRkb3RuYXYtaXRlbS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0tb25jbGljay1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXsgYm9yZGVyLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KTsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCl7XG5cbiAgICAudWstZG90bmF2ID4gKiA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRyb3AtbWlzYygpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRkcm9wZG93bi1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXsgZm9udC1zaXplOiAkZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpeyBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXsgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0oKXtcbiAgICBib3JkZXI6ICRmb3JtLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xufVxuQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tZGFuZ2VyKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGFuZ2VyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1zdWNjZXNzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tc3VjY2Vzcy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyO1xuICAgIGJvcmRlci1zdHlsZTogJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlO1xufVxuQG1peGluIGhvb2stZm9ybS1yYWRpbygpe1xuICAgIGJvcmRlcjogJGZvcm0tcmFkaW8tYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXJhZGlvLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbkBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG59XG5AbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCl7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCl7XG5cbiAgICAudWstaW5wdXQsXG4gICAgLnVrLXNlbGVjdCxcbiAgICAudWstdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtKCk7fVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQbGFjZWhvbGRlclxuICAgIC8vXG5cbiAgICAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBTZWxlY3RcbiAgICAvL1xuXG4gICAgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEYXRhbGlzdFxuICAgIC8vXG5cbiAgICAudWstaW5wdXRbbGlzdF06aG92ZXIsXG4gICAgLnVrLWlucHV0W2xpc3RdOmZvY3VzIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstcmFkaW8sXG4gICAgLnVrLWNoZWNrYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvLyBDaGVja2VkXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG4gICAgfVxuXG4gICAgLy8gRm9jdXNcbiAgICAudWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vIExhYmVsXG4gICAgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstZm9ybS1pY29uIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjsgfVxuICAgIC51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCl7fVxuQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2stZ3JpZC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZ3JpZCgpe1xuXG4gICAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWhlYWRpbmctc21hbGwoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1lZGl1bSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLXhsYXJnZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctMnhsYXJnZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cbkBtaXhpbiBob29rLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1saW5lKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKXtcblxuICAgIC51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1tZWRpdW0ge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy0yeGxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKTt9XG4gICAgfVxuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7IC51ay1oZWFkaW5nLXByaW1hcnkgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9fX1cblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkgeyAudWstaGVhZGluZy1oZXJvIHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fX19XG5cbiAgICAudWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbkBtaXhpbiBob29rLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpe1xuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluaygpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tbGluazphY3RpdmUsXG4gICAgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJ1dHRvblxuICAgIC8vXG5cbiAgICAudWstaWNvbi1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staWNvbm5hdigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe1xuICAgIGZvbnQtc2l6ZTogJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCl7XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKXtcblxuICAgIGEudWstbGluay1tdXRlZCxcbiAgICAudWstbGluay1tdXRlZCBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLW11dGVkOmhvdmVyLFxuICAgIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLW11dGVkICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay10ZXh0OmhvdmVyLFxuICAgIC51ay1saW5rLXRleHQgYTpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuICAgIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpe1xuXG4gICAgLnVrLWxpc3QtbXV0ZWQgPiA6OmJlZm9yZSB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbGlzdC1lbXBoYXNpcyA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3QtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1saXN0LXByaW1hcnkgPiA6OmJlZm9yZSB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1saXN0LXNlY29uZGFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3Qtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgfVxuXG4gICAgLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKXtcblxuICAgIC51ay10b3RvcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3ApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCl7XG5cbiAgICAudWstbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGFiZWwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUb2dnbGVcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2KCl7XG5cbiAgICAvL1xuICAgIC8vIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gICAgLy9cblxuICAgIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIERlZmF1bHRcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlcnNcbiAgICAvL1xuXG4gICAgLnVrLW5hdi51ay1uYXYtZGl2aWRlciA+IDpub3QoLnVrLW5hdi1kaXZpZGVyKSArIDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlcikge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtZGl2aWRlcnMtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXJzKSkge0BpbmNsdWRlIGhvb2stbmF2LWRpdmlkZXJzKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1pdGVtIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAudWstbmF2YmFyLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCl7XG5cbiAgICAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQaWxsXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIERpc2FibGVkXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCl7XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10ZXh0KCl7XG5cbiAgICAudWstdGV4dC1sZWFkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRleHQtbWV0YSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1tZXRhKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW11dGVkIHsgY29sb3I6ICRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWVtcGhhc2lzIHsgY29sb3I6ICRpbnZlcnNlLXRleHQtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXByaW1hcnkgeyBjb2xvcjogJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1zZWNvbmRhcnkgeyBjb2xvcjogJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCl7XG5cbiAgICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAgIC51ay1kcm9wY2FwIHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZHJvcGNhcCgpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogYmxvY2s7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZSgpe1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnV0dG9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCk7XG59XG5AbWl4aW4gaG9vay1sYWJlbCgpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbGFiZWwtdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbkBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbkBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fVxuQG1peGluIGhvb2stbGVhZGVyKCl7fVxuQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxlYWRlcigpe1xuXG4gICAgLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGVhZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbGlnaHRib3goKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhcigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJGxpc3Qtc3RyaXBlZC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LXN0cmlwZWQtYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuQG1peGluIGhvb2stbWFya2VyKCl7XG4gICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG59XG5AbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1tYXJrZXIoKXtcblxuICAgIC51ay1tYXJrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW1hcmtlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbWFya2VyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1tYXJrZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW1hcmtlcjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbkBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpeyBmb250LXNpemU6ICRuYXYtZGVmYXVsdC1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kaXZpZGVycygpe31cbkBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cbkBtaXhpbiBob29rLW5hdmJhci1zdGlja3koKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24oKXsgYm94LXNoYWRvdzogJG5hdmJhci1kcm9wZG93bi1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpeyBib3gtc2hhZG93OiBub25lOyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7IGZvbnQtc2l6ZTogJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGJhci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBOYXZiYXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuXG4gICAgLypcbiAgICAgKiBHcmlkIERpdmlkZXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICgkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAwLjUpO1xuICAgICAgICBib3JkZXItbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsICogMC41KTtcbiAgICAgICAgbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbkBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpeyBib3JkZXI6ICRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGggZGFzaGVkICRwbGFjZWhvbGRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2KCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlcigpe31cbkBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbkBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbkBtaXhpbiBob29rLXN1Ym5hdigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7XG4gICAgZm9udC1zaXplOiAkc3VibmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tKCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe1xuICAgIGJvcmRlci10b3A6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbWlzYygpe1xuXG4gICAgLnVrLXRhYiAudWstZHJvcGRvd24geyBtYXJnaW4tbGVmdDogKCR0YWItbWFyZ2luLWhvcml6b250YWwgKyAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKSB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7XG5cbiAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLXRhYi1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWJsZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbkBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGFibGUtbWlzYygpe1xuXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyIHsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGxpbmVhcjsgfVxuXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuICAgIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFibGUoKXtcbiAgICAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbn1cbkBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWV0YSgpe1xuXG4gICAgYSB7IGNvbG9yOiAkdGV4dC1tZXRhLWxpbmstY29sb3I7IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbkBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdigpe31cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0aHVtYm5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKXtcbiAgICAmOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDsgfVxufVxuQG1peGluIGhvb2stdGh1bWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10aHVtYm5hdigpe1xuXG4gICAgLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGlsZSgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay10aWxlLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbkBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b3RvcCgpeyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbkBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuQG1peGluIGhvb2stZHJvcGNhcCgpe1xuICAgIC8vIFByZXZlbnQgbGluZSB3cmFwXG4gICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbn1cbkBtaXhpbiBob29rLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvL1xuLy8gVGhlbWVcbi8vXG5cbkBpbXBvcnQgXCJ0aGVtZS9faW1wb3J0LnNjc3NcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvX2ltcG9ydC5zY3NzXCI7XG5cblxuIiwiLy8gQmFzZVxuQGltcG9ydCBcInZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS5zY3NzXCI7XG5cbi8vIEVsZW1lbnRzXG5AaW1wb3J0IFwibGluay5zY3NzXCI7XG5AaW1wb3J0IFwiaGVhZGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiZGl2aWRlci5zY3NzXCI7XG5AaW1wb3J0IFwibGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiZGVzY3JpcHRpb24tbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwidGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImljb24uc2Nzc1wiO1xuQGltcG9ydCBcImZvcm0tcmFuZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcImZvcm0uc2Nzc1wiO1xuQGltcG9ydCBcImJ1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3Muc2Nzc1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJzZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb250YWluZXIuc2Nzc1wiO1xuQGltcG9ydCBcInRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNhcmQuc2Nzc1wiO1xuXG4vLyBDb21tb25cbkBpbXBvcnQgXCJjbG9zZS5zY3NzXCI7XG5AaW1wb3J0IFwic3Bpbm5lci5zY3NzXCI7XG5AaW1wb3J0IFwibWFya2VyLnNjc3NcIjtcbkBpbXBvcnQgXCJ0b3RvcC5zY3NzXCI7XG5AaW1wb3J0IFwiYWxlcnQuc2Nzc1wiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJiYWRnZS5zY3NzXCI7XG5AaW1wb3J0IFwibGFiZWwuc2Nzc1wiO1xuQGltcG9ydCBcIm92ZXJsYXkuc2Nzc1wiO1xuQGltcG9ydCBcImFydGljbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvbW1lbnQuc2Nzc1wiO1xuQGltcG9ydCBcInNlYXJjaC5zY3NzXCI7XG5cbi8vIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJhY2NvcmRpb24uc2Nzc1wiO1xuQGltcG9ydCBcImRyb3Auc2Nzc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2RhbC5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJzdGlja3kuc2Nzc1wiO1xuQGltcG9ydCBcIm9mZmNhbnZhcy5zY3NzXCI7XG5AaW1wb3J0IFwibGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJub3RpZmljYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcInNvcnRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3VudGRvd24uc2Nzc1wiO1xuXG5AaW1wb3J0IFwiZ3JpZC5zY3NzXCI7XG5cbi8vIE5hdnNcbkBpbXBvcnQgXCJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcIm5hdmJhci5zY3NzXCI7XG5AaW1wb3J0IFwic3VibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0YWIuc2Nzc1wiO1xuQGltcG9ydCBcInNsaWRlbmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJkb3RuYXYuc2Nzc1wiO1xuQGltcG9ydCBcInRodW1ibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJpY29ubmF2LnNjc3NcIjtcblxuQGltcG9ydCBcImxpZ2h0Ym94LnNjc3NcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwiYW5pbWF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ3aWR0aC5zY3NzXCI7XG5AaW1wb3J0IFwiaGVpZ2h0LnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZXh0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb2x1bW4uc2Nzc1wiO1xuQGltcG9ydCBcImJhY2tncm91bmQuc2Nzc1wiO1xuQGltcG9ydCBcImFsaWduLnNjc3NcIjtcbkBpbXBvcnQgXCJ1dGlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJtYXJnaW4uc2Nzc1wiO1xuQGltcG9ydCBcInBhZGRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcInBvc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJpbnZlcnNlLnNjc3NcIjtcbiIsIi8vXG4vLyBDb21wb25lbnQ6IFZhcmlhYmxlc1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEdsb2JhbCB2YXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy9cbi8vIENvbG9yc1xuLy9cblxuLy9cbi8vIEJhY2tncm91bmRzXG4vL1xuXG4vL1xuLy8gQm9yZGVyc1xuLy9cblxuLy9cbi8vIFNwYWNpbmdzXG4vL1xuXG4vL1xuLy8gQ29udHJvbHNcbi8vXG5cbi8vXG4vLyBaLWluZGV4XG4vLyIsIi8vXG4vLyBDb21wb25lbnQ6IEJhc2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRiYXNlLWJsb2NrcXVvdGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2UtcHJlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcblxuXG4vLyBCb2R5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuXG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG5cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBIZWFkaW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oMSgpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oNCgpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1ocigpe31cblxuXG4vLyBCbG9ja3F1b3Rlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBQcmVmb3JtYXR0ZWQgdGV4dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBMaW5rXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNdXRlZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5cblxuLy8gVGV4dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cblxuLy8gQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuXG5cbi8vIEhlYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cblxuXG4vLyBSZXNldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBIZWFkaW5nXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1lZGl1bSgpe31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1sYXJnZSgpe31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctMnhsYXJnZSgpe31cblxuXG4vLyBEaXZpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuXG5cbi8vIEJ1bGxldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuXG5cbi8vIExpbmVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IERpdmlkZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cblxuXG4vLyBTbWFsbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5cblxuLy8gVmVydGljYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItdmVydGljYWwoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTGlzdFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuXG4iLCIvL1xuLy8gQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRhYmxlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cblxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cblxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG5cblxuLy8gU2l6ZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9XG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEljb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBMaW5rXG4vL1xuXG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cblxuLy9cbi8vIEJ1dHRvblxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWljb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBGb3JtIFJhbmdlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5cblxuLy8gVGh1bWJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBUcmFja1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogRm9ybVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1sYXJnZS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kZm9ybS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZvY3VzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kZm9ybS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICAgIHNvbGlkICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cblxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuXG5cblxuXG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG5cblxuLy8gUmFkaW8gYW5kIGNoZWNrYm94XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuXG5cblxuXG4vLyBMZWdlbmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cblxuXG4vLyBMYWJlbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIExheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cblxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG5cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEJ1dHRvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRidXR0b24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRidXR0b24tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRidXR0b24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMjAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDMwJSkgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRidXR0b24tdGV4dC1ob3Zlci1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cbi8vXG4vLyBQcmltYXJ5XG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cblxuLy9cbi8vIFNlY29uZGFyeVxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuXG4vL1xuLy8gRGFuZ2VyXG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG5cblxuLy8gRGlzYWJsZWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBTaXplIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuXG5cbi8vIFRleHQgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cbi8vIExpbmsgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogUHJvZ3Jlc3Ncbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IFNlY3Rpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24oKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW11dGVkKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW1pc2MoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBDb250YWluZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBUaWxlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10aWxlKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cblxuLy8gQG1peGluIGhvb2stdGlsZS1kZWZhdWx0LWhvdmVyKCl7fVxuXG4vL1xuLy8gTXV0ZWRcbi8vXG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQtaG92ZXIoKXt9XG5cbi8vXG4vLyBQcmltYXJ5XG4vL1xuXG4vLyBAbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeS1ob3Zlcigpe31cblxuLy9cbi8vIFNlY29uZGFyeVxuLy9cblxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQ2FyZFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kY2FyZC1iYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRjYXJkLWhvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuXG5cbi8vIE1lZGlhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuXG5cbi8vIEJhZGdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSG92ZXIgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuXG5cblxuXG5cblxuXG4vL1xuLy8gUHJpbWFyeVxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cblxuXG5cbi8vXG4vLyBTZWNvbmRhcnlcbi8vXG5cblxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IENsb3NlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFNwaW5uZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTWFya2VyXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IFRvdG9wXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stdG90b3AtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEFsZXJ0XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1ob3Zlci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgICAwLjggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYWxlcnQoKXt9XG5cblxuLy8gQ2xvc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cblxuLy8gQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cblxuLy8gQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4iLCIvL1xuLy8gQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJHBsYWNlaG9sZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogQmFkZ2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTGFiZWxcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kbGFiZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBDb2xvciBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogT3ZlcmxheVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheSgpe31cblxuLy8gSWNvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEFydGljbGVcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGFydGljbGUtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUoKXt9XG5cblxuLy8gQWRqYWNlbnQgc2libGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUtYWRqYWNlbnQoKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLXRpdGxlKCl7fVxuXG5cbi8vIE1ldGFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBDb21tZW50XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50KCl7fVxuXG5cbi8vIFNlY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cblxuXG4vLyBUaXRsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG5cblxuLy8gTWV0YVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cblxuXG4vLyBBdmF0YXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cblxuXG4vLyBMaXN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBTZWFyY2hcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG5cblxuLy8gRGVmYXVsdCBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuLy8gTmF2YmFyIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5cblxuLy8gTGFyZ2UgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG5cbi8vIFRvZ2dsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQWNjb3JkaW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGFjY29yZGlvbi1pY29uLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbigpe31cblxuXG4vLyBJdGVtXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuXG5cbi8vIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLW1pc2MoKXt9XG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuXG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IERyb3Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogRHJvcGRvd25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgNXB4IDEycHggcmdiYSgwLDAsMCwwLjE1KSAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBOYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBNb2RhbFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbCgpe31cblxuXG4vLyBEaWFsb2dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5cblxuLy8gRnVsbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG5cblxuLy8gU2VjdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cblxuXG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU2xpZGVyXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBTdGlja3lcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBPZmYtY2FudmFzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBCYXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuXG5cbi8vIENsb3NlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuXG5cbi8vIE92ZXJsYXlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTGVhZGVyXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1sZWFkZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxlYWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBOb3RpZmljYXRpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cblxuXG4vLyBNZXNzYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG5cblxuLy8gQ2xvc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBUb29sdGlwXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10b29sdGlwKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU29ydGFibGVcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuXG5cbi8vIERyYWdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuXG5cbi8vIFBsYWNlaG9sZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG5cblxuLy8gRW1wdHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IENvdW50ZG93blxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuXG5cbi8vIEl0ZW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cblxuXG4vLyBOdW1iZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuXG5cbi8vIFNlcGFyYXRvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5cblxuLy8gTGFiZWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbGFiZWwoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBHcmlkXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBEaXZpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG4vLyBAbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogTmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG5cbi8vIFN1Ymxpc3RzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LXN1Yigpe31cblxuXG4vLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cblxuXG4vLyBIZWFkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuXG5cbi8vIERpdmlkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cblxuXG4vLyBEZWZhdWx0IHN0eWxlIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5cblxuLy8gUHJpbWFyeSBzdHlsZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXJzKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kaXZpZGVycygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBOYXZiYXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDI1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICgkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgKiAyKSAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3BiYXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgMCA1cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5cblxuLy8gQ29udGFpbmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cblxuXG4vLyBOYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cblxuXG4vLyBJdGVtXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWl0ZW0oKXt9XG5cblxuLy8gVG9nZ2xlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5cblxuLy8gU3VidGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXByaW1hcnkoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cblxuXG4vLyBEcm9wZG93blxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBEcm9wZG93biBuYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5cblxuLy8gRHJvcGJhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU3VibmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG5cbi8vIERpdmlkZXIgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cblxuXG4vLyBQaWxsIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cblxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cblxuXG4vLyBEaXNhYmxlZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogQnJlYWRjcnVtYlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cblxuXG4vLyBJdGVtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFBhZ2luYXRpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG5cblxuLy8gSXRlbXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFRhYlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiR0YWItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHRhYi1pdGVtLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYi1pdGVtLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJHRhYi1pdGVtLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEl0ZW1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWhvdmVyKCl7fVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5cblxuLy8gUG9zaXRpb24gbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBTbGlkZW5hdlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG5cblxuLy8gSWNvbiBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuXG5cbi8vIFNpemUgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cblxuXG4vLyBDb250YWluZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBEb3RuYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJGRvdG5hdi1pdGVtLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZG90bmF2KCl7fVxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdigpe31cblxuXG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IFRodW1ibmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJHRodW1ibmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjQpICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2KCl7fVxuXG5cblxuXG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEljb25uYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kc3VibmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staWNvbm5hdigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IExpZ2h0Ym94XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveCgpe31cblxuXG4vLyBJdGVtXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cblxuXG4vLyBUb29sYmFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhcigpe31cblxuXG4vLyBUb29sYmFyIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlcigpe31cblxuXG4vLyBCdXR0b25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBBbmltYXRpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBXaWR0aFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogSGVpZ2h0XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVpZ2h0LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGV4dFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiR0ZXh0LW1ldGEtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkdGV4dC1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuXG5cblxuXG4vLyBTaXplIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG5cblxuLy8gQmFja2dyb3VuZCBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogQ29sdW1uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQmFja2dyb3VuZFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhY2tncm91bmQtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBBbGlnblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVXRpbGl0eVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gUGFuZWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuXG5cbi8vIEJveC1zaGFkb3cgYm90dG9tXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG5cblxuLy8gRHJvcCBjYXBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBMb2dvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbG9nbygpe31cblxuLy8gQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBNYXJnaW5cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBQYWRkaW5nXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFBvc2l0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEludmVyc2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9IiwiLy8gQmFzZVxuQGltcG9ydCBcInZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW4uc2Nzc1wiO1xuQGltcG9ydCBcImJhc2Uuc2Nzc1wiO1xuXG4vLyBFbGVtZW50c1xuQGltcG9ydCBcImxpbmsuc2Nzc1wiO1xuQGltcG9ydCBcImhlYWRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcImRpdmlkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcImRlc2NyaXB0aW9uLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcInRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJpY29uLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLXJhbmdlLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb24sIEZvcm0gUmFuZ2VcbkBpbXBvcnQgXCJidXR0b24uc2Nzc1wiO1xuQGltcG9ydCBcInByb2dyZXNzLnNjc3NcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwic2VjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiY29udGFpbmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJ0aWxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjYXJkLnNjc3NcIjtcblxuLy8gQ29tbW9uXG5AaW1wb3J0IFwiY2xvc2Uuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcInNwaW5uZXIuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcInRvdG9wLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cbkBpbXBvcnQgXCJtYXJrZXIuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImFsZXJ0LnNjc3NcIjsgLy8gQWZ0ZXI6IENsb3NlXG5AaW1wb3J0IFwicGxhY2Vob2xkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImJhZGdlLnNjc3NcIjtcbkBpbXBvcnQgXCJsYWJlbC5zY3NzXCI7XG5AaW1wb3J0IFwib3ZlcmxheS5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwiYXJ0aWNsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tbWVudC5zY3NzXCI7XG5AaW1wb3J0IFwic2VhcmNoLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cblxuLy8gSmF2YVNjcmlwdFxuQGltcG9ydCBcImFjY29yZGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiZHJvcC5zY3NzXCI7IC8vIEFmdGVyOiBDYXJkXG5AaW1wb3J0IFwiZHJvcGRvd24uc2Nzc1wiOyAvLyBBZnRlcjogQ2FyZFxuQGltcG9ydCBcIm1vZGFsLnNjc3NcIjsgLy8gQWZ0ZXI6IENsb3NlXG5AaW1wb3J0IFwic2xpZGVzaG93LnNjc3NcIjtcbkBpbXBvcnQgXCJzbGlkZXIuc2Nzc1wiO1xuQGltcG9ydCBcInN0aWNreS5zY3NzXCI7XG5AaW1wb3J0IFwib2ZmY2FudmFzLnNjc3NcIjtcbkBpbXBvcnQgXCJzd2l0Y2hlci5zY3NzXCI7XG5AaW1wb3J0IFwibGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJub3RpZmljYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcInNvcnRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3VudGRvd24uc2Nzc1wiO1xuLy8gU2Nyb2xsc3B5XG4vLyBUb2dnbGVcbi8vIFNjcm9sbFxuXG5AaW1wb3J0IFwiZ3JpZC5zY3NzXCI7XG5cbi8vIE5hdnNcbkBpbXBvcnQgXCJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcIm5hdmJhci5zY3NzXCI7IC8vIEFmdGVyOiBDYXJkLCBHcmlkLCBOYXYsIEljb24sIFNlYXJjaFxuQGltcG9ydCBcInN1Ym5hdi5zY3NzXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYi5zY3NzXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidGFiLnNjc3NcIjtcbkBpbXBvcnQgXCJzbGlkZW5hdi5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwiZG90bmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJ0aHVtYm5hdi5zY3NzXCI7XG5AaW1wb3J0IFwiaWNvbm5hdi5zY3NzXCI7XG5cbkBpbXBvcnQgXCJsaWdodGJveC5zY3NzXCI7IC8vIEFmdGVyOiBDbG9zZSwgU2xpZGVuYXZcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwiYW5pbWF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ3aWR0aC5zY3NzXCI7XG5AaW1wb3J0IFwiaGVpZ2h0LnNjc3NcIjtcbkBpbXBvcnQgXCJ0ZXh0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb2x1bW4uc2Nzc1wiO1xuQGltcG9ydCBcImNvdmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJiYWNrZ3JvdW5kLnNjc3NcIjtcbkBpbXBvcnQgXCJhbGlnbi5zY3NzXCI7XG5AaW1wb3J0IFwic3ZnLnNjc3NcIjtcbkBpbXBvcnQgXCJ1dGlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJmbGV4LnNjc3NcIjsgLy8gQWZ0ZXI6IFV0aWxpdHlcbkBpbXBvcnQgXCJtYXJnaW4uc2Nzc1wiO1xuQGltcG9ydCBcInBhZGRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcInBvc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ2aXNpYmlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJpbnZlcnNlLnNjc3NcIjtcblxuLy8gTmVlZCB0byBiZSBsb2FkZWQgbGFzdFxuQGltcG9ydCBcInByaW50LnNjc3NcIjtcbiIsIi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIFZhcmlhYmxlc1xuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIGNvbW1vbiB2YWx1ZXMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTG9hZCBkZXByZWNhdGVkIGNvbXBvbmVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGVwcmVjYXRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcblxuXG4vLyBCcmVha3BvaW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFBob25lIFBvcnRyYWl0OiAgIEdhbGF4eSAoMzYweDY0MCksIGlQaG9uZSA2ICgzNzV4NjY3KSwgaVBob25lIDYrICg0MTR4NzM2KVxuLy8gUGhvbmUgTGFuZHNjYXBlOiAgR2FsYXh5ICg2NDB4MzYwKSwgaVBob25lIDYgKDY2N3gzNzUpLCBpUGhvbmUgNisgKDczNng0MTQpXG4vLyBUYWJsZXQgUG9ydHJhaXQ6ICBpUGFkICg3Njh4MTAyNCksIEdhbGF4eSBUYWIgKDgwMHgxMjgwKSxcbi8vIFRhYmxldCBMYW5kc2NhcGU6IGlQYWQgKDEwMjR4NzY4KSwgaVBhZCBQcm8gKDEwMjR4MTM2NiksXG4vLyBEZXNrdG9wOiAgICAgICAgICBHYWxheHkgVGFiICgxMjgweDgwMCksIGlQYWQgUHJvICgxMzY2eDEwMjQpXG5cbiRicmVha3BvaW50LXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY0MHB4ICFkZWZhdWx0OyAgLy8gUGhvbmUgbGFuZHNjYXBlXG4kYnJlYWtwb2ludC1tZWRpdW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NjBweCAhZGVmYXVsdDsgIC8vIFRhYmxldCBMYW5kc2NhcGVcbiRicmVha3BvaW50LWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDsgLy8gRGVza3RvcFxuJGJyZWFrcG9pbnQteGxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYwMHB4ICFkZWZhdWx0OyAvLyBMYXJnZSBTY3JlZW5zXG5cbiRicmVha3BvaW50LXhzbWFsbC1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICgkYnJlYWtwb2ludC1zbWFsbCAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGwtbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRicmVha3BvaW50LW1lZGl1bSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRicmVha3BvaW50LWxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZS1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQteGxhcmdlIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy8gR2xvYmFsIHZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0OyAgICAgIC8vIDI0cHhcblxuJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgIDIuNjI1cmVtICFkZWZhdWx0OyAvLyA0MnB4XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgICAgIC8vIDMycHhcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7ICAgLy8gMjRweFxuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7ICAvLyAyMHB4XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgMC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0cHhcblxuLy9cbi8vIENvbG9yc1xuLy9cblxuJGdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2NjYgIWRlZmF1bHQ7XG4kZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4kZ2xvYmFsLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzFlODdmMCAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjMGY2ZWNkICFkZWZhdWx0O1xuXG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuLy9cbi8vIEJhY2tncm91bmRzXG4vL1xuXG4kZ2xvYmFsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzFlODdmMCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuXG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzMyZDI5NiAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjZmFhMDVhICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICNmMDUwNmUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCb3JkZXJzXG4vL1xuXG4kZ2xvYmFsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCb3gtU2hhZG93c1xuLy9cblxuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgIDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDE0cHggMjVweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgIDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBTcGFjaW5nc1xuLy9cblxuLy8gVXNlZCBpbiBtYXJnaW4sIHNlY3Rpb24sIGxpc3RcbiRnbG9iYWwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0MHB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGluIGdyaWQsIGNvbHVtbiwgY29udGFpbmVyLCBhbGlnbiwgY2FyZCwgcGFkZGluZ1xuJGdsb2JhbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcwcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBDb250cm9sc1xuLy9cblxuJGdsb2JhbC1jb250cm9sLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1NXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gWi1pbmRleFxuLy9cblxuJGdsb2JhbC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBNaXhpblxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIG1peGlucyB3aGljaCBhcmUgdXNlZCBhY3Jvc3MgYWxsIGNvbXBvbmVudHNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBTVkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldykgIWRlZmF1bHQ7XG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkcmVwbGFjZS1zcmMsIFwiI1wiLCBcIiUyM1wiKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocXVvdGUoJHJlcGxhY2Utc3JjKSk7XG59IiwiLy8gTmFtZTogICAgICAgICAgICBCYXNlXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmF1bHQgdmFsdWVzIGZvciBIVE1MIGVsZW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWgxYCwgYHVrLWgyYCwgYHVrLWgzYCwgYHVrLWg0YCwgYHVrLWg1YCwgYHVrLWg2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaHJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDItZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYmFzZS1wcmUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2UtZm9jdXMtb3V0bGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmUtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICBkb3R0ZWQgIWRlZmF1bHQ7XG4kYmFzZS1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmUtb2Zmc2V0OiAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICogMy4gU3R5bGVcbiAqL1xuXG5odG1sIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ib2R5LWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtYm9keS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYm9keS1saW5lLWhlaWdodDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1ib2R5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWJvZHktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYm9keSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYm9keSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cblxuLyogTGlua3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3R5bGVcbiAqL1xuXG5hLFxuLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmsoKTt9XG59XG5cbmE6aG92ZXIsXG4udWstbGluazpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gRWRnZS5cbiAqIDIuIFRoZSBzaG9ydGhhbmQgZGVjbGFyYXRpb24gYHVuZGVybGluZSBkb3R0ZWRgIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6ICRiYXNlLXN0cm9uZy1mb250LXdlaWdodDsgfVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseTtcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAkYmFzZS1jb2RlLWZvbnQtc2l6ZTtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRiYXNlLWNvZGUtY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1jb2RlKCk7fVxufVxuXG4vKlxuICogRW1waGFzaXplXG4gKi9cblxuZW0geyBjb2xvcjogJGJhc2UtZW0tY29sb3I7IH1cblxuLypcbiAqIEluc2VydFxuICovXG5cbmlucyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtaW5zLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWlucy1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBNYXJrXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtbWFyay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1tYXJrLWNvbG9yO1xufVxuXG4vKlxuICogUXVvdGVcbiAqL1xuXG5xIHsgZm9udC1zdHlsZTogJGJhc2UtcXVvdGUtZm9udC1zdHlsZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwgeyBmb250LXNpemU6ICRiYXNlLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gZW1iZWRkZWQgY29udGVudCBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBBZGQgcmVzcG9uc2l2ZW5lc3MuXG4gKiAyLiBBdXRvLXNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gQ29ycmVjdHMgcmVzcG9uc2l2ZSBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQuXG4gKiA0LiBFeGNsdWRlIFNWR3MgZm9yIElFMTEgYmVjYXVzZSB0aGV5IGRvbid0IHByZXNlcnZlIHRoZWlyIGFzcGVjdCByYXRpby5cbiAqL1xuXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiA0ICovXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGJsb2NrKSB7XG5cbiAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxufVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBGaXggbGF6eSBsb2FkaW5nIGltYWdlcyBpZiBwYXJlbnQgZWxlbWVudCBpcyBzZXQgdG8gYGRpc3BsYXk6IGlubGluZWAgYW5kIGhhcyBgb3ZlcmZsb3c6IGhpZGRlbmAuXG4gKiAyLiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZGluZyBpbWFnZXMuXG4gKiBOb3RlOiBTZWxlY3RvciBmb3IgYmFja2dyb3VuZCB3aGlsZSBsb2FkaW5nIGltZ1tkYXRhLXNyYyo9Jy5qcGcnXVtzcmMqPSdkYXRhOmltYWdlJ10geyBiYWNrZ3JvdW5kOiBncmV5OyB9XG4gKi9cblxuaW1nOm5vdChbc3JjXSkge1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICAvKiAyICovXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogSWZyYW1lXG4gKiBSZW1vdmUgYm9yZGVyIGluIGFsbCBicm93c2Vyc1xuICovXG5cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNixcbi51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstaGVhZGluZy14bGFyZ2UsXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LWZhbWlseTogJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oZWFkaW5nKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBoMSwgKiArIC51ay1oMSxcbiogKyBoMiwgKiArIC51ay1oMixcbiogKyBoMywgKiArIC51ay1oMyxcbiogKyBoNCwgKiArIC51ay1oNCxcbiogKyBoNSwgKiArIC51ay1oNSxcbiogKyBoNiwgKiArIC51ay1oNixcbiogKyAudWstaGVhZGluZy1zbWFsbCxcbiogKyAudWstaGVhZGluZy1tZWRpdW0sXG4qICsgLnVrLWhlYWRpbmctbGFyZ2UsXG4qICsgLnVrLWhlYWRpbmcteGxhcmdlLFxuKiArIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBoMSwgLnVrLWgxIHsgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemUtbTsgfVxuICAgIGgyLCAudWstaDIgeyBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gQ2hyb21lLCBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogMy4gU3R5bGVcbiAqL1xuXG5ociwgLnVrLWhyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMiAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1oci1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtaHItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ocigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHsgbWFyZ2luLXRvcDogJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIH1cblxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHsgbWFyZ2luLXRvcDogJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbn1cblxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIGZvbnQ6ICRiYXNlLXByZS1mb250LXNpemUgdW5xdW90ZShcIi9cIikgJGJhc2UtcHJlLWxpbmUtaGVpZ2h0ICRiYXNlLXByZS1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGJhc2UtcHJlLWNvbG9yO1xuICAgIC1tb3otdGFiLXNpemU6IDQ7XG4gICAgdGFiLXNpemU6IDQ7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLXByZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtcHJlKCk7fVxufVxuXG5wcmUgY29kZSB7IGZvbnQtZmFtaWx5OiAkYmFzZS1wcmUtZm9udC1mYW1pbHk7IH1cblxuXG4vKiBGb2N1c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTYWZhcmkgZG9lc24ndCBzdXBwb3J0IGA6Zm9jdXMtdmlzaWJsZWAgeWV0LiBJdCBhbHNvIGRvZXNuJ3Qgc2V0IGZvY3VzIGlmIGNsaWNraW5nIGEgYnV0dG9uIG9yIGFuY2hvci5cbiAqIDEuIEZhbGxiYWNrOiBSZW1vdmUgYDpmb2N1c2AgZm9yIGEgbmVnYXRpdmUgdGFiaW5kZXhlcy5cbiAqIDIuIEZhbGxiYWNrOiBTZXQgYDpmb2N1c2Agc3R5bGUgYnV0IG5vdCBmb3IgbmVnYXRpdmUgdGFiaW5kZXhlcy5cbiAqIDMuIEZhbGxiYWNrOiBSZW1vdmUgYDpmb2N1c2Agc3R5bGUgZm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgYDpmb2N1cy12aXNpYmxlYC5cbiAqIDQuIFNldCBgOmZvY3VzLXZpc2libGVgIHN0eWxlIGZvciBicm93c2VycyB3aGljaCBzdXBwb3J0IGl0LlxuICovXG5cbi8qIDEgKi9cbjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLyogMiAqL1xuOmZvY3VzOm5vdChbdGFiaW5kZXhePSctJ10pIHtcbiAgICBvdXRsaW5lOiAkYmFzZS1mb2N1cy1vdXRsaW5lLXdpZHRoICRiYXNlLWZvY3VzLW91dGxpbmUtc3R5bGUgJGJhc2UtZm9jdXMtb3V0bGluZTtcbiAgICBvdXRsaW5lLW9mZnNldDogJGJhc2UtZm9jdXMtb3V0bGluZS1vZmZzZXQ7XG59XG5cbi8qIDMgKi9cbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKiA0ICovXG46Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6ICRiYXNlLWZvY3VzLW91dGxpbmUtd2lkdGggJGJhc2UtZm9jdXMtb3V0bGluZS1zdHlsZSAkYmFzZS1mb2N1cy1vdXRsaW5lOyB9XG5cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1haW4geyAvKiAyICovXG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG5cbi51ay1icmVha3BvaW50LXM6OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1zbWFsbH0nOyB9XG4udWstYnJlYWtwb2ludC1tOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbWVkaXVtfSc7IH1cbi51ay1icmVha3BvaW50LWw6OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1sYXJnZX0nOyB9XG4udWstYnJlYWtwb2ludC14bDo6YmVmb3JlIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQteGxhcmdlfSc7IH1cblxuOnJvb3Qge1xuICAgIC0tdWstYnJlYWtwb2ludC1zOiAjeyRicmVha3BvaW50LXNtYWxsfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQtbTogI3skYnJlYWtwb2ludC1tZWRpdW19O1xuICAgIC0tdWstYnJlYWtwb2ludC1sOiAjeyRicmVha3BvaW50LWxhcmdlfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQteGw6ICN7JGJyZWFrcG9pbnQteGxhcmdlfTtcbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlua1xuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGxpbmtzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGluay1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpbmstdGV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpbmstaGVhZGluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpbmstcmVzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGluay10b2dnbGVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaW5rXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1tdXRlZCxcbi51ay1saW5rLW11dGVkIGEge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQoKTt9XG59XG5cbmEudWstbGluay1tdXRlZDpob3Zlcixcbi51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstbXV0ZWQge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay10ZXh0LFxuLnVrLWxpbmstdGV4dCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay10ZXh0KSkge0BpbmNsdWRlIGhvb2stbGluay10ZXh0KCk7fVxufVxuXG5hLnVrLWxpbmstdGV4dDpob3Zlcixcbi51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0IHtcbiAgICBjb2xvcjogJGxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay10ZXh0LWhvdmVyKCk7fVxufVxuXG5cbi8qIEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstaGVhZGluZyxcbi51ay1saW5rLWhlYWRpbmcgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZygpO31cbn1cblxuYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4udWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyB7XG4gICAgY29sb3I6ICRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1oZWFkaW5nLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCk7fVxufVxuXG5cbi8qIFJlc2V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuXG5hLnVrLWxpbmstcmVzZXQsXG4udWstbGluay1yZXNldCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXJlc2V0KSkge0BpbmNsdWRlIGhvb2stbGluay1yZXNldCgpO31cbn1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGluay10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1taXNjKSkge0BpbmNsdWRlIGhvb2stbGluay1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWFkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgaGVhZGluZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWFkaW5nLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWhlcm9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctbGluZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW0gKiAwLjggIWRlZmF1bHQ7ICAgICAgLy8gMzhweCAwLjczXG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tICogMC44MjUgIWRlZmF1bHQ7ICAgICAvLyA0MHB4IDAuNzE0XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0OyAgICAgIC8vIDUwcHggMC43OFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0OyAgICAgICAgICAgICAvLyA0cmVtIC8gNjRweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDsgICAgICAgICAgICAvLyA2cmVtIC8gOTZweFxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0OyAgIC8vIDMuMjVyZW0gLyA1MnB4XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7ICAgIC8vIDMuNXJlbSAvIDU2cHhcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgLy8gNHJlbSAvIDY0cHhcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDsgICAgICAgICAgICAgLy8gNnJlbSAvIDk2cHhcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgLy8gOHJlbSAvIDEyOHB4XG5cbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNjRweFxuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA5NnB4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEyOHB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMTFyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDE3NnB4XG5cbiRoZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWJ1bGxldC10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg0cHggKyAwLjdlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMmVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWxpbmUtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjNlbSknKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctc21hbGwpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXNtYWxsKCk7fVxufVxuXG4udWstaGVhZGluZy1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWVkaXVtKCk7fVxufVxuXG4udWstaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1sYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmcteGxhcmdlIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy14bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXhsYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy0yeGxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy0yeGxhcmdlKCk7fVxufVxuXG4vKiBUYWJsZXQgTGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLXNtYWxsIHsgZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmctbGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmcteGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuLyogTGFwdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHsgZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy1sYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy14bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDsgfVxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw7IH1cblxufVxuXG5cbi8qIFByaW1hcnlcbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy1tZWRpdW1gIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMy43NXJlbSAhZGVmYXVsdDsgIC8vIDYwcHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0OyAvLyA1NHB4XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0OyAvLyA0OHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG5AaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctcHJpbWFyeSgpO31cbn1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkgeyBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW07IH1cbn1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sO1xuICAgIH1cbn1cblxufVxuXG5cbi8qIEhlcm9cbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy14bGFyZ2VgIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgLy8gMTI4cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7IC8vIDk2cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDsgLy8gNjRweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWhlcm8oKTt9XG59XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tO1xuICAgIH1cbn1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sO1xuICAgIH1cbn1cblxufVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIEJ1bGxldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gVXNpbmcgYGlubGluZS1ibG9ja2AgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnbm1lbnRcbiAqIDIuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRoZWFkaW5nLWJ1bGxldC10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgaGVpZ2h0OiAkaGVhZGluZy1idWxsZXQtaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDtcbiAgICBib3JkZXItbGVmdDogJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctYnVsbGV0KCk7fVxufVxuXG5cbi8qIExpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeHRyYSBtYXJrdXAgaXMgbmVlZGVkIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25cbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoI3skaGVhZGluZy1saW5lLXRvcH0gLSAoI3skaGVhZGluZy1saW5lLWhlaWdodH0gLyAyKSknKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRoZWFkaW5nLWxpbmUtd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1tZWRpdW0oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGl2aWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRpdmlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGl2aWRlci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItdmVydGljYWxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGl2aWRlci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGRlZmF1bHQgYGhyYFxuICogMi4gU2V0IG1hcmdpbiBpZiBhIGBkaXZgIGlzIHVzZWQgZm9yIHNlbWFudGljYWwgcmVhc29uXG4gKi9cblxuW2NsYXNzKj0ndWstZGl2aWRlciddIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7IG1hcmdpbi10b3A6ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGl2aWRlci1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAkZGl2aWRlci1pY29uLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24oKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRkaXZpZGVyLWljb24tbGluZS10b3A7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSAtICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgYm9yZGVyLWJvdHRvbTogJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUge1xuICAgIHJpZ2h0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBsZWZ0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpO31cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXggaGVpZ2h0IGJlY2F1c2Ugb2YgYGlubGluZS1ibG9ja2BcbiAqIDIuIFVzaW5nIDo6YWZ0ZXIgYW5kIGlubGluZS1ibG9jayB0byBtYWtlIGB0ZXh0LWFsaWduYCB3b3JrXG4gKi9cblxuLyogMSAqL1xuLnVrLWRpdmlkZXItc21hbGwgeyBsaW5lLWhlaWdodDogMDsgfVxuXG4vKiAyICovXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZGl2aWRlci1zbWFsbC13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1zbWFsbCgpO31cbn1cblxuXG4vKiBWZXJ0aWNhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3JkZXItbGVmdDogJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItdmVydGljYWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxpc3QtZGlzY2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtY2lyY2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zcXVhcmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWRlY2ltYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWh5cGhlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWVtcGhhc2lzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWNvbGxhcHNlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRsaXN0LW1hcmtlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG5cbiRsaXN0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWxpc3QgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbi51ay1saXN0ID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1tYXJnaW4tdG9wOyB9XG5cblxuLyogTWFya2VyIG1vZGlmaWVyc1xuICogTW92aW5nIGA6Om1hcmtlcmAgaW5zaWRlIGA6OmJlZm9yZWAgdG8gc3R5bGUgaXQgZGlmZmVyZW50bHlcbiAqIFRvIHN0eWxlIHRoZSBgOjptYXJrZXJgIGlzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1kaXNjID4gKixcbi51ay1saXN0LWNpcmNsZSA+ICosXG4udWstbGlzdC1zcXVhcmUgPiAqLFxuLnVrLWxpc3QtZGVjaW1hbCA+ICosXG4udWstbGlzdC1oeXBoZW4gPiAqIHsgcGFkZGluZy1sZWZ0OiAkbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIFR5cGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWxpc3QtZGVjaW1hbCB7IGNvdW50ZXItcmVzZXQ6IGRlY2ltYWw7IH1cbi51ay1saXN0LWRlY2ltYWwgPiAqIHsgY291bnRlci1pbmNyZW1lbnQ6IGRlY2ltYWw7IH1cblxuW2NsYXNzKj0ndWstbGlzdCddID4gOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAoLSRsaXN0LXBhZGRpbmctbGVmdCk7XG4gICAgd2lkdGg6ICRsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBoZWlnaHQ6ICRsaXN0LW1hcmtlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogKC0kbGlzdC1tYXJrZXItaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udWstbGlzdC1kaXNjID4gOjpiZWZvcmUgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbi51ay1saXN0LWNpcmNsZSA+IDo6YmVmb3JlIHsgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IH1cbi51ay1saXN0LXNxdWFyZSA+IDo6YmVmb3JlIHsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IH1cbi51ay1saXN0LWRlY2ltYWwgPiA6OmJlZm9yZSB7IGNvbnRlbnQ6IGNvdW50ZXIoZGVjaW1hbCwgZGVjaW1hbCkgJ1xcMjAwQS5cXDAwQTAnOyB9XG4udWstbGlzdC1oeXBoZW4gPiA6OmJlZm9yZSB7IGNvbnRlbnQ6ICfigJNcXDAwQTBcXDAwQTAnOyB9XG5cbi8qXG4gKiBDb2xvciBtb2RpZmllcnNcbiAqL1xuXG4udWstbGlzdC1tdXRlZCA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1saXN0LWVtcGhhc2lzID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3QtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3QtcHJpbWFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjpiZWZvcmUgeyBjb2xvcjogJGxpc3Qtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBJbWFnZSBidWxsZXQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1idWxsZXQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6ICgtJGxpc3QtcGFkZGluZy1sZWZ0KTtcbiAgICB3aWR0aDogJGxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGhlaWdodDogJGxpc3QtbWFya2VyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAoLSRsaXN0LW1hcmtlci1oZWlnaHQpO1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRsaXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbGlzdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZDogJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0LWxhcmdlID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1tYXJnaW4tdG9wOyB9XG5cbi51ay1saXN0LWNvbGxhcHNlID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtY29sbGFwc2UgPiAqID4gdWwgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbn1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+ICogeyBwYWRkaW5nOiAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1zdHJpcGVkID4gKiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbGlzdC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGVzY3JpcHRpb24gbGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXJtXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gICAgY29sb3I6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpO31cbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGRkIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbikpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGluZVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGggc29saWQgJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0YWJsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWJsZS1taWRkbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1qdXN0aWZ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc2hyaW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXJlc3BvbnNpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay10YWJsZSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUgeyBtYXJnaW4tdG9wOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGVyIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUgdGgge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1oZWFkZXItY2VsbCgpO31cbn1cblxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2VsbCgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEZvb3RlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0Zm9vdCB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZm9vdGVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay10YWJsZS1jYXB0aW9uKCk7fVxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1taWRkbGUsXG4udWstdGFibGUtbWlkZGxlIHRkIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbi51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbi51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc3RyaXBlZCgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4udWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBBY3RpdmUgc3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpO31cbn1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc21hbGwoKTt9XG59XG5cbi51ay10YWJsZS1sYXJnZSB0aCxcbi51ay10YWJsZS1sYXJnZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbGFyZ2UoKTt9XG59XG5cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cblxuLyogQ2VsbCBzaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNocmluayB7IHdpZHRoOiAxcHg7IH1cbi51ay10YWJsZS1leHBhbmQgeyBtaW4td2lkdGg6ICR0YWJsZS1leHBhbmQtbWluLXdpZHRoOyB9XG5cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG5cbi51ay10YWJsZS1saW5rIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51ay10YWJsZS1saW5rID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEgeyBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLXRvcDogcm91bmQoKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgKiAwLjMzMzMzKSkgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGg6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmxhc3QtY2hpbGQpID4gYSB7IHBhZGRpbmctYm90dG9tOiByb3VuZCgoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAqIDAuMzMzMzMpKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBJY29uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWljb24taW1hZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWJ1dHRvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbi1pbWFnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cblxuLnVrLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNiAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDcuICovXG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogJGljb24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1idXR0b246YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1taXNjKSkge0BpbmNsdWRlIGhvb2staWNvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICBmYWRlaW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgZmFkZWluKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRm9ybSBSYW5nZVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIHRoZSByYW5nZSBpbnB1dCB0eXBlXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcmFuZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG5cbi51ay1yYW5nZSB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLyogNiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAoZmxvb3IoKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCAqIDAuNSkpICogLTEpO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKyBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10b29sdGlwIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNhZmFyaSBkb2Vzbid0IGhhdmUgYSBmb2N1cyBzdGF0ZS4gVXNpbmcgYWN0aXZlIGluc3RlYWQuXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi8qIDEgKi9cbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZm9ybXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlbGVjdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRleHRhcmVhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmFkaW9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jaGVja2JveGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlZ2VuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpZWxkc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWZvcm0tY3VzdG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdGFja2VkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ob3Jpem9udGFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYWJlbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb24tZmxpcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1mb3JtLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ibGFua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHMtdGV4dGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZCgkZm9ybS1wYWRkaW5nLWhvcml6b250YWwgKiAwLjYpICFkZWZhdWx0O1xuXG4kZm9ybS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGZvcm0tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICByb3VuZCgkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWwgKiAwLjYpICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICByb3VuZCgkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWwgKiAwLjYpICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS13aWR0aC14c21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRmb3JtLXJhZGlvLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogICAgICAgICAgICAgICA3cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6ICAgICAgN3B4ICFkZWZhdWx0O1xuXG4kZm9ybS1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEyJTIwOCUyMDYlMjAxNiUyMDYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLypcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuLnVrLWlucHV0IHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VsZWN0IHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cblxuLnVrLXNlbGVjdCBvcHRncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxuLnVrLXRleHRhcmVhIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwICRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybSkpIHtAaW5jbHVkZSBob29rLWZvcm0oKTt9XG59XG5cbi8qXG4gKiBTaW5nbGUtbGluZVxuICogMS4gQWxsb3cgYW55IGVsZW1lbnQgdG8gbG9vayBsaWtlIGFuIGBpbnB1dGAgb3IgYHNlbGVjdGAgZWxlbWVudFxuICogMi4gTWFrZSBzdXJlIGxpbmUtaGVpZ2h0IGlzIG5vdCBsYXJnZXIgdGhhbiBoZWlnaHRcbiAqICAgIEFsc28gbmVlZGVkIHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0taGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zaW5nbGUtbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tc2luZ2xlLWxpbmUoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1tdWx0aS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1tdWx0aS1saW5lKCk7fVxufVxuXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0geyByZXNpemU6IHZlcnRpY2FsOyB9XG5cbi8qIEZvY3VzICovXG4udWstaW5wdXQ6Zm9jdXMsXG4udWstc2VsZWN0OmZvY3VzLFxuLnVrLXRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWZvY3VzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1mb2N1cygpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIFBsYWNlaG9sZGVyXG4gKi9cblxuLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4udWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1mb3JtLXNtYWxsIHsgZm9udC1zaXplOiAkZm9ybS1zbWFsbC1mb250LXNpemU7IH1cblxuLyogU2luZ2xlLWxpbmUgKi9cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi8qIE11bHRpLWxpbmUgKi9cbnRleHRhcmVhLnVrLWZvcm0tc21hbGwsXG5bbXVsdGlwbGVdLnVrLWZvcm0tc21hbGwsXG5bc2l6ZV0udWstZm9ybS1zbWFsbCB7IHBhZGRpbmc6ICRmb3JtLXNtYWxsLXBhZGRpbmctdmVydGljYWwgJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstZm9ybS1sYXJnZSB7IGZvbnQtc2l6ZTogJGZvcm0tbGFyZ2UtZm9udC1zaXplOyB9XG5cbi8qIFNpbmdsZS1saW5lICovXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBNdWx0aS1saW5lICovXG50ZXh0YXJlYS51ay1mb3JtLWxhcmdlLFxuW211bHRpcGxlXS51ay1mb3JtLWxhcmdlLFxuW3NpemVdLnVrLWZvcm0tbGFyZ2UgeyBwYWRkaW5nOiAkZm9ybS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEVycm9yXG4gKi9cblxuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJGZvcm0tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWZvcm0tZGFuZ2VyKCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzICB7XG4gICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWZvcm0tc3VjY2VzcygpO31cbn1cblxuLypcbiAqIEJsYW5rXG4gKi9cblxuLnVrLWZvcm0tYmxhbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmspKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rKCk7fVxufVxuXG4udWstZm9ybS1ibGFuazpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmstZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rLWZvY3VzKCk7fVxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXhzbWFsbDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogKCRmb3JtLXdpZHRoLXhzbWFsbCArIDI1cHgpOyB9XG5cbi51ay1mb3JtLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXNtYWxsOyB9XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkZm9ybS13aWR0aC1tZWRpdW07IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2UgeyB3aWR0aDogJGZvcm0td2lkdGgtbGFyZ2U7IH1cblxuXG4vKiBTZWxlY3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7IGNvbG9yOiAkZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogRGF0YWxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lXG4gKi9cblxuIC51ay1pbnB1dFtsaXN0XSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4udWstaW5wdXRbbGlzdF06aG92ZXIsXG4udWstaW5wdXRbbGlzdF06Zm9jdXMgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLWRhdGFsaXN0LWljb24tY29sb3IpOyB9XG5cbi8qIDEgKi9cbi51ay1pbnB1dFtsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBEb2VzIG5vdCB3b3JrIGluIElFMTFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG5cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgd2lkdGg6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXJhZGlvLW1hcmdpbi10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpbygpO31cbn1cblxuLnVrLXJhZGlvIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG5cbi51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstcmFkaW86ZGlzYWJsZWQsXG4udWstY2hlY2tib3g6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCk7fVxufVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1sZWdlbmQge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxlZ2VuZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGVnZW5kKCk7fVxufVxuXG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuXG4udWstZm9ybS1jdXN0b20ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG5cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBsZWZ0OiAwO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDUgKi9cbiAgICBmb250LXNpemU6IDUwMHB4O1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZvcm0tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sYWJlbCgpO31cbn1cblxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3RhY2tlZFxuICovXG5cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxufVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG5cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7IG1hcmdpbi1sZWZ0OiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OyB9XG5cbiAgICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7IHBhZGRpbmctdG9wOiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A7IH1cblxufVxuXG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWZvcm0taWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkZm9ybS1pY29uLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGZvcm0taWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4udWstZm9ybS1pY29uLWZsaXAgfiAudWstaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGZhZGVpbigkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICBmYWRlaW4oJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgZmFkZWluKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJ1dHRvblxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGJ1dHRvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1idXR0b25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYnV0dG9uLWdyb3VwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWJ1dHRvbi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWRhbmdlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGFyZ2VgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRidXR0b24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJ1dHRvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWJ1dHRvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDcgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA4ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOSAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAxMCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uKCk7fVxufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbjpob3ZlciB7XG4gICAgLyogOSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uOmFjdGl2ZSxcbi51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnkoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYnV0dG9uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kYW5nZXIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zbWFsbCgpO31cbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGFyZ2UoKTt9XG59XG5cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLWxpbmsge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGluaygpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b24tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFVzaW5nIGBmbGV4YCBpbnN0ZWFkIG9mIGBpbmxpbmUtYmxvY2tgIHRvIHByZXZlbnQgd2hpdGVzcGFjZSBiZXR3ZWVudCBjaGlsZCBlbGVtZW50c1xuICogMi4gQmVoYXZlIGxpa2UgYnV0dG9uXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG5cbi51ay1idXR0b24tZ3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFByb2dyZXNzXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXByb2dyZXNzYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcm9ncmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDMuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogNC4gUmVtb3ZlIGJvcmRlcnMgaW4gRmlyZWZveCBhbmQgRWRnZVxuICogNS4gU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIHByb2dyZXNzIGNvbnRhaW5lciBpbiBGaXJlZm94LCBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdHlsZVxuICovXG5cbi51ay1wcm9ncmVzcyB7XG4gICAgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIGJvcmRlcjogMDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7XG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcHJvZ3Jlc3MgeyBtYXJnaW4tdG9wOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgYW5pbWF0ZWQgY2lyY2xlcyBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGUgeyBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFByb2dyZXNzIGNvbnRhaW5lclxuICogMi4gUmVtb3ZlIHByb2dyZXNzIGJhciBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBGaXJlZm94XG4gKi9cblxuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcygpO31cbn1cblxuLyogMiAqL1xuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGU6Oi1tb3otcHJvZ3Jlc3MtYmFyIHsgd2lkdGg6IDA7IH1cblxuLypcbiAqIFByb2dyZXNzIGJhclxuICogMS4gUmVtb3ZlIHJpZ2h0IGJvcmRlciBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tcy1maWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1taXNjKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTZWN0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBsYXlvdXQgc2VjdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNlY3Rpb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc2VjdGlvbi14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24teGxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1vdmVybGFwYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlLWNvbG9yYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcblxuJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBNYWtlIGl0IHdvcmsgd2l0aCBgMTAwdmhgIGFuZCBoZWlnaHQgaW4gZ2VuZXJhbFxuICovXG5cbi51ay1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXNlY3Rpb24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay1zZWN0aW9uLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW11dGVkKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstc2VjdGlvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tcHJpbWFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBPdmVybGFwIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG4udWstc2VjdGlvbi1vdmVybGFwIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1vdmVybGFwKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1vdmVybGFwKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29udGFpbmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBhbGlnbiBhbmQgY2VudGVyIHlvdXIgc2l0ZSBhbmQgZ3JpZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbnRhaW5lci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb250YWluZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgIDE0MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgMTYwMHB4ICFkZWZhdWx0O1xuXG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBCb3ggc2l6aW5nIGhhcyB0byBiZSBgY29udGVudC1ib3hgIHNvIHRoZSBtYXgtd2lkdGggaXMgYWx3YXlzIHRoZSBzYW1lIGFuZFxuICogICAgdW5hZmZlY3RlZCBieSB0aGUgcGFkZGluZyBvbiBkaWZmZXJlbnQgYnJlYWtwb2ludHMuIEl0J3MgaW1wb3J0YW50IGZvciB0aGUgc2l6ZSBtb2RpZmllcnMuXG4gKi9cblxuLnVrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cblxuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXhsYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cblxuLyogRXhwYW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEV4cGFuZCBvbmUgc2lkZSBvbmx5XG4gKi9cblxuLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4udWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItbGFyZ2UsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteGxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14bGFyZ2UgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcmVzZXQgY29udGFpbmVyIHBhZGRpbmcgb24gdGhlIGxlZnQgb3IgcmlnaHQgc2lkZVxuICogTm90ZTogSXQgaGFzIHRvIGJlIG5lZ2F0aXZlIG1hcmdpbiBvbiB0aGUgaXRlbSwgYmVjYXVzZSBpdCdzIHNwZWNpZmljIHRvIHRoZSBpdGVtLlxuICovXG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWx9KScpIH1cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29udGFpbmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb250YWluZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRpbGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aWxlZCBib3hlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRpbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGlsZS14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUteGxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc2Vjb25kYXJ5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlLWNvbG9yYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcblxuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGlsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10aWxlIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlKSkge0BpbmNsdWRlIGhvb2stdGlsZSgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstdGlsZS14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay10aWxlLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXRpbGUteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay10aWxlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stdGlsZS1kZWZhdWx0KCk7fVxufVxuXG4udWstdGlsZS1kZWZhdWx0LnVrLXRpbGUtaG92ZXI6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10aWxlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay10aWxlLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGlsZS1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW11dGVkKSkge0BpbmNsdWRlIGhvb2stdGlsZS1tdXRlZCgpO31cbn1cblxuLnVrLXRpbGUtbXV0ZWQudWstdGlsZS1ob3Zlcjpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10aWxlLW11dGVkLWhvdmVyKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay10aWxlLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aWxlLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1wcmltYXJ5KCk7fVxufVxuXG4udWstdGlsZS1wcmltYXJ5LnVrLXRpbGUtaG92ZXI6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10aWxlLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstdGlsZS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtc2Vjb25kYXJ5KCk7fVxufVxuXG4udWstdGlsZS1zZWNvbmRhcnkudWstdGlsZS1ob3Zlcjpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGlsZS1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aWxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENhcmRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBib3hlZCBjb250ZW50IGNvbnRhaW5lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jYXJkYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNhcmQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLW1lZGlhLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1iYWRnZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jYXJkLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1sYXJnZWBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICByb3VuZCgoJGdsb2JhbC1ndXR0ZXIgKiAwLjUpKSAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAqIDAuNSkpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWd1dHRlciAqIDAuNSkgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgKiAwLjUpKSAhZGVmYXVsdDtcblxuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjYXJkLWJhZGdlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCgkZ2xvYmFsLW1hcmdpbiAqIDAuNjY2NjcpKSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoKCRnbG9iYWwtbWFyZ2luICogMC42NjY2NykpICFkZWZhdWx0O1xuXG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgKiAwLjUpKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQpKSB7QGluY2x1ZGUgaG9vay1jYXJkKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYm9keSB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1ib2R5KCk7fVxufVxuXG4udWstY2FyZC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZm9vdGVyKCk7fVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY2FyZC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIE1lZGlhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIGFsaWdubWVudCBtb2RpZmllciB0byBzdHlsZSB0aGUgbWVkaWEgZWxlbWVudCwgZS5nLiB3aXRoIGBib3JkZXItcmFkaXVzYFxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLXRvcCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtbGVmdCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQgIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS10b3ApKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXRvcCgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtcmlnaHQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY2FyZC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC10aXRsZSgpO31cbn1cblxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQb3NpdGlvblxuICogMi4gU2l6ZVxuICogMy4gU3R5bGVcbiAqIDQuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2Uge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkY2FyZC1iYWRnZS10b3A7XG4gICAgcmlnaHQ6ICRjYXJkLWJhZGdlLXJpZ2h0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGNhcmQtYmFkZ2UtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1iYWRnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjYXJkLWJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiA0ICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIEhvdmVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtaG92ZXI6bm90KC51ay1jYXJkLWRlZmF1bHQpOm5vdCgudWstY2FyZC1wcmltYXJ5KTpub3QoLnVrLWNhcmQtc2Vjb25kYXJ5KTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqIE5vdGU6IEhlYWRlciBhbmQgRm9vdGVyIGFyZSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgZGVmYXVsdCBzdHlsZVxuICovXG5cbi51ay1jYXJkLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0KCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWhlYWRlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWZvb3RlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1jYXJkLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5KCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5KCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1jYXJkLXNtYWxsLnVrLWNhcmQtYm9keSxcbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtbGFyZ2UudWstY2FyZC1ib2R5LFxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNhcmQtYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNhcmQtYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENsb3NlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBjbG9zZSBidXR0b25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jbG9zZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDbG9zZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLWNsb3NlIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWNsb3NlKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWNsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3Bpbm5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbG9hZGluZyBzcGlubmVyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3Bpbm5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3Bpbm5lci1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29yKCgoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgKiAwLjUpKSAhZGVmYXVsdDsgLy8gTWludXMgc3Ryb2tlIHdpZHRoIHRvIHByZXZlbnQgb3ZlcmZsb3cgY2xpcHBpbmdcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNHMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNwaW5uZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1zcGlubmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lcikpIHtAaW5jbHVkZSBob29rLXNwaW5uZXIoKTt9XG59XG5cblxuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNwaW5uZXIgPiAqIHsgYW5pbWF0aW9uOiB1ay1zcGlubmVyLXJvdGF0ZSAkc3Bpbm5lci1kdXJhdGlvbiBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG59XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBzdHJva2Utd2lkdGg6ICRzcGlubmVyLXN0cm9rZS13aWR0aDtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlOyB9XG4gICAgNTAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICgkc3Bpbm5lci1jaXJjdW1mZXJlbmNlICogMC4yNSk7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1MGRlZyk7XG4gICAgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNwaW5uZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3Bpbm5lcigpe31cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVG90b3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBpY29uIHRvIHNjcm9sbCBiYWNrIHRvIHRvcFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvdG9wYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b3RvcC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb3RvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay10b3RvcCB7XG4gICAgcGFkZGluZzogJHRvdG9wLXBhZGRpbmc7XG4gICAgY29sb3I6ICR0b3RvcC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3ApKSB7QGluY2x1ZGUgaG9vay10b3RvcCgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay10b3RvcDpob3ZlciB7XG4gICAgY29sb3I6ICR0b3RvcC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXRvdG9wOmFjdGl2ZSB7XG4gICAgY29sb3I6ICR0b3RvcC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRvdG9wLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG90b3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmtlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbWFya2VyIGljb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJrZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmtlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJG1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1tYXJrZXIge1xuICAgIHBhZGRpbmc6ICRtYXJrZXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbWFya2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRtYXJrZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlcigpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1tYXJrZXI6aG92ZXIge1xuICAgIGNvbG9yOiAkbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxlcnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbGVydCBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsZXJ0YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWFsZXJ0LWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFsZXJ0LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhbGVydC1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcblxuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsZXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZy1yaWdodCAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydCkpIHtAaW5jbHVkZSBob29rLWFsZXJ0KCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstYWxlcnQgeyBtYXJnaW4tdG9wOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRhbGVydC1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1hbGVydC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1hbGVydC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWFsZXJ0LWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsZXJ0KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBsYWNlaG9sZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcGxhY2Vob2xkZXIgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wbGFjZWhvbGRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbCAkcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIgeyBtYXJnaW4tdG9wOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCYWRnZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBiYWRnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWRnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFkZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMThweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTFweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstYmFkZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkYmFkZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRiYWRnZS1zaXplO1xuICAgIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsICRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvciAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstYmFkZ2U6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMYWJlbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gaW5kaWNhdGUgaW1wb3J0YW50IG5vdGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGFiZWxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGFiZWwtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsICRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsYWJlbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stbGFiZWwoKTt9XG59XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbGFiZWwtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1sYWJlbC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbGFiZWwtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWxhYmVsLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE92ZXJsYXlcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb250ZW50IGFyZWFzIG92ZXJsYXlpbmcgYW4gaW1hZ2Vcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vdmVybGF5YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW92ZXJsYXktaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1vdmVybGF5LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVybGF5LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheSB7XG4gICAgcGFkZGluZzogJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbCAkb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW92ZXJsYXkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXktaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktaWNvbikpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktaWNvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1vdmVybGF5LWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1vdmVybGF5LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktbWlzYykpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQXJ0aWNsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFydGljbGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYXJ0aWNsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hcnRpY2xlLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYXJ0aWNsZS1tZXRhYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhcnRpY2xlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBcnRpY2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYXJ0aWNsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEFkamFjZW50IHNpYmxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAkYXJ0aWNsZS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLXRpdGxlKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlIHsgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWV0YSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbW1lbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBuZXN0ZWQgY29tbWVudHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb21tZW50YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbW1lbnQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbWV0YWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtYXZhdGFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1saXN0YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbW1lbnQtcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb21tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1ib2R5KCk7fVxufVxuXG4udWstY29tbWVudC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWhlYWRlcigpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb21tZW50LWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jb21tZW50LWhlYWRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtdGl0bGUoKTt9XG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjb21tZW50LW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWV0YSgpO31cbn1cblxuXG4vKiBBdmF0YXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1hdmF0YXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWF2YXRhcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYXZhdGFyKCk7fVxufVxuXG5cbi8qIExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0ID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG5cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7XG4gICAgbWFyZ2luOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3AgMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1YigpO31cbn1cblxuLyogVGFibGV0IGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7IHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTsgfVxuXG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1wcmltYXJ5KCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29tbWVudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlYXJjaFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRoZSBzZWFyY2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWFyY2hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2VhcmNoLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLXRvZ2dsZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1zZWFyY2gtaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zZWFyY2gtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1uYXZiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlYXJjaC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VhcmNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBSZXNldCBgZm9ybWBcbiAqL1xuXG4udWstc2VhcmNoIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8qIElucHV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDUuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKiA3LiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDguIFRha2UgdGhlIGZ1bGwgY29udGFpbmVyIHdpZHRoXG4gKiA5LiBTdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDYgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNyAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogOCAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDkgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICRzZWFyY2gtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1pbnB1dCgpO31cbn1cblxuLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLyogUGxhY2Vob2xkZXIgKi9cbi51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIEljb24gKEFkb3B0cyBgdWstaWNvbmApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgeyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1uYXZiYXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLW5hdmJhci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aCk7IH1cblxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgeyB3aWR0aDogJHNlYXJjaC1sYXJnZS13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1sYXJnZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWxhcmdlLWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC10b2dnbGUge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgY29sb3I6ICRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbWlzYykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zZWFyY2gtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICBmYWRlaW4oJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFjY29yZGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFjY29yZGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hY2NvcmRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYWNjb3JkaW9uLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWNjb3JkaW9uLWNvbnRlbnRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWl0ZW0oKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICBjb2xvcjogJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1jb250ZW50KSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4gLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRHJvcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gcG9zaXRpb24gYW55IGVsZW1lbnQgbmV4dCB0byBhbnkgb3RoZXIgZWxlbWVudC5cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3AtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ncmlkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gVXNlczogICAgICAgICAgICBBbmltYXRpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqL1xuXG4udWstZHJvcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkZHJvcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZHJvcC13aWR0aDtcbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3AudWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcC10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRkcm9wLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcC1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kZHJvcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3AtbWFyZ2luOyB9XG5cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcC1zdGFjayAudWstZHJvcC1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3AtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRHJvcGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkcm9wZG93biBtZW51c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRyb3Bkb3duYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWRyb3Bkb3duLW5hdmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wZG93bi10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tZ3JpZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1kcm9wZG93biB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wZG93bi51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1uYXYge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdigpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tbWFyZ2luOyB9XG5cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tc3RhY2sgLnVrLWRyb3Bkb3duLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1vZGFsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbW9kYWwgZGlhbG9nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1vZGFsYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW1vZGFsLXBhZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1kaWFsb2dgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2Utb3V0c2lkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWZ1bGxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbW9kYWwtY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZnVsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtb2RhbC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG5cbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWwtczogICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250YWluZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAqIDAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsICogMC41KSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbCgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1vZGFsIHsgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tb2RhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW1vZGFsLnVrLW9wZW4geyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbW9kYWwtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBEaWFsb2dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogJG1vZGFsLWRpYWxvZy13aWR0aDtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAwLjAxcHgpJykgIWltcG9ydGFudDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kO1xuICAgIC8qIDUgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZGlhbG9nKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZGlhbG9nKCk7fVxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cblxuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHsgd2lkdGg6ICRtb2RhbC1jb250YWluZXItd2lkdGg7IH1cblxuLypcbiAqIEZ1bGwgc2l6ZVxuICogMS4gUmVtb3ZlIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgZnJvbSBtb2RhbFxuICogMi4gUmVzZXQgYWxsIGRlZmF1bHQgZGVjbGFyYXRpb25zIGZyb20gbW9kYWwgZGlhbG9nXG4gKi9cblxuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mdWxsKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtYm9keSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWJvZHkoKTt9XG59XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1oZWFkZXIoKTt9XG59XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRtb2RhbC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC10aXRsZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0OmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBPdXRzaWRlXG4gKiAxLiBQcmV2ZW50IHNjcm9sbGJhciBvbiBzbWFsbCBkZXZpY2VzXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLyogMSAqL1xuICAgIHJpZ2h0OiAoLSRtb2RhbC1jbG9zZS1wYWRkaW5nKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIDEgKi9cbiAgICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIH1cblxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXNob3dcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzbGlkZXNob3dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVzaG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlc2hvdy1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3cge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3cpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3coKTt9XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGFuZCBzdGFja2luZyBjb250ZXh0XG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKiA0LiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAvKiA1ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdy1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIHNsaWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlci1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAtMTFweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICAgLTM5cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tbGVmdDogICAgICAgICAgICAgICAgICAgICAgIC0yNXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAtMjVweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlciB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5cbi51ay1zbGlkZXItY29udGFpbmVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogV2lkZW4gY29udGFpbmVyIHRvIHByZXZlbnQgYm94LXNoYWRvd3MgZnJvbSBjbGlwcGluZywgYGxhcmdlLWJveC1zaGFkb3dgXG4gKi9cblxuLnVrLXNsaWRlci1jb250YWluZXItb2Zmc2V0IHtcbiAgICBtYXJnaW46ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b20gJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZzogKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgKiAtMSkgKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1yaWdodCAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbSAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQgKiAtMSk7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0IHN0eWxlIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBncmlkXG4gKiAyLiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXM6bm90KC51ay1ncmlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4udWstc2xpZGVyLWl0ZW1zLnVrLWdyaWQgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTGV0IGl0ZW1zIHRha2UgY29udGVudCBkaW1lbnNpb25zICgwIDAgYXV0bylcbiAqICAgIGBtYXgtd2lkdGhgIG5lZWRlZCB0byBrZWVwIGltYWdlIHJlc3BvbnNpdmVuZXNzIGFuZCBwcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiA0LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDQgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdGlja3lcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG1ha2UgZWxlbWVudHMgc3RpY2t5IGluIHRoZSB2aWV3cG9ydFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN0aWNreWBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zdGlja3ktZml4ZWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdGlja3ktei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcblxuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3RpY2t5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZvcmNlIG5ldyBsYXllciB0byByZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlc1xuICovXG5cbi51ay1zdGlja3ktZml4ZWQge1xuICAgIHotaW5kZXg6ICRzdGlja3ktei1pbmRleDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG5cbi51ay1zdGlja3lbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2UgeyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdGlja3ktbWlzYykpIHtAaW5jbHVkZSBob29rLXN0aWNreS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgT2ZmLWNhbnZhc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIG9mZi1jYW52YXMgc2lkZWJhclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW9mZmNhbnZhc2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1vZmZjYW52YXMtYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1wYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW9mZmNhbnZhcy1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1vZmZjYW52YXMtZmxpcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXJldmVhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1vdmVybGF5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb2ZmY2FudmFzLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBCYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTaXplIGFuZCBzdHlsZVxuICogMy4gQWxsb3cgc2Nyb2xsaW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbCAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtYmFyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAgICAgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1tKTtcbiAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07XG4gICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbSAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qIEZsaXAgbW9kaWZpZXIgKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHsgcmlnaHQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIgeyBsZWZ0OiAwOyB9XG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLypcbiAqIFNsaWRlIEFuaW1hdGlvbiAoVXNlZCBpbiBzbGlkZSBhbmQgcHVzaCBtb2RlKVxuICovXG5cbi51ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbiB7IHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDsgfVxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbiB7IHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0OyB9XG5cbi8qXG4gKiBSZXZlYWwgQW5pbWF0aW9uXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENsaXAgdGhlIGJhclxuICogMy4gQW5pbWF0aW9uXG4gKiA0LiBSZXNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLW91dDtcbn1cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICBsZWZ0OiAwO1xufVxuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW9mZmNhbnZhcy1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbiAgICB0b3A6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtY2xvc2UoKTt9XG59XG5cblxuLyogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBPdmVybGF5IHRoZSB3aG9sZSBwYWdlLiBOZWVkZWQgZm9yIHRoZSBgOjpiZWZvcmVgXG4gKiAxLiBVc2luZyBgMTAwdndgIHNvIG5vIG1vZGlmaWNhdGlvbiBpcyBuZWVkZWQgd2hlbiBvZmYtY2FudmFzIGlzIGZsaXBwZWRcbiAqIDIuIEFsbG93IGZvciBjbG9zaW5nIHdpdGggc3dpcGUgZ2VzdHVyZSBvbiBkZXZpY2VzIHdpdGggcG9pbnRlciBldmVudHMuXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5IHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIC8qIDIgKi9cbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBNYXNrIHRoZSB3aG9sZSBwYWdlXG4gKiAyLiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXk6OmJlZm9yZSB7XG4gICAgLyogMSAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpO31cbn1cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5LnVrLW9wZW46OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBQcmV2ZW50IHNjcm9sbGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsYmFyIHdoZW4gdGhlIGNvbnRlbnQgaXMgc2xpZGUtb3V0XG4gKiBIYXMgdG8gYmUgb24gdGhlIGBodG1sYCBlbGVtZW50IHRvbyB0byBtYWtlIGl0IHdvcmsgb24gdGhlIGBib2R5YFxuICovXG5cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiAxLiBQcm92aWRlIGEgZml4ZWQgd2lkdGggYW5kIHByZXZlbnQgc2hyaW5raW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLypcbiAqIEFjdGl2YXRlIHNsaWRlLW91dCBhbmltYXRpb25cbiAqL1xuXG46bm90KC51ay1vZmZjYW52YXMtZmxpcCkudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKS51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07IH1cblxuICAgIC51ay1vZmZjYW52YXMtZmxpcC51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1taXNjKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTd2l0Y2hlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbmF2aWdhdGUgdGhyb3VnaCBkaWZmZXJlbnQgY29udGVudCBwYW5lc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN3aXRjaGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3dpdGNoZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG5cbi51ay1zd2l0Y2hlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN3aXRjaGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zd2l0Y2hlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMZWFkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbGVhZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxlYWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGVhZGVyLWZpbGwtY29udGVudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnLicpICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGVhZGVyIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogMS4gUGxhY2UgZWxlbWVudCBpbiB0ZXh0IGZsb3dcbiAqIDIuIE5ldmVyIGJyZWFrIGludG8gYSBuZXcgbGluZVxuICogMy4gR2V0IGEgc3RyaW5nIGJhY2sgd2l0aCBhcyBtYW55IHJlcGVhdGluZyBjaGFyYWN0ZXJzIHRvIGZpbGwgdGhlIGNvbnRhaW5lclxuICogNC4gUHJldmVudCB3cmFwcGluZy4gT3ZlcmZsb3dpbmcgY2hhcmFjdGVycyB3aWxsIGJlIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lclxuICovXG5cbi51ay1sZWFkZXItZmlsbDo6YWZ0ZXIge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgLyogMyAqL1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1maWxsKTtcbiAgICAvKiA0ICovXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbGVhZGVyKCk7fVxufVxuXG4vKlxuICogSGlkZSBpZiBtZWRpYSBkb2VzIG5vdCBtYXRjaFxuICovXG5cbi51ay1sZWFkZXItZmlsbC51ay1sZWFkZXItaGlkZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBQYXNzIGZpbGwgY2hhcmFjdGVyIHRvIEpTXG4gKi9cblxuLnVrLWxlYWRlci1maWxsLWNvbnRlbnQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRsZWFkZXItZmlsbC1jb250ZW50fSc7IH1cbjpyb290IHsgLS11ay1sZWFkZXItZmlsbC1jb250ZW50OiAnI3skbGVhZGVyLWZpbGwtY29udGVudH0nOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGVhZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbm90aWZpY2F0aW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb24tei1pbmRleDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZpY2F0aW9uLXdpZHRoICogLTAuNSk7XG59XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuXG5cbi8qIE1lc3NhZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCk7fVxufVxuXG4qICsgLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHsgbWFyZ2luLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKTt9XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb29sdGlwXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdG9vbHRpcHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b29sdGlwYFxuLy9cbi8vIE1vZGlmaWVycyAgICAgICAgYHVrLXRvb2x0aXAtdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG9vbHRpcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gUmVtb3ZlIHRvb2x0aXAgZnJvbSBkb2N1bWVudCBmbG93IHRvIGtlZXAgdGhlIFVJa2l0IGNvbnRhaW5lciBmcm9tIGNoYW5naW5nIGl0cyBzaXplIHdoZW4gaW5qZWN0ZWQgaW50byB0aGUgZG9jdW1lbnQgaW5pdGlhbGx5XG4gKiA0LiBEaW1lbnNpb25zXG4gKiA1LiBTdHlsZVxuICovXG5cbi51ay10b29sdGlwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICR0b29sdGlwLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIHRvcDogMDtcbiAgICAvKiA0ICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsICR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJHRvb2x0aXAtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG9vbHRpcCkpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAoKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay10b29sdGlwLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstdG9vbHRpcC10b3AnXSB7IG1hcmdpbi10b3A6ICgtJHRvb2x0aXAtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICR0b29sdGlwLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJHRvb2x0aXAtbWFyZ2luOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdG9vbHRpcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b29sdGlwKCl7fVxuLy8gQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTb3J0YWJsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHNvcnRhYmxlIGdyaWRzIGFuZCBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNvcnRhYmxlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNvcnRhYmxlLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1wbGFjZWhvbGRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLWhhbmRsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zb3J0YWJsZS1lbXB0eWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kcmFnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyA1MCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTb3J0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZSkpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRHJhZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAkc29ydGFibGUtZHJhZ2dlZC16LWluZGV4ICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWRyYWcpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1kcmFnKCk7fVxufVxuXG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAkc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpO31cbn1cblxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1lbXB0eSB7XG4gICAgbWluLWhlaWdodDogJHNvcnRhYmxlLWVtcHR5LWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZW1wdHkpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1lbXB0eSgpO31cbn1cblxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7IGN1cnNvcjogbW92ZTsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3VudGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb3VudGRvd24gdGltZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY291bnRkb3duYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvdW50ZG93bi1udW1iZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tc2VwYXJhdG9yYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLWxhYmVsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb3VudGRvd24tbnVtYmVyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAwLjggIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7IC8vIDY0cHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAvLyA5NnB4XG5cbiRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAxLjYgIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0OyAvLyA0OHB4XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdW50ZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24oKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbnVtYmVyLFxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24taXRlbSkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1pdGVtKCk7fVxufVxuXG5cbi8qIE51bWJlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLypcbiAqIDEuIE1ha2UgbnVtYmVycyBhbGwgb2YgdGhlIHNhbWUgc2l6ZSB0byBwcmV2ZW50IGp1bXBpbmcuIE11c3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBmb250LlxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstY291bnRkb3duLW51bWJlciB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW51bWJlcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1udW1iZXIoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIgeyBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBTZXBhcmF0b3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1sYWJlbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEdyaWRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSByZXNwb25zaXZlLCBmbHVpZCBhbmQgbmVzdGFibGUgZ3JpZHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ncmlkYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWdyaWQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWNvbGxhcHNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXRjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1jb2xsYXBzZWBcbi8vXG4vLyBTdWItbW9kaWZpZXI6ICAgIGB1ay1ncmlkLWl0ZW0tbWF0Y2hgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBjZWxscyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cblxuLnVrLWdyaWQgPiAqIHsgbWFyZ2luOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBHdXR0ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAgIC51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1zbWFsbCA+ICosXG4udWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqICB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1zbWFsbCxcbi51ay1ncmlkLXNtYWxsID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LXNtYWxsID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLW1lZGl1bSA+ICosXG4udWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LW1lZGl1bSxcbi51ay1ncmlkLW1lZGl1bSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLWxhcmdlID4gKixcbi51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1sYXJnZSxcbiAgICAudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkLWxhcmdlID4gKixcbiAgICAudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctbGFyZ2UsXG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgLnVrLWdyaWQtcm93LWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBDb2xsYXBzZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1ncmlkLWNvbGxhcHNlID4gKixcbi51ay1ncmlkLWNvbHVtbi1jb2xsYXBzZSA+ICogeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwpKSB7QGluY2x1ZGUgaG9vay1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpO31cbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwoKTt9XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0geyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+ICosXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuXG59XG5cblxuLyogTWF0Y2ggY2hpbGQgb2YgYSBncmlkIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cblxuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBmbGV4OiBhdXRvO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtbWlzYykpIHtAaW5jbHVkZSBob29rLWdyaWQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG4vLyBAbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9XG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIHN0eWxlcyBmb3IgbGlzdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXYtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtc3ViYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5hdi1wYXJlbnQtaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtY2VudGVyYCxcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kaXZpZGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9wZW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcblxuJG5hdi1wYXJlbnQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVycy1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXJzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKi9cblxuLnVrLW5hdixcbi51ay1uYXYgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4qIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHksIGUuZy4gYW4gaWNvblxuKiAyLiBJbWl0YXRlIHdoaXRlIHNwYWNlIGdhcCB3aGVuIHVzaW5nIGZsZXhib3hcbiogMy4gUmVzZXQgbGlua1xuKiA0LiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqL1xuXG4udWstbmF2IGxpID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgY29sdW1uLWdhcDogMC4yNWVtO1xuICAgIC8qIDMqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogNCAqL1xuLnVrLW5hdiBsaSA+IGEgPiAqIHsgZmxleDogbm9uZTsgfVxuXG4vKlxuICogSXRlbXNcbiAqIE11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGxpc3RzKVxuICovXG5cbi51ay1uYXYgPiBsaSA+IGEgeyBwYWRkaW5nOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuLyogU3VibGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGV2ZWwgMlxuICogYHVsYCBuZWVkZWQgZm9yIGhpZ2hlciBzcGVjaWZpY2l0eSB0byBvdmVycmlkZSBwYWRkaW5nXG4gKi9cblxudWwudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZzogJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgMCAkbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbCAkbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtc3ViKSkge0BpbmNsdWRlIGhvb2stbmF2LXN1YigpO31cbn1cblxuLypcbiAqIExldmVsIDMgYW5kIGRlZXBlclxuICovXG5cbi51ay1uYXYtc3ViIHVsIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LXN1YiBhIHsgcGFkZGluZzogJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAwOyB9XG5cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAkbmF2LXBhcmVudC1pY29uLXdpZHRoO1xuICAgIGhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkbmF2LXBhcmVudC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wYXJlbnQtaWNvbikpIHtAaW5jbHVkZSBob29rLW5hdi1wYXJlbnQtaWNvbigpO31cbn1cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpOyB9XG5cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRuYXYtaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1oZWFkZXIoKTt9XG59XG5cbi51ay1uYXYtaGVhZGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLXRvcDogJG5hdi1oZWFkZXItbWFyZ2luLXRvcDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2ID4udWstbmF2LWRpdmlkZXIge1xuICAgIG1hcmdpbjogJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbCAkbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGhlYWRlclxuICogMi4gQ2VudGVyIGl0ZW1zXG4gKi9cblxuIC8qIDEgKi9cbi51ay1uYXYtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gLyogMiAqL1xuLnVrLW5hdi1jZW50ZXIgbGkgPiBhIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi51ay1uYXYtZGl2aWRlciA+IDpub3QoLnVrLW5hdi1kaXZpZGVyKSArIDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlcikge1xuICAgIG1hcmdpbi10b3A6ICRuYXYtZGl2aWRlcnMtbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJG5hdi1kaXZpZGVycy1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRuYXYtZGl2aWRlcnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtZGl2aWRlcnMtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGl2aWRlcnMpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcnMoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXJzKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LWRpdmlkZXJzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRpdmlkZXJzKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZiYXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIG5hdmlnYXRpb24gYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmJhcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXZiYXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItaXRlbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3VidGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGJhcmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd25gICsgTW9kaWZpZXJzXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLWdyaWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2YmFyLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdHJhbnNwYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3RpY2t5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBjZW50ZXIgbmF2YmFyIGdyb3VwXG4gKi9cblxuLnVrLW5hdmJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItY29udGFpbmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmJlZm9yZSxcbi51ay1uYXZiYXItY29udGFpbmVyID4gOjphZnRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIEdyb3Vwc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4vLyAyLiBbY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyJ10sXG4udWstbmF2YmFyLWNlbnRlcixcbi51ay1uYXZiYXItY2VudGVyLWxlZnQgPiAqLFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogSG9yaXpvbnRhbCBhbGlnbm1lbnRcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBjZW50ZXJlZCBuYXZiYXIgd2l0aCBzdWIgZ3JvdXBzIChsZWZ0L3JpZ2h0KVxuICogMi4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lci5cbiAqIDMuIE5lZWRlZCBmb3IgZHJvcGRvd25zIGJlY2F1c2UgYSBuZXcgcG9zaXRpb24gY29udGV4dCBpcyBjcmVhdGVkXG4gKiAgICBgei1pbmRleGAgbXVzdCBiZSBzbWFsbGVyIHRoYW4gb2ZmLWNhbnZhc1xuICogNC4gQWxpZ24gc3ViIGdyb3VwcyBmb3IgY2VudGVyZWQgbmF2YmFyXG4gKi9cblxuLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDMgKi9cbiAgICB6LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAxMDtcbn1cblxuLyogNCAqL1xuLnVrLW5hdmJhci1jZW50ZXItbGVmdCxcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogMDtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCB7IHJpZ2h0OiAxMDAlOyB9XG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7IGxlZnQ6IDEwMCU7IH1cblxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSB7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLyogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstbmF2YmFyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiBPbmx5IG5vdCBgYWJzb2x1dGVgIHBvc2l0aW9uZWQgZ3JvdXBzXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqIDUuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSwgICAgLy8gTmF2IGl0ZW1cbi51ay1uYXZiYXItaXRlbSwgICAgICAgICAgICAvLyBDb250ZW50IGl0ZW1cbi51ay1uYXZiYXItdG9nZ2xlIHsgICAgICAgICAvLyBDbGlja2FibGUgaXRlbVxuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGNvbHVtbi1nYXA6IDAuMjVlbTtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDQgKi9cbiAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5O1xuICAgIC8qIDUgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIGlmIGRyb3Bkb3duIGlzIG9wZW5lZFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItaXRlbSB7XG4gICAgY29sb3I6ICRuYXZiYXItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItaXRlbSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1uYXZiYXItaXRlbSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdG9nZ2xlIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlKCk7fVxufVxuXG4udWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1uYXZiYXItdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEljb25cbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuOmhvdmVyID4gLnVrLW5hdmJhci10b2dnbGUtaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3ZlcigpO31cbn1cblxuXG4vKiBTdWJ0aXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdWJ0aXRsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdWJ0aXRsZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1wcmltYXJ5KCk7fVxufVxuXG4udWstbmF2YmFyLXRyYW5zcGFyZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCk7fVxufVxuXG4udWstbmF2YmFyLXN0aWNreSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1zdGlja3kpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItc3RpY2t5KCk7fVxufVxuXG5cbi8qIERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstZHJvcGRvd25gXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5hdmJhci1kcm9wZG93bi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstbmF2YmFyLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1kcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjsgfVxuXG4vKlxuICogR3JpZFxuICogQWRvcHRzIGB1ay1ncmlkYFxuICovXG5cbi8qIEd1dHRlciBIb3Jpem9udGFsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogR3V0dGVyIFZlcnRpY2FsICovXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIFN0YWNrICovXG4udWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBXaWR0aCBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtMjpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAyKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDMpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTQ6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogNCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNTpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA1KTsgfVxuXG4vKlxuICogRHJvcGJhciBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gICAgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKTt9XG59XG5cblxuLyogRHJvcGRvd24gTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3ZlciB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGJhciB7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXIoKTt9XG59XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGJhci1zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGJhci16LWluZGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1zdGlja3koKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3VibmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBzdWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN1Ym5hdmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zdWJuYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXN1Ym5hdi1waWxsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpcnN0LWNvbHVtbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHN1Ym5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHN1Ym5hdi1pdGVtLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3VibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBDZW50ZXIgaXRlbXMgdmVydGljYWxseSBpZiB0aGV5IGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0XG4gKiAzLiBHdXR0ZXJcbiAqIDQuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstc3VibmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiBVc2luZyBgOmZpcnN0LWNoaWxkYCBpbnN0ZWFkIG9mIGBhYCB0byBzdXBwb3J0IGBzcGFuYCBlbGVtZW50cyBmb3IgdGV4dFxuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSwgZS5nLiBhbiBpY29uXG4gKiAyLiBJbWl0YXRlIHdoaXRlIHNwYWNlIGdhcCB3aGVuIHVzaW5nIGZsZXhib3hcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGNvbHVtbi1nYXA6IDAuMjVlbTtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1zdWJuYXYgPiAqID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU2V0IGd1dHRlclxuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCgkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgKiAyKSArICRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGgpOyB9XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbmQgZGl2aWRlciB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLXN1Ym5hdi1kaXZpZGVyID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogRGl2aWRlclxuICogMS4gYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiA6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAoJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsIC0gJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgYm9yZGVyLWxlZnQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIDEgKi9cbi51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWwgJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3VibmF2KCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnJlYWRjcnVtYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgYnJlYWRjcnVtYiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnJlYWRjcnVtYmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWJyZWFkY3J1bWIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWIoKTt9XG59XG5cbi8qXG4gKiAxLiBEb2Vzbid0IGdlbmVyYXRlIGFueSBib3ggYW5kIHJlcGxhY2VkIGJ5IGNoaWxkIGJveGVzXG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqIHsgZGlzcGxheTogY29udGVudHM7IH1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJyZWFkY3J1bWIgPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiBzcGFuLFxuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+IGE6bm90KFtocmVmXSkge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICogMS4gUmVtb3ZlIHNwYWNlIGJldHdlZW4gaW5saW5lIGJsb2NrIGVsZW1lbnRzLlxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsIDAgdW5xdW90ZSgnY2FsYygjeyRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWx9IC0gNHB4KScpO1xuICAgIC8qIDIgKi9cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWRpdmlkZXItZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZ2luYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHBhZ2UgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZ2luYXRpb25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstcGFnaW5hdGlvbi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFnaW5hdGlvbi1wcmV2aW91c2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFnaW5hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLXZlcnRpY2FsICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFiXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSB0YWJiZWQgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRhYmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWItYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWItcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay10YWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRhYi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiKSkge0BpbmNsdWRlIGhvb2stdGFiKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstdGFiID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRhYi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHksIGUuZy4gYW4gaWNvblxuICogMi4gSW1pdGF0ZSB3aGl0ZSBzcGFjZSBnYXAgd2hlbiB1c2luZyBmbGV4Ym94XG4gKiAzLiBDZW50ZXIgY29udGVudCBpZiBhIHdpZHRoIGlzIHNldFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGNvbHVtbi1nYXA6IDAuMjVlbTtcbiAgICAvKiAzICovXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay10YWIgPiAqID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQm90dG9tXG4gKi9cblxuLnVrLXRhYi1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItYm90dG9tKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbSgpO31cbn1cblxuLnVrLXRhYi1ib3R0b20gPiAqID4gYSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20taXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1ib3R0b20taXRlbSgpO31cbn1cblxuLypcbiAqIExlZnQgKyBSaWdodFxuICogMS4gUmVzZXQgR3V0dGVyXG4gKi9cblxuLnVrLXRhYi1sZWZ0LFxuLnVrLXRhYi1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdCkpIHtAaW5jbHVkZSBob29rLXRhYi1sZWZ0KCk7fVxufVxuXG4udWstdGFiLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0KCk7fVxufVxuXG4udWstdGFiLWxlZnQgPiAqID4gYSB7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQtaXRlbSgpO31cbn1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlbmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcHJldmlvdXMvbmV4dCBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVuYXZgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVuYXYtY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNsaWRlbmF2LXByZXZpb3VzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVuYXYtbmV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1zbGlkZW5hdiB7XG4gICAgcGFkZGluZzogJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWwgJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2KCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXNsaWRlbmF2OmhvdmVyIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtYWN0aXZlKCk7fVxufVxuXG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmlvdXNcbiAqL1xuXG4udWstc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1wcmV2aW91cykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LXByZXZpb3VzKCk7fVxufVxuXG4vKlxuICogTmV4dFxuICovXG5cbi51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbmV4dCkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW5leHQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1sYXJnZSB7XG4gICAgcGFkZGluZzogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1sYXJnZSgpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2xpZGVuYXYtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1jb250YWluZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEb3RuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kb3RuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstZG90bmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdikpIHtAaW5jbHVkZSBob29rLWRvdG5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZG90bmF2LWl0ZW0td2lkdGg7XG4gICAgaGVpZ2h0OiAkZG90bmF2LWl0ZW0taGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstZG90bmF2ID4gKiA+IDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGRvdG5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstZG90bmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRodW1ibmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGh1bWJuYWlsIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGh1bWJuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstdGh1bWJuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGh1bWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay10aHVtYm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdikpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2KCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiAxLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZy1sZWZ0OiAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay10aHVtYm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdigpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvbm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29ubmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWljb25uYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29ubmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2KCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiAxLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgaWYgdGhlcmUgaXMgc3RpbGwgc29tZSB0ZXh0XG4gKiAyLiBJbWl0YXRlIHdoaXRlIHNwYWNlIGdhcCB3aGVuIHVzaW5nIGZsZXhib3hcbiAqIDMuIEZvcmNlIHRleHQgbm90IHRvIGFmZmVjdCBpdGVtIGhlaWdodFxuICogNC4gU3R5bGVcbiAqIDUuIFJlcXVpcmVkIGZvciBgYWAgaWYgdGhlcmUgaXMgc3RpbGwgc29tZSB0ZXh0XG4gKi9cblxuLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgY29sdW1uLWdhcDogMC4yNWVtO1xuICAgIC8qIDMgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICAvKiA0ICovXG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgLyogNSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstaWNvbm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkaWNvbm5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlnaHRib3hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBsaWdodGJveCBpbWFnZSBnYWxsZXJ5XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRib3hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGlnaHRib3gtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWl0ZW1zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWJ1dHRvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWNhcHRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1pZnJhbWVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlnaHRib3gtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWZvY3VzLW91dGxpbmU6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDB2dyAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxMDB2aCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlnaHRib3hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICogNy4gUHJldmVudCBjYW5jZWxsYXRpb24gb2YgcG9pbnRlciBldmVudHMgd2hpbGUgZHJhZ2dpbmdcbiAqL1xuXG4udWstbGlnaHRib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRsaWdodGJveC16LWluZGV4O1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICAvKiA3ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveCkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94KCk7fVxufVxuXG4vKlxuICogT3BlblxuICogMS4gQ2VudGVyIGNoaWxkXG4gKiAyLiBGYWRlLWluXG4gKi9cblxuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKlxuICogRm9jdXNcbiAqL1xuXG4udWstbGlnaHRib3ggOmZvY3VzIHsgb3V0bGluZS1jb2xvcjogJGxpZ2h0Ym94LWZvY3VzLW91dGxpbmU7IH1cbi51ay1saWdodGJveCA6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmUtY29sb3I6ICRsaWdodGJveC1mb2N1cy1vdXRsaW5lOyB9XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbGlnaHRib3gtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBjaGlsZCB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiAyLiBOb3QgdmlzaWJsZSBieSBkZWZhdWx0XG4gKiAzLiBDb2xvciBuZWVkZWQgZm9yIHNwaW5uZXIgaWNvblxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBSZXNwb25zaXZlbmVzc1xuICogICAgVXNpbmcgYHZoYCBmb3IgYG1heC1oZWlnaHRgIHRvIGZpeCBpbWFnZSBwcm9wb3J0aW9ucyBhZnRlciByZXNpemUgaW4gU2FmYXJpIGFuZCBPcGVyYVxuICogICAgVXNpbmcgYHZoYCBhbmQgYHZ3YCB0byBtYWtlIHJlc3BvbnNpdmUgaW1hZ2Ugd29yayBpbiBJRTExXG4gKi9cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvbG9yO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtaXRlbSgpO31cbn1cblxuLyogNSAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+ICoge1xuICAgIG1heC13aWR0aDogJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoO1xuICAgIG1heC1oZWlnaHQ6ICRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ7XG59XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLyogVG9vbGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKTt9XG59XG5cbi51ay1saWdodGJveC10b29sYmFyID4gKiB7IGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjsgfVxuXG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbiB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKTt9XG59XG5cblxuXG4vKiBCdXR0b24gKFNsaWRlbmF2KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbGlnaHRib3gtYnV0dG9uOmFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtY2FwdGlvbjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtaWZyYW1lIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogODAlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveCgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWtlbmJ1cm5zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXN0cm9rZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1yZXZlcnNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYW5pbWF0aW9uLXRvZ2dsZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAycyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uIGVhc2Utb3V0IGJvdGg7IH1cblxuXG4vKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zY2FsZS11cDsgfVxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNjYWxlLWRvd247IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtdG9wOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1ib3R0b207IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1sZWZ0OyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLXJpZ2h0OyB9XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLXRvcC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtYm90dG9tLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtbGVmdC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLXRvcC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1ib3R0b20tbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLWxlZnQtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1yaWdodC1tZWRpdW07IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWtlbmJ1cm5zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjtcbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zaGFrZSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTsgfVxuXG4vKlxuICogU1ZHIFN0cm9rZVxuICogVGhlIGAtLXVrLWFuaW1hdGlvbi1zdHJva2VgIGN1c3RvbSBwcm9wZXJ0eSBjb250YWlucyB0aGUgbG9uZ2VzdCBwYXRoIGxlbmd0aC5cbiAqIFNldCBpdCBtYW51YWxseSBvciB1c2UgYHVrLXN2Zz1cInN0cm9rZS1hbmltYXRpb246IHRydWVcImAgdG8gc2V0IGl0IGF1dG9tYXRpY2FsbHkuXG4gKiBBbGwgc3Ryb2tlcyBhcmUgYW5pbWF0ZWQgYnkgdGhlIHNhbWUgcGFjZSBhbmQgZG9lc24ndCBlbmQgc2ltdWx0YW5lb3VzbHkuXG4gKiBUbyBlbmQgc2ltdWx0YW5lb3VzbHksIGBwYXRoTGVuZ3RoPVwiMVwiYCBjb3VsZCBiZSB1c2VkLCBidXQgaXQncyBub3Qgd29ya2luZyBpbiBTYWZhcmkgeWV0LlxuICovXG5cbi51ay1hbmltYXRpb24tc3Ryb2tlIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc3Ryb2tlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb247XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYW5pbWF0aW9uLWZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjsgfVxuXG5cbi8qIFRvZ2dsZSBhbmltYXRpb24gYmFzZWQgb24gdGhlIFN0YXRlIG9mIHRoZSBQYXJlbnQgRWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XG5cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zY2FsZS11cCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWRvd24ge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zbGlkZS10b3Age1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zbGlkZS1ib3R0b20ge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLWxlZnQge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zbGlkZS1yaWdodCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG59XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtdG9wLXNtYWxsIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLWxlZnQtc21hbGwge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtcmlnaHQtc21hbGwge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbn1cblxuLypcbiAqIFNsaWRlIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxufVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWtlbmJ1cm5zIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbkBrZXlmcmFtZXMgdWstc2hha2Uge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgMTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gICAgMjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgICAzMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgICA0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gICAgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gICAgODAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgICA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH1cbn1cblxuLypcbiAqIFN0cm9rZVxuICovXG5cbiBAa2V5ZnJhbWVzIHVrLXN0cm9rZSB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7IH1cbiAgICAxMDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbmltYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFuaW1hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgV2lkdGhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB3aWR0aHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jaGlsZC13aWR0aC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstd2lkdGgtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kd2lkdGgtc21hbGwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbWVkaXVtLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG4kd2lkdGgteGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtMnhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFdpZHRoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBFcXVhbCBjaGlsZCB3aWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jaGlsZC13aWR0aCddID4gKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICogeyB3aWR0aDogNTAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS0zID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay1jaGlsZC13aWR0aC0xLTQgPiAqIHsgd2lkdGg6IDI1JTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNSA+ICogeyB3aWR0aDogMjAlOyB9XG4udWstY2hpbGQtd2lkdGgtMS02ID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLWF1dG8gPiAqIHsgd2lkdGg6IGF1dG87IH1cblxuLypcbiAqIDEuIFJlc2V0IHRoZSBgbWluLXdpZHRoYCwgd2hpY2ggaXMgc2V0IHRvIGF1dG8gYnkgZGVmYXVsdCwgYmVjYXVzZVxuICogICAgZmxleCBpdGVtcyB3b24ndCBzaHJpbmsgYmVsb3cgdGhlaXIgbWluaW11bSBpbnRyaW5zaWMgY29udGVudCBzaXplLlxuICogICAgVXNpbmcgYDFweGAgaW5zdGVhZCBvZiBgMGAsIHNvIGl0ZW1zIHN0aWxsIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lLFxuICogICAgaWYgdGhleSBoYXZlIHplcm8gd2lkdGggYW5kIHBhZGRpbmcgYW5kIHRoZSBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGUuXG4gKi9cblxuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgLyogMSAqL1xuICAgIG1pbi13aWR0aDogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAcyA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBzID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHMgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHhsID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHhsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEB4bCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vKiBTaW5nbGUgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGBtYXgtd2lkdGhgIGlzIG5lZWRlZCBmb3IgdGhlIHBpeGVsLWJhc2VkIGNsYXNzZXNcbiAqL1xuXG5bY2xhc3MqPSd1ay13aWR0aCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIEhhbHZlcyAqL1xuLnVrLXdpZHRoLTEtMiB7IHdpZHRoOiA1MCU7IH1cblxuLyogVGhpcmRzICovXG4udWstd2lkdGgtMS0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuLnVrLXdpZHRoLTItMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuLyogUXVhcnRlcnMgKi9cbi51ay13aWR0aC0xLTQgeyB3aWR0aDogMjUlOyB9XG4udWstd2lkdGgtMy00IHsgd2lkdGg6IDc1JTsgfVxuXG4vKiBGaWZ0aHMgKi9cbi51ay13aWR0aC0xLTUgeyB3aWR0aDogMjAlOyB9XG4udWstd2lkdGgtMi01IHsgd2lkdGg6IDQwJTsgfVxuLnVrLXdpZHRoLTMtNSB7IHdpZHRoOiA2MCU7IH1cbi51ay13aWR0aC00LTUgeyB3aWR0aDogODAlOyB9XG5cbi8qIFNpeHRocyAqL1xuLnVrLXdpZHRoLTEtNiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbi51ay13aWR0aC01LTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbi8qIFBpeGVsICovXG4udWstd2lkdGgtc21hbGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4udWstd2lkdGgtbWVkaXVtIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbi51ay13aWR0aC1sYXJnZSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC14bGFyZ2UgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuLnVrLXdpZHRoLTJ4bGFyZ2UgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbkBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2UgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuLyogQXV0byAqL1xuLnVrLXdpZHRoLWF1dG8geyB3aWR0aDogYXV0bzsgfVxuXG4vKiBFeHBhbmQgKi9cbi51ay13aWR0aC1leHBhbmQge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHMgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHMgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHMgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHMgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAcyB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAcyB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAcyB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAcyB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBzIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBzIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAcyB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAcyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQG0geyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQG0geyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQG0geyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQG0geyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbSB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbSB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbSB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBtIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBtIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQG0geyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAeGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHhsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHhsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEB4bCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEB4bCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAeGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHhsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEB4bCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHhsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEB4bCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEB4bCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAeGwge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay13aWR0aC1taXNjKSkge0BpbmNsdWRlIGhvb2std2lkdGgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2std2lkdGgtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSGVpZ2h0XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgaGVpZ2h0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWhlaWdodC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRoZWlnaHQtc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbWVkaXVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVpZ2h0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstaGVpZ2h0J10geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBPbmx5IHdvcmtzIGlmIHBhcmVudCBlbGVtZW50IGhhcyBhIGhlaWdodCBzZXRcbiAqL1xuXG4udWstaGVpZ2h0LTEtMSB7IGhlaWdodDogMTAwJTsgfVxuXG4vKlxuICogVXNlZnVsIHRvIGNyZWF0ZSBpbWFnZSB0ZWFzZXJzXG4gKi9cblxuLnVrLWhlaWdodC12aWV3cG9ydCB7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbi8qXG4gKiBQaXhlbFxuICogVXNlZnVsIGZvciBgb3ZlcmZsb3c6IGF1dG9gXG4gKi9cblxuLnVrLWhlaWdodC1zbWFsbCB7IGhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWVkaXVtIHsgaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbGFyZ2UgeyBoZWlnaHQ6ICRoZWlnaHQtbGFyZ2UtaGVpZ2h0OyB9XG5cbi51ay1oZWlnaHQtbWF4LXNtYWxsIHsgbWF4LWhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LW1lZGl1bSB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtbWVkaXVtLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tYXgtbGFyZ2UgeyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlaWdodC1taXNjKSkge0BpbmNsdWRlIGhvb2staGVpZ2h0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWhlaWdodC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUZXh0XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdGV4dFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRleHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJHRleHQtbGVhZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRleHQtc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cbi51ay10ZXh0LWRlZmF1bHQge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQ7XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGlnaHQgeyBmb250LXdlaWdodDogMzAwOyB9XG4udWstdGV4dC1ub3JtYWwgeyBmb250LXdlaWdodDogNDAwOyB9XG4udWstdGV4dC1ib2xkIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udWstdGV4dC1saWdodGVyIHsgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7IH1cbi51ay10ZXh0LWJvbGRlciB7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWl0YWxpYyB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5cbi8qIFRyYW5zZm9ybSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC11cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWxvd2VyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG5cbi8qIERlY29yYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWVtcGhhc2lzIHsgY29sb3I6ICR0ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXByaW1hcnkgeyBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zZWNvbmRhcnkgeyBjb2xvcjogJHRleHQtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogJHRleHQtc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC13YXJuaW5nIHsgY29sb3I6ICR0ZXh0LXdhcm5pbmctY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZGFuZ2VyIHsgY29sb3I6ICR0ZXh0LWRhbmdlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3IgIWltcG9ydGFudDtcbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuXG4gICAgLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1iYWNrZ3JvdW5kKSkge0BpbmNsdWRlIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCk7fVxuICAgIH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBzIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBzIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHMgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQG0geyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQG0geyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbSB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAeGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHhsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHhsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuXG4udWstdGV4dC10b3AgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1iYXNlbGluZSB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG5cbi51ay10ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cblxuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUgeyBtYXgtd2lkdGg6IDA7IH1cblxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICogTm90ZTogTm90IHVzaW5nIGBoeXBoZW5zOiBhdXRvO2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkXG4gKi9cblxuLnVrLXRleHQtYnJlYWsge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDIgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIDMgKi9cbnRoLnVrLXRleHQtYnJlYWssXG50ZC51ay10ZXh0LWJyZWFrIHsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbHVtblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHQgY29sdW1uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbHVtbi0qYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbHVtbi1zcGFuYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNvbHVtbi1kaXZpZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2x1bW4tZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSB7IGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICBbY2xhc3MqPSd1ay1jb2x1bW4tJ10geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sOyB9XG5cbn1cblxuLypcbiAqIEZpeCBpbWFnZSAxcHggbGluZSB3cmFwcGluZyBpbnRvIHRoZSBuZXh0IGNvbHVtbiBpbiBDaHJvbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10gaW1nIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERvdWJsZSB0aGUgY29sdW1uIGdhcFxuICovXG5cbi51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgY29sdW1uLXJ1bGU6ICRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoIHNvbGlkICRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXIgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlci1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi0xLTIgeyBjb2x1bW4tY291bnQ6IDI7fVxuLnVrLWNvbHVtbi0xLTMgeyBjb2x1bW4tY291bnQ6IDM7IH1cbi51ay1jb2x1bW4tMS00IHsgY29sdW1uLWNvdW50OiA0OyB9XG4udWstY29sdW1uLTEtNSB7IGNvbHVtbi1jb3VudDogNTsgfVxuLnVrLWNvbHVtbi0xLTYgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBzIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBzIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBzIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBzIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBzIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQG0geyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQG0geyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQG0geyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQG0geyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQG0geyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBsIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBsIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBsIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAeGwgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQHhsIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEB4bCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAeGwgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQHhsIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogTWFrZSBlbGVtZW50IHNwYW4gYWNyb3NzIGFsbCBjb2x1bW5zXG4gKiBEb2VzIG5vdCB3b3JrIGluIEZpcmVmb3ggeWV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi1zcGFuIHsgY29sdW1uLXNwYW46IGFsbDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbHVtbi1taXNjKSkge0BpbmNsdWRlIGhvb2stY29sdW1uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3ZlclxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gbGV0IGVtYmVkZGVkIGNvbnRlbnQgY292ZXIgdGhlaXIgY29udGFpbmVyIGluIGEgY2VudGVyZWQgcG9zaXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb3ZlcmBcbi8vXG4vLyBTdWItb2JqZWN0OiAgICAgIGB1ay1jb3Zlci1jb250YWluZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFdvcmtzIHdpdGggaWZyYW1lcyBhbmQgZW1iZWRkZWQgY29udGVudFxuICogMS4gQXBwbHkgdHJhbnNmb3JtIGluc3RhbnRseS4gTmVlZGVkIGlmIHRyYW5zZm9ybSBpcyB0cmFuc2l0aW9uZWQuXG4gKiAyLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMy4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cblxuLnVrLWNvdmVyLFxuLyogMSAqL1xuW3VrLWNvdmVyXSB7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAtNTAlO1xuICAgIC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXk6IC01MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXgpLCB2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteSkpO1xufVxuXG5pZnJhbWUudWstY292ZXIgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQYXJlbnQgY29udGFpbmVyIHdoaWNoIGNsaXBzIHJlc2l6ZWQgb2JqZWN0XG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXG4gKi9cblxuLnVrLWNvdmVyLWNvbnRhaW5lciB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3Zlci1taXNjKSkge0BpbmNsdWRlIGhvb2stY292ZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY292ZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFja2dyb3VuZFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFja2dyb3VuZC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4sXG4udWstYmFja2dyb3VuZC13aWR0aC0xLTEsXG4udWstYmFja2dyb3VuZC1oZWlnaHQtMS0xIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuLnVrLWJhY2tncm91bmQtd2lkdGgtMS0xIHsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1oZWlnaHQtMS0xIHsgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7IH1cblxuXG4vKiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLXRvcC1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLXRvcC1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH1cblxuXG4vKiBSZXBlYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ub3JlcGVhdCB7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuXG4vKiBBdHRhY2htZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpeCBidWcgaW50cm9kdWNlZCBpbiBDaHJvbWUgNjc6IHRoZSBiYWNrZ3JvdW5kIGltYWdlIGlzIG5vdCB2aXNpYmxlIGlmIGFueSBlbGVtZW50IG9uIHRoZSBwYWdlIHVzZXMgYHRyYW5zbGF0ZTNkYFxuICovXG5cbi51ay1iYWNrZ3JvdW5kLWZpeGVkIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1iYWNrZ3JvdW5kLWZpeGVkIHsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7IH1cbn1cblxuXG4vKiBJbWFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBzIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQG0geyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBsIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEB4bCB7YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW11bHRpcGx5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2NyZWVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW92ZXJsYXkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRhcmtlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGFya2VuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1saWdodGVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1kb2RnZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWJ1cm4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWhhcmQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNvZnQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRpZmZlcmVuY2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWV4Y2x1c2lvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1odWUgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGh1ZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2F0dXJhdGlvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3IgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1sdW1pbm9zaXR5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFja2dyb3VuZC1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFja2dyb3VuZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsaWduXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBhbGlnbiBlbWJlZGRlZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxpZ24tbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxpZ24tcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLWNlbnRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsaWduXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG5bY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsO1xufVxuXG4qICsgW2NsYXNzKj0ndWstYWxpZ24nXSB7IG1hcmdpbi10b3A6ICRhbGlnbi1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENlbnRlclxuICovXG5cbi51ay1hbGlnbi1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLypcbiAqIExlZnQvUmlnaHRcbiAqL1xuXG4udWstYWxpZ24tbGVmdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnVrLWFsaWduLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLWxlZnQsXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzLFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbSxcbiAgICAudWstYWxpZ24tbGVmdFxcQGwgeyBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstYWxpZ24tcmlnaHQsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBtLFxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwgeyBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHhsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxpZ24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFsaWduLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNWR1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gc3R5bGUgU1ZHc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN2Z2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi8qIDEgKi9cbi51ay1zdmcsXG4vKiAyICovXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9XG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN2Zy1taXNjKSkge0BpbmNsdWRlIGhvb2stc3ZnLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBVdGlsaXR5XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBjb2xsZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFuZWwtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNsZWFyZml4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmxvYXQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJmbG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNpemUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc3BsYXktKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlubGluZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzcG9uc2l2ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmUtd2lkdGhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3JkZXItKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGNhcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxvZ29gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ibGVuZC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tb3JpZ2luLSpgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ292ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ibHVyOiAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAzKSAqIDFlbSkgIWRlZmF1bHQ7XG5cbiRsb2dvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxvZ28tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbG9nby1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGRyYWdvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogUGFuZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFuZWwge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wYW5lbCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cblxuLnVrLXBhbmVsLXNjcm9sbGFibGUge1xuICAgIGhlaWdodDogJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGggc29saWQgJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICByZXNpemU6IGJvdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhbmVsLXNjcm9sbGFibGUpKSB7QGluY2x1ZGUgaG9vay1wYW5lbC1zY3JvbGxhYmxlKCk7fVxufVxuXG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG5cbi8qIDEgKi9cbi51ay1jbGVhcmZpeDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKi9cblxuLnVrLWZsb2F0LWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLnVrLWZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIDEgKi9cbltjbGFzcyo9J3VrLWZsb2F0LSddIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqIE5vdGU6IEZpcmVmb3ggaWdub3JlcyBgcGFkZGluZy1ib3R0b21gIGZvciB0aGUgc2Nyb2xsYWJsZSBvdmVyZmxvdyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MThcbiAqL1xuXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1yZXNpemUgeyByZXNpemU6IGJvdGg7IH1cbi51ay1yZXNpemUtdmVydGljYWwgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNwbGF5LWJsb2NrIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgbmV3IGxheWVyIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWstaW5saW5lLWNsaXAge1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIFJlc3BvbnNpdmUgb2JqZWN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVzZXJ2ZSBvcmlnaW5hbCBkaW1lbnNpb25zXG4gKiBCZWNhdXNlIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhcmUgYWxyZWFkeSByZXNwb25zaXZlIGJ5IGRlZmF1bHQsIHNlZSBCYXNlIGNvbXBvbmVudFxuICovXG5cbi51ay1wcmVzZXJ2ZS13aWR0aCxcbi51ay1wcmVzZXJ2ZS13aWR0aCBjYW52YXMsXG4udWstcHJlc2VydmUtd2lkdGggaW1nLFxuLnVrLXByZXNlcnZlLXdpZHRoIHN2Zyxcbi51ay1wcmVzZXJ2ZS13aWR0aCB2aWRlbyB7IG1heC13aWR0aDogbm9uZTsgfVxuXG4vKlxuICogUmVzcG9uc2l2ZW5lc3NcbiAqIENvcnJlY3RzIGBtYXgtd2lkdGhgIGFuZCBgbWF4LWhlaWdodGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkXG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgsXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoLiBgaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgYHVrLXByZXNlcnZlLXdpZHRoIGltZ2BcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIGhlaWdodC4gT25seSB3b3JrcyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGEgZml4ZWQgaGVpZ2h0XG4gKiAyLiBBdXRvIHNjYWxlIHRoZSB3aWR0aC4gT25seSBuZWVkZWQgaWYgYHdpZHRoYCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMy4gUmVzZXQgbWF4LXdpZHRoLCB3aGljaCBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYWxyZWFkeSBoYXZlIGJ5IGRlZmF1bHRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogYXV0bztcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5cbi8qIEJvcmRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3JkZXItY2lyY2xlIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4udWstYm9yZGVyLXBpbGwgeyBib3JkZXItcmFkaXVzOiA1MDBweDsgfVxuLnVrLWJvcmRlci1yb3VuZGVkIHsgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM7IH1cblxuLypcbiAqIEZpeCBgb3ZlcmZsb3c6IGhpZGRlbmAgdG8gYmUgaWdub3JlZCB3aXRoIGJvcmRlci1yYWRpdXMgYW5kIENTUyB0cmFuc2Zvcm1zIGluIFdlYmtpdFxuICovXG5cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9J3VrLWJvcmRlci0nXSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cblxuLyogQm94LXNoYWRvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3gtc2hhZG93LXNtYWxsIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1tZWRpdW0geyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1sYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3cteGxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1ib3gtc2hhZG93LWhvdmVyJ10geyB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRib3gtc2hhZG93LWR1cmF0aW9uIGVhc2UtaW4tb3V0OyB9XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXNtYWxsOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1tZWRpdW06aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci1sYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXIteGxhcmdlOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJveC1zaGFkb3cgYm90dG9tXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvbi5cbiAqIDIuIFNldCBzdHlsZVxuICogMy4gRml4IHNoYWRvdyBiZWluZyBjbGlwcGVkIGluIFNhZmFyaSBpZiBjb250YWluZXIgaXMgYW5pbWF0ZWRcbiAqL1xuXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkge1xuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b206OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIC8qIDEgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206ICgtJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgLyogMiAqL1xuICAgICAgICBoZWlnaHQ6ICRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDtcbiAgICAgICAgZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgLyogMyAqL1xuICAgICAgICB3aWxsLWNoYW5nZTogZmlsdGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYm94LXNoYWRvdy1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpO31cbiAgICB9XG5cbn1cblxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXJlZm94IGRvZXNuJ3QgYXBwbHkgYDo6Zmlyc3QtbGV0dGVyYCBpZiB0aGUgZmlyc3QgbGV0dGVyIGlzIGluc2lkZSBjaGlsZCBlbGVtZW50c1xuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MDA0XG4gKiAyLiBJbiBGaXJlZm94LCBhIGZsb2F0aW5nIGA6OmZpcnN0LWxldHRlcmAgZG9lc24ndCBoYXZlIGEgbGluZSBib3ggYW5kIHRoZXJlIGZvciBubyBgbGluZS1oZWlnaHRgXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5MzNcbiAqIDMuIENhdXNlZCBieSAxLjogRWRnZSBjcmVhdGVzIHR3byBuZXN0ZWQgYDo6Zmlyc3QtbGV0dGVyYCBjb250YWluZXJzLCBvbmUgZm9yIGVhY2ggc2VsZWN0b3JcbiAqICAgIFRoaXMgZG91YmxlcyB0aGUgYGZvbnQtc2l6ZWAgZXhwb25lbnRpYWwgd2hlbiB1c2luZyB0aGUgYGVtYCB1bml0LlxuICovXG5cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4vKiAxICovXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wY2FwLW1hcmdpbi1yaWdodDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRkcm9wY2FwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWRyb3BjYXAoKTt9XG59XG5cbi8qIDIgKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cbiAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7IG1hcmdpbi10b3A6IDEuMSU7IH1cblxufVxuXG4vKiAzICovXG5Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcblxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgZm9udC1zaXplOiAxZW07IH1cblxufVxuXG5cbi8qIExvZ29cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1sb2dvIHtcbiAgICBmb250LXNpemU6ICRsb2dvLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGxvZ28tZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRsb2dvLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1sb2dvKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWxvZ286aG92ZXIge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbG9nby1ob3ZlcigpO31cbn1cblxuLnVrLWxvZ28gPiA6d2hlcmUoaW1nLCBzdmcsIHZpZGVvKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogRGlzYWJsZWQgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGlzYWJsZWQgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIERyYWcgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTmVlZGVkIGlmIG1vdmluZyBvdmVyIGVsZW1lbnRzIHdpdGggaGF2ZSB0aGVpciBvd24gY3Vyc29yIG9uIGhvdmVyLCBlLmcuIGxpbmtzIG9yIGJ1dHRvbnNcbiAqIDIuIEZpeCBkcmFnZ2luZyBvdmVyIGlmcmFtZXNcbiAqL1xuXG4udWstZHJhZyxcbi8qIDEgKi9cbi51ay1kcmFnICogeyBjdXJzb3I6IG1vdmU7IH1cblxuLyogMiAqL1xuLnVrLWRyYWcgaWZyYW1lIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnb3ZlciBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDcmVhdGUgYSBib3gtc2hhZG93IHdoZW4gZHJhZ2dpbmcgYSBmaWxlIG92ZXIgdGhlIHVwbG9hZCBhcmVhXG4gKi9cblxuLnVrLWRyYWdvdmVyIHsgYm94LXNoYWRvdzogJGRyYWdvdmVyLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ibGVuZC1tdWx0aXBseSB7IG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuLnVrLWJsZW5kLXNjcmVlbiB7IG1peC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cbi51ay1ibGVuZC1vdmVybGF5IHsgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cbi51ay1ibGVuZC1kYXJrZW4geyBtaXgtYmxlbmQtbW9kZTogZGFya2VuOyB9XG4udWstYmxlbmQtbGlnaHRlbiB7IG1peC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG4udWstYmxlbmQtY29sb3ItZG9kZ2UgeyBtaXgtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cbi51ay1ibGVuZC1jb2xvci1idXJuIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cbi51ay1ibGVuZC1oYXJkLWxpZ2h0IHsgbWl4LWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cbi51ay1ibGVuZC1zb2Z0LWxpZ2h0IHsgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cbi51ay1ibGVuZC1kaWZmZXJlbmNlIHsgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cbi51ay1ibGVuZC1leGNsdXNpb24geyBtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG4udWstYmxlbmQtaHVlIHsgbWl4LWJsZW5kLW1vZGU6IGh1ZTsgfVxuLnVrLWJsZW5kLXNhdHVyYXRpb24geyBtaXgtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuLnVrLWJsZW5kLWNvbG9yIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yOyB9XG4udWstYmxlbmQtbHVtaW5vc2l0eSB7IG1peC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cblxuLyogVHJhbnNmb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNmb3JtLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cblxuLyogVHJhbnNmb3JtIE9yaWdpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1jZW50ZXIgeyB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdXRpbGl0eS1taXNjKSkge0BpbmNsdWRlIGhvb2stdXRpbGl0eS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wY2FwKCl7fVxuLy8gQG1peGluIGhvb2stbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxvZ28tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRmxleFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGxheW91dHMgYmFzZWQgb24gZmxleGJveFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZsZXgtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRmxleFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mbGV4IHsgZGlzcGxheTogZmxleDsgfVxuLnVrLWZsZXgtaW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uXG4gKi9cblxuLnVrLWZsZXg6OmJlZm9yZSxcbi51ay1mbGV4OjphZnRlcixcbi51ay1mbGV4LWlubGluZTo6YmVmb3JlLFxuLnVrLWZsZXgtaW5saW5lOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWxpZ24gaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBIb3Jpem9udGFsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbGVmdCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi51ay1mbGV4LXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtYXJvdW5kIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAcyB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAcyB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBtIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBpbiB0aGUgY3Jvc3MgYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBWZXJ0aWNhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXN0cmV0Y2ggeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuLnVrLWZsZXgtdG9wIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LW1pZGRsZSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi51ay1mbGV4LWJvdHRvbSB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG5cbi8qIERpcmVjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbi51ay1mbGV4LXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4udWstZmxleC1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4udWstZmxleC1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5cbi8qIFdyYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1ub3dyYXAgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuLnVrLWZsZXgtd3JhcCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC13cmFwLXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG4udWstZmxleC13cmFwLXRvcCB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LXdyYXAtbWlkZGxlIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC13cmFwLWJvdHRvbSB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC13cmFwLWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC13cmFwLWFyb3VuZCB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdCBpcyAwXG4gKi9cblxuLnVrLWZsZXgtZmlyc3QgeyBvcmRlcjogLTE7fVxuLnVrLWZsZXgtbGFzdCB7IG9yZGVyOiA5OTt9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBzIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHMgeyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbSB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBtIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbCB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAeGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAeGwgeyBvcmRlcjogOTk7IH1cblxufVxuXG5cbi8qIEl0ZW0gZGltZW5zaW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJbml0aWFsOiAwIDEgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rc1xuICovXG5cbi8qXG4gKiBObyBGbGV4OiAwIDAgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWZsZXgtbm9uZSB7IGZsZXg6IG5vbmU7IH1cblxuLypcbiAqIFJlbGF0aXZlIEZsZXg6IDEgMSBhdXRvXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgY29uc2lkZXJpbmcgY29udGVudFxuICovXG5cbi51ay1mbGV4LWF1dG8geyBmbGV4OiBhdXRvOyB9XG5cbi8qXG4gKiBBYnNvbHV0ZSBGbGV4OiAxIDEgMCVcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gZmxleFxuICovXG5cbi51ay1mbGV4LTEgeyBmbGV4OiAxOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZmxleC1taXNjKSkge0BpbmNsdWRlIGhvb2stZmxleC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmdpblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIG1hcmdpbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJnaW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1zbWFsbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLW1lZGl1bS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4teGxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tcmVtb3ZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tYXV0by0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJnaW4tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbWFyZ2luIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7IG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWxlZnQgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEB4bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1tYXJnaW4tcmVtb3ZlIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS10b3AgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuIC51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gfVxuXG4gLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqLFxuIC51ay1tYXJnaW4tcmVtb3ZlLWZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtbGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBzIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbSB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEB4bCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmdpbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFyZ2luLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQYWRkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgcGFkZGluZ1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZGRpbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1yZW1vdmUtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFkZGluZy1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWRkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1zbWFsbCB7IHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXBhZGRpbmc7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXJlbW92ZSB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7IHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1ib3R0b20geyBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtbGVmdCB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFkZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFkZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBvc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBwb3NpdGlvbiBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcG9zaXRpb24tYWJzb2x1dGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yZWxhdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXotaW5kZXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNvdmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXBvc2l0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHsgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAwcHg7IH1cblxuXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdy5cbiAqL1xuXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAodmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkgKiAyKSknKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuICogRWRnZXNcbiAqIERvbid0IHVzZSBgd2lkdGg6IDEwMCVgIGJlY2F1c2UgaXQncyB3cm9uZyBpZiB0aGUgcGFyZW50IGhhcyBwYWRkaW5nLlxuICovXG5cbi51ay1wb3NpdGlvbi10b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ29ybmVyc1xuICovXG5cbi51ay1wb3NpdGlvbi10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICogICAgVXNpbmcgYG1heC1jb250ZW50YCByZXF1aXJlcyBgbWF4LXdpZHRoYCBvZiAxMDAlIHdoaWNoIGlzIHNldCBnZW5lcmFsbHkuXG4gKi9cblxuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdG9wOiB1bnF1b3RlKCdjYWxjKDUwJSAtIHZhcigtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQpKScpO1xuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlIC0gdmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkpJyk7XG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteDogLTUwJTtcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15OiAtNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14KSwgdmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXkpKTtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoNTAlIC0gdmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkpJyk7XG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteTogLTUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCB2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteSkpO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQgeyBsZWZ0OiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHsgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlIC0gdmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkpJyk7XG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteDogLTUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteCksIDApO1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHsgdG9wOiAwOyB9XG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IGJvdHRvbTogMDsgfVxuXG4vKlxuICogQ292ZXJcbiAqL1xuXG4udWstcG9zaXRpb24tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXNtYWxsIHtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1zbWFsbC1tYXJnaW47XG4gICAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59O1xufVxuXG4udWstcG9zaXRpb24tbWVkaXVtIHtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luO1xuICAgIC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldDogI3skcG9zaXRpb24tbWVkaXVtLW1hcmdpbn07XG59XG5cbi51ay1wb3NpdGlvbi1sYXJnZSB7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luO1xuICAgIC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldDogI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2lufTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZSB7XG4gICAgICAgIG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sO1xuICAgICAgICAtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQ6ICN7JHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sfTtcbiAgICB9XG5cbn1cblxuXG4vKiBTY2hlbWVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlICAhaW1wb3J0YW50OyB9XG4udWstcG9zaXRpb24tYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGUgICFpbXBvcnRhbnQ7IH1cbi51ay1wb3NpdGlvbi1maXhlZCB7IHBvc2l0aW9uOiBmaXhlZCAgIWltcG9ydGFudDsgfVxuLnVrLXBvc2l0aW9uLXN0aWNreSB7IHBvc2l0aW9uOiBzdGlja3kgICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBMYXllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBvc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wb3NpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUcmFuc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdHJhbnNpdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10cmFuc2l0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdHJhbnNpdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLW9wYXF1ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWAsXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLWFjdGl2ZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuM3MgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNjYWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjAzICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMC43cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFRyYW5zaXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgYnkgdHdvIG1ldGhvZHM6XG4gKiAxLiBVc2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFVzaW5nIGA6aG92ZXJgIGFuZCBhIGB0b3VjaHN0YXJ0YCBldmVudCBsaXN0ZW5lciByZWdpc3RlcmVkIG9uIHRoZSBkb2N1bWVudFxuICogICAgKERvZXNuJ3Qgd29yayBvbiBTdXJmYWNlIHRvdWNoIGRldmljZXMpXG4gKi9cblxuOndoZXJlKC51ay10cmFuc2l0aW9uLWZhZGUpLFxuOndoZXJlKFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSksXG46d2hlcmUoW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddKSB7XG4gICAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteDogMDtcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15OiAwO1xufVxuXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICAtLXVrLXRyYW5zbGF0ZS14OiAwO1xuICAgIC0tdWstdHJhbnNsYXRlLXk6IDA7XG4gICAgLS11ay1zY2FsZS14OiAxO1xuICAgIC0tdWstc2NhbGUteTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteCksIHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15KSlcbiAgICAgICAgICAgICAgIHRyYW5zbGF0ZSh2YXIoLS11ay10cmFuc2xhdGUteCksIHZhcigtLXVrLXRyYW5zbGF0ZS15KSlcbiAgICAgICAgICAgICAgIHNjYWxlKHZhcigtLXVrLXNjYWxlLXgpLCB2YXIoLS11ay1zY2FsZS15KSk7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlIC51ay10cmFuc2l0aW9uLWZhZGU6Zm9jdXMtd2l0aGluLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1mYWRlIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqIDEuIE1ha2UgaW1hZ2UgcmVuZGVyaW5nIHRoZSBzYW1lIGR1cmluZyB0aGUgdHJhbnNpdGlvbiBhcyBiZWZvcmUgYW5kIGFmdGVyLiBQcmVmaXhlZCBiZWNhdXNlIG9mIFNhZmFyaS5cbiAqL1xuXG4vKiAxICovXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10geyAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgLS11ay1zY2FsZS14OiAxO1xuICAgIC0tdWstc2NhbGUteTogMTtcbn1cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIC0tdWstc2NhbGUteDogI3skdHJhbnNpdGlvbi1zY2FsZX07XG4gICAgLS11ay1zY2FsZS15OiAjeyR0cmFuc2l0aW9uLXNjYWxlfTtcbn1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwOmZvY3VzLXdpdGhpbixcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAgIC0tdWstc2NhbGUteDogI3skdHJhbnNpdGlvbi1zY2FsZX07XG4gICAgLS11ay1zY2FsZS15OiAjeyR0cmFuc2l0aW9uLXNjYWxlfTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd246Zm9jdXMtd2l0aGluLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgICAtLXVrLXNjYWxlLXg6IDE7XG4gICAgLS11ay1zY2FsZS15OiAxO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7IC0tdWstdHJhbnNsYXRlLXk6IC0xMDAlOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20geyAtLXVrLXRyYW5zbGF0ZS15OiAxMDAlOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHsgLS11ay10cmFuc2xhdGUteDogLTEwMCU7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHsgLS11ay10cmFuc2xhdGUteDogMTAwJTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwgeyAtLXVrLXRyYW5zbGF0ZS15OiBjYWxjKC0xICogI3skdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGV9KTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgLS11ay10cmFuc2xhdGUteTogI3skdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGV9OyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHsgLS11ay10cmFuc2xhdGUteDogY2FsYygtMSAqICN7JHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlfSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgLS11ay10cmFuc2xhdGUteDogI3skdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGV9OyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyAtLXVrLXRyYW5zbGF0ZS15OiBjYWxjKC0xICogI3skdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlfSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyAtLXVrLXRyYW5zbGF0ZS15OiAjeyR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGV9OyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IC0tdWstdHJhbnNsYXRlLXg6IGNhbGMoLTEgKiAjeyR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGV9KTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgLS11ay10cmFuc2xhdGUteDogI3skdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlfTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ106Zm9jdXMtd2l0aGluLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIC0tdWstdHJhbnNsYXRlLXg6IDA7XG4gICAgLS11ay10cmFuc2xhdGUteTogMDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1vcGFxdWUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10cmFuc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10cmFuc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVmlzaWJpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gc2hvdyBvciBoaWRlIGNvbnRlbnQgb24gYnJlYWtwb2ludHMsIGhvdmVyIG9yIHRvdWNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGlkZGVuLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi10b3VjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ub3RvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5cbltoaWRkZW5dLFxuLnVrLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGlkZGVuXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhpZGRlblxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZpc2libGVcbiAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBCYXNlZCBvbiB0aGUgU3RhdGUgb2YgdGhlIFBhcmVudCBFbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENhbid0IHVzZSBgZGlzcGxheTogbm9uZWAgbm9yIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGJlY2F1c2UgYm90aCBhcmUgbm90IGZvY3VzYWJsZS5cbiAqIFRoZSB0YXJnZXQgc3RheXMgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCB3aXRoaW4gcmVjZWl2ZXMgZm9jdXMgdGhyb3VnaCBrZXlib2FyZC5cbiAqL1xuXG4vKlxuICogRGlzY2FyZCBzcGFjZSB3aGVuIGhpZGRlbi5cbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWhpZGRlbi1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEtlZXAgc3BhY2Ugd2hlbiBoaWRkZW4uXG4gKi9cblxuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIC51ay1pbnZpc2libGUtaG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHsgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFzZWQgb24gSG92ZXIgQ2FwYWJpbGl0eSBvZiB0aGUgUG9pbnRpbmcgRGV2aWNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLyogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBkb2Vzbid0IHN1cHBvcnQgaG92ZXIsIGUuZy4gdG91Y2ggc2NyZWVucy4gKi9cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAudWstaGlkZGVuLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2Ugc3VwcG9ydHMgaG92ZXIsIGUuZy4gbWljZS4gKi9cbkBtZWRpYSAoaG92ZXIpIHtcbiAgICAudWstaGlkZGVuLW5vdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay12aXNpYmlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay12aXNpYmlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSW52ZXJzZVxuLy8gRGVzY3JpcHRpb246ICAgICBJbnZlcnNlIGNvbXBvbmVudCBzdHlsZSBmb3IgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGFya2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBsaWdodCkgeyAudWstbGlnaHQgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cbkBpZiAoJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGUgPT0gZGFyaykgeyAudWstZGFyayB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFByaW50XG4vLyBEZXNjcmlwdGlvbjogICAgIE9wdGltaXplIHBhZ2UgZm9yIHByaW50aW5nXG4vL1xuLy8gQWRhcHRlZCBmcm9tIGh0dHA6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGVcbi8vXG4vLyBNb2RpZmljYXRpb25zOiAgIFJlbW92ZWQgbGluayBgaHJlZmAgYW5kIGB0aXRsZWAgcmVsYXRlZCBydWxlc1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcmludFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG5cbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcmludCkpIHtAaW5jbHVkZSBob29rLXByaW50KCk7fVxuXG59XG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcHJpbnQoKXt9XG4iLCJAaW1wb3J0IFwibm9ybWFsaXplLmNzcy9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcImhlbHBlcnNcIjtcblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgcGFkZGluZy10b3A6IDE3NXB4O1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxudWwsXG5saSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbn1cblxucCArIHAge1xuICBtYXJnaW4tdG9wOiBzcGFjZXIoMik7XG59XG5cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwO1xufVxuXG5zdmcge1xuICB3aWR0aDogMjBweDtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZpbGw6IGNvbG9yKFwiYmxhY2tcIik7XG59XG5cbmEge1xuICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oMSwgaDIge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xufVxuXG5oNSB7XG4gIEBpbmNsdWRlIGZvbnQoMTYsIGJvbGQpO1xuICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgbWFyZ2luOiA0MHB4IDAgMjBweDtcbiAgXG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiJGZvbnQtcGF0aDogXCIuLi9hc3NldHMvZm9udHMvXCI7XG5cbi8vIEBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Nb250c2VycmF0K0FsdGVybmF0ZXM6d2dodEAzMDA7NDAwOzUwMDs3MDA7ODAwOzkwMCZkaXNwbGF5PXN3YXBcIik7XG4iLCIubGF6eSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDBkZWcsICNkY2RjZGMgMzAlLCAjZWZlZmVmIDQwJSwgI2Q4ZDhkOCA1MCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwMCU7XG4gIGFuaW1hdGlvbjogbG9hZGluZyAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4ubGF6eV9sb2FkZWQsXG5bZGF0YS1sb2FkZWQ9dHJ1ZV0ge1xuICBhbmltYXRpb246IG5vbmU7XG4gIC8vIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgd2lkdGg6IHVuc2V0O1xuICBoZWlnaHQ6IHVuc2V0O1xufVxuXG5pbWdbZGF0YS1sb2FkZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuIiwiLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sYXllckJsYWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk4O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMwMDAwO1xuICB0cmFuc2l0aW9uOiAwLjNzIDBzIGxpbmVhcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gICZfdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA5MTtcbiAgfVxufVxuXG4ud3JhcCB7XG4gICAgQGluY2x1ZGUgd3JhcHBlcigpO1xufVxuXG4ucm93IHtcbiAgICBAaW5jbHVkZSByb3ctZmxleCgpO1xufVxuXG4uZml4ZWQtcGFnZXtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyDQldGB0LvQuCBwbGFjZWhvbGRlciDQvdC1INC/0L7QvNC10YnQsNC10YLRgdGPINCyIGlucHV0XG5pbnB1dFtwbGFjZWhvbGRlcl0gICAgICAgICAge3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fVxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO30gXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyICAgICAge3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fSBcbmlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9IFxuXG4vLyDQodC60YDRi9GC0YwgcGxhY2Vob2xkZXIg0L/RgNC4INGE0L7QutGD0YHQtSDQvdCwIGlucHV0XG46Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdHJhbnNwYXJlbnRcbn1cblxuOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50XG59XG5cbjpmb2N1czotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50XG59XG5cbjpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdHJhbnNwYXJlbnRcbn1cblxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbi5tYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cblxucCB7XG4gIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xufVxuXG5hIHtcbiAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICBjb2xvcjogY29sb3IoXCJnb2xkXCIpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IoXCJnb2xkXCIpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyAqOmhvdmVyIHtcbi8vICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4vLyB9XG5cbi51ay1saW5rOmhvdmVyLCAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmsge1xuICBjb2xvcjogdW5zZXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLy8gdWwge1xuLy8gICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4vLyAgIGxpIHtcbi8vICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4vLyAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4vLyAgIH1cblxuLy8gICBsaTpiZWZvcmUge1xuLy8gICAgIGNvbnRlbnQ6ICcnO1xuLy8gICAgIHdpZHRoOiAxMHB4O1xuLy8gICAgIGhlaWdodDogMTBweDtcbi8vICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdvbGRcIik7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIHRvcDogMTBweDtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICB9XG5cbi8vICAgbGkgKyBsaSB7XG4vLyAgICAgbWFyZ2luLXRvcDogMTBweDtcbi8vICAgfVxuLy8gfVxuIiwiLmltZ0JvcmRlckJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLy8gJl9zbSB7fVxuXG4gICAgLy8gJl9tZCB7fVxuXG4gICAgLy8gJl9fc2xpZGVyIHt9XG5cbiAgICAmX19pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MzBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICZfc20gJl9faW1nIHtcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgIH1cblxuICAgICZfbWQgJl9faW1nIHtcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4O1xuICAgIH1cblxuICAgIC8vICZfX3NsaWRlciB7fVxuXG4gICAgJl9fc2xpZGVXcmFwIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2ZyYW1lQmxvY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyICZfX2ZyYW1lQmxvY2sge1xuICAgICAgICBib3JkZXI6IDEwcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2UtaW47XG4gICAgfVxuXG4gICAgJl9zbSAmX19mcmFtZUJsb2NrLCAmX21kICZfX2ZyYW1lQmxvY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMzJweCk7XG4gICAgfVxuXG4gICAgJl9fc3RpY2tlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMzYsIHNlbUJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgICZfc20gJl9fc3RpY2tlciwgJl9tZCAmX19zdGlja2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBwYWRkaW5nOiAxLjVweCAyNXB4O1xuICAgIH1cbn1cbiIsIi5saW5lVG9wQmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgIG1hcmdpbi10b3A6IDI5cHg7XG59IiwiLnN0aWNreUJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICoge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDM2LCBzZW1Cb2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGJvbGQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0V3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCAwIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChjb2xvcihcImdyYXktZGFya1wiKSwgY29sb3IoXCJncmF5LWRhcmtcIikpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAlIDJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC4zcyBlYXNlO1xuICAgIH1cblxuICAgICZfX2xpbms6aG92ZXIgJl9fdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAycHg7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJncmF5XCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgIH1cbn1cbiIsIi5zaWRlYmFyIHtcbiAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAqIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyBcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCg2MCwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgICBAaW5jbHVkZSBmb250KDMwLCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNzBweDtcbiAgICB9XG59IiwiLmJyZWFkQ3J1bWJzIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG4gICAgKiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEyKTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdyYXktbGlnaHRcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rQmFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRDFEMUQxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMS41cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCNEMUQxRDEsIDIwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uQXJyb3dCYWNrIHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgIH1cblxuICAgICZfX2xpbmtCYWNrOmhvdmVyICZfX2ljb25BcnJvd0JhY2sge1xuICAgICAgICBmaWxsOiBkYXJrZW4oY29sb3IoXCJncmF5LWxpZ2h0XCIpLCAyMCUpO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgICZfX2xpc3RJdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3RJY29uIHtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgJl9fbGlzdExpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE0LCBsaWdodCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jYXJkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xuXG4gICAgKiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbWdXcmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQyOXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG5cbiAgICAmX19zdGlja2VyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjQsIGJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI5cHg7XG4gICAgICAgIHJpZ2h0OiAyOXB4O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgIG1hcmdpbjogMCA0MHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IoXCJncmF5LXdoaXRlXCIpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgcmVnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgIH1cblxuICAgICZfX2NvbGxlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE0LCByZWcpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgJl9fY29sb3JJdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgJl9fY29sb3JCdG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFMUNBO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKFwiZ3JheS1saWdodFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm90dG9tQmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9fY29zdEl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19jb3N0TmV3IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgyNCwgcmVnKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgJl9fY29zdE9sZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjQsIHJlZyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgICZfX2J0bkNhcnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX2ljb25DYXJ0IHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX2J0bkNhcnQ6aG92ZXIgJl9faWNvbkNhcnQge1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXlcIik7XG4gICAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG5cbiAgICAqIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vICZfX3dyYXAge31cblxuICAgICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTIpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG5Nb3JlV3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAmX19saXN0SXRlbSB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuVHJhbnNpdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihcImdyYXktbGlnaHRcIik7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oY29sb3IoXCJncmF5LWxpZ2h0XCIpLCAyMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9wcmV2IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmX2FjdGl2ZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXktbGlnaHRcIik7XG4gICAgfVxuXG4gICAgJl9fYnRuVHJhbnNpdGlvbjpob3ZlciAmX19pY29uIHtcbiAgICAgICAgZmlsbDogZGFya2VuKGNvbG9yKFwiZ3JheS1saWdodFwiKSwgMjAlKTtcbiAgICB9XG59IiwiLmJ1cmdlck1lbnUge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuXG4gICAgJl9fYnVyZ2VyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYgc3BhbiwgJjphZnRlciwgJjpiZWZvcmV7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJncmF5XCIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJiBzcGFue1xuICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmV7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgYm90dG9tOiAzcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC8vICYub3Blbi1tZW51IHNwYW4ge1xuICAgICAgICAvLyAgICAgb3BhY2l0eTowOyBcbiAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IDAuNXM7IFxuICAgICAgICAvLyB9XG4gICAgICAgIC8vICYub3Blbi1tZW51OmJlZm9yZSB7XG4gICAgICAgIC8vICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzOGRlZyk7XG4gICAgICAgIC8vICAgICB0b3A6IDlweDtcbiAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gJi5vcGVuLW1lbnU6YWZ0ZXIge1xuICAgICAgICAvLyAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTM4ZGVnKTtcbiAgICAgICAgLy8gICAgIGJvdHRvbTogOXB4O1xuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2U7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogIzAwMDAwMDkxO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgJi5vcGVuLW1lbnUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBDb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNTA2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggNTBweCA0MHB4IDEyMXB4O1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cblxuICAgIC8vICZfX3RvcEJsb2NrIHt9XG5cbiAgICAmX19oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmX19oZWFkSWNvbldyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgJl9jbG9zZSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkSWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZpbGw6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjQsIGJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICB9XG5cbiAgICAmX19saXN0SXRlbSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfbGlua0l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0TGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjQsIG1lZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJncmF5XCIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW50ZXJuYWxMaXN0V3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9faW50ZXJuYWxMaXN0QXJyb3dXcmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA2LjVweDtcbiAgICB9XG5cbiAgICAmX19pbnRlcm5hbExpc3RBcnJvd0ljb24ge1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJl9faW50ZXJuYWxMaXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAudWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAvLyAmX19pbnRlcm5hbExpc3RJdGVtIHt9XG5cbiAgICAmX19pbnRlcm5hbExpc3RJdGVtLnVrLW9wZW4rJl9faW50ZXJuYWxMaXN0QXJyb3dXcmFwICZfX2ludGVybmFsTGlzdEFycm93SWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1pbjtcbiAgICB9XG5cbiAgICAmX19pbnRlcm5hbExpc3RUaXRsZUxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250KDIyLCBtZWQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faW50ZXJuYWxNZW51V3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgJl9faW50ZXJuYWxNZW51IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgJl9faW50ZXJuYWxNZW51SXRlbSB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnRlcm5hbE1lbnVMaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgbGlnaHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC00cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbUJsb2NrIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTUwcHg7XG4gICAgfVxuXG4gICAgLy8gJl9fY29udGFjdHNCbG9jayB7fVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTQsIGxpZ2h0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waG9uZUJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgICZfX3Bob25lTGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIGJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NvY2lhbEl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAmX19zb2NpYWxMaW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NvY2lhbExpbmtJY29uIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cbn1cbiIsIi5zbGlkZXJBY3Rpb25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfZmlsbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgICZfX2J0biB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJl9wcmV2IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmX25leHQge31cbiAgICB9XG5cbiAgICAmX19pY29uQXJyb3cge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXlcIik7XG4gICAgfVxuXG4gICAgJl9fYnRuOmhvdmVyICZfX2ljb25BcnJvdyB7XG4gICAgICAgIGZpbGw6IGRhcmtlbihjb2xvcihcImdyYXlcIiksIDIwJSk7XG4gICAgfVxuXG4gICAgJl9fbnVtYmVyaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgyNCwgYm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ3BudW0nIG9uLCAnbG51bScgb247XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICB9XG59XG4iLCIuaGVhZEJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA3NXB4O1xuXG4gICAgLy8gJl9fd3JhcCB7fVxuXG4gICAgLy8gJl9fcm93IHt9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMik7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbUJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJl9faWNvbkJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmdCbG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCg2MCwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzMCwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgfVxuXG4gICAgJl9fYWN0aXZlQmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3NlbGVjdEJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zZWxlY3RCbG9ja1RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCByZWcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgcmVnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC8vICZfX29wdGlvbiB7fVxuXG4gICAgJl9fc2VsZWN0SWNvbiB7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICZfX3NlbGVjdDphY3RpdmV+Jl9fc2VsZWN0SWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1pbjtcbiAgICB9XG5cbiAgICAmX19saW5rRWRpdCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIHJlZyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuRmlsdGVyc1thcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBib2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IC4xcyAwcyBsaW5lYXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihjb2xvcihcImdvbGRcIiksIDIwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG5GaWx0ZXJzVGV4dCB7XG4gICAgICAgICZfZGVmYXVsdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX29wZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG5GaWx0ZXJzSWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcIndoaXRlXCIpO1xuXG4gICAgICAgICZfZGVmYXVsdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX29wZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuRmlsdGVyc1thcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTNweCAxOHB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGJvbGQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMXMgMHMgbGluZWFyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBkYXJrZW4oY29sb3IoXCJnb2xkXCIpLCAyMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuRmlsdGVyc1thcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAmX19idG5GaWx0ZXJzVGV4dCB7XG4gICAgICAgICZfZGVmYXVsdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfb3BlbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG5GaWx0ZXJzW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdICZfX2J0bkZpbHRlcnNJY29uIHtcbiAgICAgICAgZmlsbDogY29sb3IoXCJncmF5XCIpO1xuXG4gICAgICAgICZfZGVmYXVsdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX29wZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm9yZGVyQ2FsYyB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDM2LCBib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2ZpbmFsTGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIGxpZ2h0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgICZfX2ZpbmFsTGlzdEl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbmFsTGlzdE5hbWUge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgfVxuXG4gICAgJl9fZmluYWxMaXN0RGF0YSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICB9XG5cbiAgICAmX19maW5hbENvc3Qge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IoXCJncmF5LXdoaXRlXCIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTlweDtcbiAgICAgICAgbWFyZ2luOiA2MHB4IDA7XG4gICAgfVxuXG4gICAgJl9fZmluYWxDb3N0VGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjQsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fZmluYWxDb3N0U3VtIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCg2NCwgYm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAncG51bScgb24sICdsbnVtJyBvbjtcbiAgICB9XG5cbiAgICAmX19idG5Hb1RvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgYm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDI2cHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihjb2xvcihcImdvbGRcIiksIDIwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAmX19idG5Hb1RvVGV4dCB7fVxuXG4gICAgJl9fYnRuR29Ub0ljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59XG4iLCIuY2FydENhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICAmX19pbWdXcmFwIHtcbiAgICAgICAgd2lkdGg6IDMzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4IDQwcHggMDsgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAvLyAmX19hY2NvcmRpb24ge31cblxuICAgIC8vICZfX2FjY29yZGlvbldyYXAge31cblxuICAgICZfX2FjY29yZGlvblRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgyNCwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC8vICZfX2FjY29yZGlvblRpdGxlVGV4dCB7fVxuXG4gICAgJl9fYWNjb3JkaW9uSWNvbldyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNTJweDtcbiAgICB9XG4gICAgXG4gICAgJl9fYWNjb3JkaW9uSWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZpbGw6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICB9XG5cbiAgICAmX19hY2NvcmRpb25Db250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICAvLyAmX19saXN0U3BlY2lmIHt9XG5cbiAgICAmX19saXN0U3BlY2lmSXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIGxpZ2h0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0U3BlY2lmTmFtZSB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICB9XG5cbiAgICAmX19saXN0U3BlY2lmRGF0YSB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAmX19wcmljZUJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjlweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKFwiZ3JheS13aGl0ZVwiKTtcbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjgsIGxpZ2h0KTtcbiAgICB9XG5cbiAgICAmX19uZXdDb3N0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgJl9fb2xkQ29zdCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI5cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgIH1cblxuICAgICZfX2RlbGV0ZUljb25XcmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLW91dDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgMHMgZWFzZS1pbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RlbGV0ZUljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICB9XG59XG4iLCIubWFraW5nT3JkZXJTd2l0Y2hlciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgICAgICBwYWRkaW5nOiAyMnB4IDI3cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgcmVnKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS51ay1hY3RpdmUgJl9fbGluayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlua0ljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdvbGRcIik7XG4gICAgfVxuXG4gICAgJl9faXRlbS51ay1hY3RpdmUgJl9fbGlua0ljb24ge1xuICAgICAgICBmaWxsOiBjb2xvcihcImJsYWNrXCIpO1xuICAgIH1cblxuICAgICZfX2xpbmtUZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgLy8gJl9fY29udGVudEl0ZW0ge31cblxuICAgICZfX2NvbnRlbnRUZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgbGlnaHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgIH1cbn0iLCIuY2F0ZWdvcmllc0l0ZW0ge1xuICAgIGNvbHVtbi1zcGFuOiBhbGw7XG4gICAgXG4gICAgJl9faGVhZEJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pY29uV3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJncmF5XCIpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgbWVkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAmX19saXN0SXRlbSB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0TGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTQsIHJlZyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxvZ2luIHtcbiAgICBtYXgtd2lkdGg6IDUzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAjRUZFRkVGO1xuICAgIHBhZGRpbmc6IDkwcHg7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMzYsIGJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDMwcHg7XG4gICAgfVxuXG4gICAgJl9fZm9ybUl0ZW0ge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9ybUJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjAsIGJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihjb2xvcihcImdvbGRcIiksIDIwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAmX19mb3JtQnRuVGV4dCB7fVxuXG4gICAgJl9fZm9ybUJ0bkljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgcmVnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1pbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5maWx0ZXJzQmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG5cbiAgICAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEyKTtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgY29sdW1uczogNSBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbHVtbi1ydWxlOiAxcHggc29saWQgY29sb3IoXCJncmF5LXdoaXRlXCIpO1xuICAgICAgICBjb2x1bW4tZ2FwOiA4MHB4O1xuXG4gICAgICAgIC8vIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsMWZyKTtcbiAgICAgICAgLy8gZ3JpZC1nYXA6IDgwcHg7XG5cbiAgICAgICAgLy8g0JrQsNC6INCy0LDRgNC40LDQvdGCXG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmX19mb3JtQ29sdW1uQmxvY2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICAvLyDQmtCw0Log0LLQsNGA0LjQsNC90YJcbiAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgICAgICBcblxuICAgICAgICAvLyAmICsgJiB7XG4gICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogNjBweDtcblxuICAgICAgICAvLyAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgLy8gICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdyYXktd2hpdGVcIik7XG4gICAgICAgIC8vICAgICAgICAgbGVmdDogLTU5cHg7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cblxuICAgICAgICAmX2xhc3RCbG9jayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLy8g0JLRgNC10LzQtdC90L3QvlxuICAgICAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvcm1JdGVtc0Jsb2NrIHtcbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgyMiwgYm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbn1cbiIsIi5zaW5nbGVTbGlkZXIge1xuICAgIHdpZHRoOiA4MzVweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNTMwcHg7XG4gICAgbWF4LWhlaWdodDogNjAwcHg7XG5cbiAgICAmLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICYgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogODM1cHg7XG4gICAgfVxuXG4gICAgJiAuc2xpY2stc2xpZGU+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLmhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGhlaWdodDogMTAwJTtcblxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2dyb3VuZDogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICB0b3A6IDA7XG4gICAgXG4gICAgKiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAvLyAmX19yb3cge31cblxuICAgICZfX3RvcFBhcnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgfVxuXG4gICAgJl9fdG9wUGFydENvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0YxRjFGMTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDlweDtcblxuICAgICAgICAmX2NlbnRlckl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyKTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyBcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xlZnRJdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gJl9fYnVyZ2VyTWVudSB7fVxuXG4gICAgJl9fdG9wTmF2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgfVxuXG4gICAgJl9fdG9wTGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fdG9wSXRlbSB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3BMaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZ3JheVwiKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1pbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ29XcmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogMTg4cHg7XG4gICAgfVxuXG4gICAgJl9fcmlnaHRJdGVtcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2FjdGl2ZUJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDU3cHg7XG4gICAgfVxuXG4gICAgJl9fbGlua0Nvb3BlcmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImdvbGRcIik7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2UtaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvQmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJl9fcGhvbmVMaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNSwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdwbnVtJyBvbiwgJ2xudW0nIG9uO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193b3JrVGltZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTIsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5XCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAmX19hY3RpdmVJdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICNkY2RjZGM7XG4gICAgfVxuXG4gICAgJl9fYWN0aXZlSXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX3Zpc2l0IHt9XG4gICAgfVxuXG4gICAgJl9fYWN0aXZlSWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZpbGw6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgJl9fYWN0aXZlSXRlbV92aXNpdCAmX19hY3RpdmVJY29uIHtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX2FjdGl2ZUl0ZW06aG92ZXIgJl9fYWN0aXZlSWNvbiB7XG4gICAgICAgIGZpbGw6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgIH1cblxuICAgICZfX2JvdHRvbVBhcnQge1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDAgMjVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYm90dG9tUGFydENvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEyKTtcbiAgICB9XG5cbiAgICAvLyAmX19ib3R0b21OYXYge31cblxuICAgICZfX2JvdHRvbUxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLy8gJl9fYm90dG9tSXRlbSB7fVxuXG4gICAgJl9fY2F0YWxvZ0Jsb2NrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2NhdGFsb2dCdG4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2JvdHRvbUxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2JvdHRvbUljb24ge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgIC8vIHN0cm9rZTogY29sb3IoXCJncmF5XCIpO1xuICAgICAgICAvLyBzdHJva2Utd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAmX19ib3R0b21MaW5rOmhvdmVyICZfX2JvdHRvbUljb24ge1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICB9XG5cbiAgICAmX19ib3R0b21MaW5rLmFjdGl2ZSAmX19ib3R0b21JY29uIHtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX2JvdHRvbVRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCBtZWQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmX2NhdGFsb2cge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgYm9sZCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm90dG9tTGluazpob3ZlciAmX19ib3R0b21UZXh0IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2UtaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3R0b21MaW5rLmFjdGl2ZSAmX19ib3R0b21UZXh0IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMTUwcHg7XG5cbiAgICAqIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZfX3RvcFBhcnQge1xuICAgICAgICBwYWRkaW5nOiAyMnB4IDAgMjFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMUYxRjE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gJl9fd3JhcCB7fVxuXG4gICAgLy8gJl9fcm93IHt9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMik7XG4gICAgfVxuXG4gICAgJl9fbG9nb1dyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI2NHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogMTg4cHg7XG4gICAgfVxuXG4gICAgJl9fbWFpblBhcnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAmX19tYWluQmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgICZfX3NvY2lhbEl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zb2NpYWxMaW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NvY2lhbEljb24ge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdvbGRcIik7XG4gICAgfVxuXG4gICAgJl9fc29jaWFsTGluazpob3ZlciAmX19zb2NpYWxJY29uIHtcbiAgICAgICAgZmlsbDogZGFya2VuKGNvbG9yKFwiZ29sZFwiKSwgMjAlKTtcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgcmVnKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgICZfX2RvY0l0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19kb2NMaW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxMiwgcmVnKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheVwiKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheVwiKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1pbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNhbGVCbG9jayB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaGlmdC1sZWZ0KDIpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDgpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDEwcHggc29saWQgY29sb3IoXCJncmF5LXdoaXRlXCIpO1xuICAgICAgICBwYWRkaW5nOiA5MHB4IDE1OHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCg0OCwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCByZWcpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDYwcHg7XG4gICAgfVxufVxuIiwiLnJlbWluZGVyVGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMTUwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaGlmdC1sZWZ0KDIpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDgpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIHJlZyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgIH1cbn1cbiIsIi5yZWNvbW1lbmRQcm9kdWN0cyB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gICAgLy8gJl9fd3JhcCB7fVxuXG4gICAgLy8gJl9fcm93IHt9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMik7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyQWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDQ4LCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9faXRlbXMge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cblxuICAgICYgLmNhcmQge1xuICAgICAgICBtYXgtd2lkdGg6IDQ1M3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgfVxufVxuIiwiLmNhdGFsb2dEcm9wZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogMC4zcyAwcyBsaW5lYXI7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICAmX3Zpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTIpO1xuICAgIH1cblxuICAgICZfX2J0bkNsb3NlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgbWVkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fYnRuQ2xvc2VJY29uIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX2J0bkNsb3NlVGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgICZfX2NhdGFsb2dXcmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB9XG5cbiAgICAmX19jYXRhbG9nV3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEzMHB4KTtcbiAgICB9XG5cbiAgICAmIC5jYXRhbG9nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59IiwiLm1haW5PZmZlciB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNyk7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB9ICAgICAgIFxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCg3Miwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogNzEwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMzIsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBtYXJnaW46IDEwcHggMCA3MHB4O1xuICAgIH1cbn1cbiIsIi5tYWluQWJvdXQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2ltZ0ZsYWcge1xuICAgICAgICB3aWR0aDogODM1cHg7XG4gICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtMTUlO1xuICAgIH1cblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDQ4LCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIHJlZyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgNDBweDtcbiAgICB9XG59XG4iLCIubWFpbkNvbGxlY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgICBcbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAvLyAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDQpO1xuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg3KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMSk7XG4gICAgICAgIH0gICAgICAgXG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDk1cHggMDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX3NsaWRlckluZm8ge31cblxuICAgICZfX3NsaWRlV3JhcEluZm8ge31cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCByZWcpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDgwcHg7XG4gICAgfVxufVxuIiwiLm1haW5TYWxlIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDcpO1xuICAgICAgICB9ICAgICAgIFxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCByZWcpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDcwcHg7XG4gICAgfVxufVxuIiwiLmNvb3BlcmF0aW9uT2ZmZXIge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAvLyAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuXG4gICAgICAgICZfbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDcpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH0gICAgICAgXG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDcyLCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiA3MTBweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzMiwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDcwcHg7XG4gICAgfVxufSIsIi5jb29wZXJhdGlvbldoeSB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gICAgXG4gICAgLy8gJl9fd3JhcCB7fVxuXG4gICAgLy8gJl9fcm93IHt9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcblxuICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoNDgsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dFBhcmFncmFwaCB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNvb3BlcmF0aW9uVG9XaG9tIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNCk7XG5cbiAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgfSAgICAgICBcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMzYsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgcmVnKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBtYXJnaW46IDIwcHggMCA4MHB4O1xuICAgIH1cbn1cbiIsIi5jb29wZXJhdGlvbkJlbmVmaXRzIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgICBcbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAvLyAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuXG4gICAgICAgICZfbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGlmdC1sZWZ0KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg2KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LXJpZ2h0KDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gJl9fY29udGVudCB7fVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDQ4LCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jb29wZXJhdGlvbkZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMik7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoOCk7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCBjb2xvcihcImdyYXktd2hpdGVcIik7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDkwcHggMTEwcHhcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoNDgsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCByZWcpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHhcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjkwcHgsIDFmcikpOyBcbiAgICAgICAgZ3JpZC1nYXA6IDQwcHg7XG4gICAgfVxuXG4gICAgJiAmX19idG5GaWxsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgYm9sZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJiAmX19idG5GaWxsSWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgJl9fYXBwcm92YWwge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE0LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAmX19hcHByb3ZhbExpbmsge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cbn1cbiIsIi5hYm91dCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgICZfX3JvdyB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcblxuICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAmX19jb250ZW50IHt9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDIwLCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hYm91dEluc2lkZSB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgICZfX3JvdyB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcblxuICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoNDgsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAvLyZfX21haW5Db250ZW50IHt9XG5cbiAgICAmX19tYWluQ29udGVudCB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fbWFpbkNvbnRlbnQgbGkge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZ1dyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAmX2JvcmRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQgY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmX19pbWdXcmFwX2JvcmRlciAmX19pbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgYm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICB9XG59XG4iLCIucGF5bWVudCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgICZfX3JvdyB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcblxuICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoNjAsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAvLyAmX19jb250ZW50IHt9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgIH1cblxuICAgICZfX2ltZ0l0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgNDBweDtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQgdWwge1xuICAgICAgICBtYXJnaW46IDEwcHggMCA1MHB4O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQgbGkge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZGVsaXZlcnkge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDYwLCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7fVxuXG4gICAgJl9fY29udGVudEl0ZW0ge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcblxuICAgICAgICAmX3JlZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KDE2LCByZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dEl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgJl9faWNvbkJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX3RleHRCbG9jayB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCg0OCwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuXG4gICAgICAgICZfc20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgYm9sZCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IG9sIHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQgb2wgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsIGluc2lkZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucmVmdW5kIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuXG4gICAgLy8gJl9fd3JhcCB7fVxuXG4gICAgJl9fcm93IHtcbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuXG4gICAgICAgICZfbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGlmdC1sZWZ0KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg3KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCg2MCwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC8vICZfX2NvbnRlbnQge31cblxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IG9sIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IG9sIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbCBpbnNpZGU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHVsIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHVsIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGRpc2MgaW5zaWRlO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLndhcnJhbnR5IHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxODBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgICZfX3JvdyB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcblxuICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoNDgsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAvLyAmX19jb250ZW50IHt9XG5cbiAgICAmX19jb250ZW50SXRlbSB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50QmxvY2sge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDQ4LCBib2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICB9XG5cbiAgICAmX19zdWJ0ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC8vICZfX3RleHQge31cblxuICAgICZfX2NvbnRlbnQgb2wge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQgb2wgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsIGluc2lkZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQgdWwge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQgdWwgbGkge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYyBpbnNpZGU7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY29udGFjdHMge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDQ4LCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLy8gJl9fY29udGVudCB7fVxuXG4gICAgJl9fY29udGVudEl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9kYXRhIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50QmxvY2sge1xuICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIGJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIGxpZ2h0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCBsaWdodCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgfVxuXG4gICAgJl9fbWFwQmxvY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxuXG4gICAgJl9fZGF0YUJsb2NrIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICAmX19kYXRhVGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICB9XG59IiwiLnBvbGljeSB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgICZfX3JvdyB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcblxuICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoNDgsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAvLyAmX19tYWluQ29udGVudCB7fVxuXG4gICAgJl9fbWFpbkNvbnRlbnQgb2wge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICZfX21haW5Db250ZW50IG9sIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbCBpbnNpZGU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluQ29udGVudCB1bCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJl9fbWFpbkNvbnRlbnQgdWwgbGkge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYyBpbnNpZGU7XG5cbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5lcnJvclBhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTIpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBib3JkZXI6IDEwcHggc29saWQgY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDkwcHggOTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgyMDAsIGJsKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAncG51bScgb24sICdsbnVtJyBvbjtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDE1MnB4O1xuICAgICAgICBoZWlnaHQ6IDE1MnB4O1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgyNCwgYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ3BudW0nIG9uLCAnbG51bScgb247IFxuICAgICAgICBtYXgtd2lkdGg6IDQ1NHB4O1xuICAgICAgICBtYXJnaW46IDMwcHggMCA2MHB4O1xuICAgIH1cblxuICAgICZfX2J0blNvbGlkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59XG4iLCIuc2hvd2Nhc2Uge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAvLyAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEyKTtcblxuICAgICAgICAmX2xlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hpZnQtbGVmdCgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoNDUzcHgsIDQ1M3B4KSk7IFxuICAgICAgICBncmlkLWdhcDogNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICB9XG59XG4iLCIucHJvZHVjdENhcmQge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAvLyAmX193cmFwIHt9XG5cbiAgICAvLyAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuXG4gICAgICAgICZfbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGlmdC1sZWZ0KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICZfX3NsaWRlckJsb2NrIHt9XG5cbiAgICAmX19zbGlkZXJNYWluV3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoXCJncmF5LXdoaXRlXCIpO1xuICAgIH1cblxuICAgICZfX3NsaWRlck1haW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NzBweDtcblxuICAgICAgICAmLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICYgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU3N3B4O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICYgLnNsaWNrLXNsaWRlPmRpdiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW5JbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NzBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG5cbiAgICAmX19zdGlja2VySW1nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMjQsIGJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJ3aGl0ZVwiKTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI5cHg7XG4gICAgICAgIGxlZnQ6IDI5cHg7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyQWN0aW9ucyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyTmF2V3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyTmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJiAuc2xpY2stc2xpZGUuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmIC5zbGljay1zbGlkZT5kaXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdkltZ1dyYXAge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKFwiZ3JheS13aGl0ZVwiKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdkltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgJl9fc3dpdGNoZXJDb250ZW50QmxvY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX2FydGljbGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDQ4LCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIFxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxOCwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgfVxuXG4gICAgJl9fd2FybmluZyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgJl9fd2FybmluZ0ljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdvbGRcIik7XG4gICAgfVxuXG4gICAgJl9fd2FybmluZ1RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgICZfX21haW5Db250ZW50V3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgJl9fc3dpdGNoZXJOYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX3N3aXRjaGVyTmF2SXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fc3dpdGNoZXJOYXZMaW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCByZWcpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5XCIpO1xuICAgICAgICBwYWRkaW5nOiAxOXB4IDA7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZ3JheS13aGl0ZVwiKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoXCJncmF5LXdoaXRlXCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheVwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N3aXRjaGVyTmF2SXRlbS51ay1hY3RpdmUgJl9fc3dpdGNoZXJOYXZMaW5rIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N3aXRjaGVyQ29udGVudCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKFwiZ3JheS13aGl0ZVwiKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19zd2l0Y2hlckNvbnRlbnRJdGVtIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICB9XG5cbiAgICAmX19zcGVjaWZJdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGVjaWZNYWluQ29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fc3BlY2lmUXVlc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdyYXktbGlnaHRcIik7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3NwZWNpZlF1ZXN0SWNvbiB7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICB9XG5cbiAgICAmX19zcGVjaWZOYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgbWFyZ2luOiAwIDlweCAwIDVweDtcbiAgICB9XG5cbiAgICAvLyAmX19yYWRpb0dyb3VwIHt9XG5cbiAgICAmX19zcGVjaWZDb3N0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgcmVnKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgfVxuXG4gICAgJl9fc2V0QmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgJl9fc2V0QmxvY2tJdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zZXRUZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgbGlnaHQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuXG4gICAgICAgICZfYm9sZCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmluYWxCbG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICAmX19maW5hbENvc3Qge1xuICAgICAgICBAaW5jbHVkZSBmb250KDQ4LCBib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdwbnVtJyBvbiwgJ2xudW0nIG9uO1xuICAgIH1cblxuICAgICZfX2ZpbmFsQWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faW5wdXRCbG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEMUQxRDE7XG4gICAgICAgIHBhZGRpbmc6IDlweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3N3aXRjaGVyRGVzY05hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihcImdyYXktd2hpdGVcIik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICZfX3N3aXRjaGVyRGVzY05hdkl0ZW0ge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3dpdGNoZXJEZXNjTmF2TGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIHJlZyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3dpdGNoZXJEZXNjTmF2SXRlbS51ay1hY3RpdmUgJl9fc3dpdGNoZXJEZXNjTmF2TGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIHNlbUJvbGQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICB9XG5cbiAgICAmX19zd2l0Y2hlckRlc2NDb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAvLyAmX19zd2l0Y2hlckRlc2NDb250ZW50SXRlbSB7fVxuXG4gICAgJl9fc3dpdGNoZXJEZXNjVGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIHJlZyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3dpdGNoZXJEZXNjU3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCBib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbn1cbiIsIi5jYXJ0TGlzdCB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gJl9fbWFpbiB7fVxuXG4gICAgJl9fc2lkZVJpZ2h0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cbiIsIi5tYWtpbmdPcmRlciB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG5cbiAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNik7XG4gICAgICAgIH1cblxuICAgICAgICAmX3JpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0LWxlZnQoMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gJl9fbWFpbiB7fVxuXG4gICAgJl9fbWFpbkl0ZW0ge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAmX19zaWRlUmlnaHQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuIiwiLm1ha2luZ0RlbGl2ZXJ5IHtcbiAgICAvLyAmX19mb3JtIHt9XG5cbiAgICAmX19mb3JtU3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICZfX2lucHV0QmxvY2sge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXRHcm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICAmX19pbnB1dEdyb3VwICZfX2lucHV0QmxvY2sgKyAmX19pbnB1dEJsb2NrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9faW5mb0Jsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgcmVnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgICZfX2luZm9CbG9ja0ljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdvbGRcIik7XG4gICAgfVxuXG4gICAgJl9faW5mb0Jsb2NrVGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cbiIsIi8vIC5tYWtpbmdQYXltZW50IHt9IiwiLm1ha2luZ0RhdGEge1xuICAgIC8vICZfX2Zvcm0ge31cblxuICAgICZfX2lucHV0R3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2lucHV0QmxvY2sge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXRHcm91cCArICZfX2lucHV0QmxvY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgICZfX2lucHV0R3JvdXAgJl9faW5wdXRCbG9jayArICZfX2lucHV0QmxvY2sge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCArICZfX2lucHV0QmxvY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgICZfX3RleHRhcmVhV3JhcCB7XG4gICAgICAgIG1hcmdpbjogNjBweCAwIDIwcHg7XG4gICAgfVxufVxuIiwiLm9yZGVyUGxhY2VkIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4O1xuXG4gICAgLy8gJl9fd3JhcCB7fVxuXG4gICAgLy8gJl9fcm93IHt9XG5cbiAgICAmX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBjb2woKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMik7XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIGNvbG9yKFwiZ3JheS13aGl0ZVwiKTtcbiAgICAgICAgcGFkZGluZzogOTBweCAxNDBweCA5MHB4IDkwcHg7XG4gICAgfVxuXG4gICAgLy8gJl9fY29udGVudCB7fVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDM2LCBib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgICZfX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDYwcHg7XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgfVxuXG4gICAgJl9faWNvbkJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIGZpbGw6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICB9XG59XG4iLCIuY2F0YWxvZyB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcblxuICAgIC8vICZfX3dyYXAge31cblxuICAgIC8vICZfX3JvdyB7fVxuXG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTIpO1xuXG4gICAgICAgICZfbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGlmdC1sZWZ0KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhdGVnb3JpZXNJdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMwNXB4LCAxZnIpKTsgXG4gICAgICAgIGdyaWQtZ2FwOiA0MHB4O1xuICAgIH1cblxuICAgICZfX2NvbGxlY3Rpb25zQmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgICZfX2NvbGxlY3Rpb25zVGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCBzZW1Cb2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgJl9fY29sbGVjdGlvbnNJdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI2NXB4LCAxZnIpKTsgXG4gICAgICAgIGdyaWQtZ2FwOiA0MHB4O1xuICAgIH1cbn1cbiIsIi5sb2dpblBhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDc1cHg7XG5cbiAgICAmX193cmFwIHt9XG5cbiAgICAmX19yb3cge31cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEyKTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLmxvZ2luSW5zaWRlIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuXG4gICAgLy8gJl9fd3JhcCB7fVxuXG4gICAgJl9fcm93IHtcbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuXG4gICAgICAgICZfbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGlmdC1sZWZ0KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHt9XG5cbiAgICAmX19jb250ZW50SXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgY29sb3IoXCJncmF5LWRhcmtcIik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICZfc29saWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKFwiZ3JheS13aGl0ZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yb3dJbnNpZGUge31cblxuICAgICZfX2NvbEluc2lkZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgJl9zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMik7XG4gICAgICAgIH1cblxuICAgICAgICAmX20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgzKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfZW5kIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGxpZ2h0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTtcblxuICAgICAgICAmX2JsYWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gJl9fYWNjb3JkaW9uIHt9XG5cbiAgICAvLyAmX19hY2NvcmRpb25XcmFwIHt9XG5cbiAgICAmX19hY2NvcmRpb25UaXRsZUJsb2NrIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fc3RhdHVzVGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIHJlZyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcblxuICAgICAgICAmX2FjY2VwdCB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9jYW5jZWwge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheVwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21vcmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX21vcmVUZXh0QmxvY2sge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCByZWcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiYmxhY2tcIik7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19tb3JlVGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgMHMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJl9fcm9sbFVwVGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICZfX2FjY29yZGlvbldyYXAudWstb3BlbiAmX19tb3JlVGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLWluO1xuICAgIH1cblxuICAgICZfX2FjY29yZGlvbldyYXAudWstb3BlbiAmX19yb2xsVXBUZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLWluO1xuICAgIH1cblxuICAgICZfX21vcmVJY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAvLyAmX19hY2NvcmRpb25Db250ZW50IHt9XG59XG4iLCIub2ZmZXJGb3JtIHtcbiAgICBib3JkZXI6IDEwcHggc29saWQgY29sb3IoXCJncmF5LXdoaXRlXCIpO1xuICAgIHBhZGRpbmc6IDgwcHggOTBweCAxMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxNTBweDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgzNiwgc2VtQm9sZCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIHJlZyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICBtYXJnaW46IDEwcHggMCA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gJl9fZm9ybSB7fVxuXG4gICAgJl9faW5wdXRHcm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9faW5wdXRCbG9jayB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dGFyZWFXcmFwIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgfVxuXG4gICAgJl9fZm9ybUFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICYgJl9fZm9ybUJ0bkZpbGwge1xuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCBib2xkKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJiAmX19mb3JtQnRuRmlsbEljb24ge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweFxuICAgIH1cblxuICAgICZfX2Zvcm1BcHByb3ZhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTQsIGxpZ2h0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICB9XG59XG4iLCIudGVzdCB7XG4gICAgJl9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgY29sKCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTIpO1xuICAgIH1cbn0iLCIuYnRuU29saWQge1xuICAgIEBpbmNsdWRlIGZvbnQoMjAsIHNlbUJvbGQpO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIGNvbG9yKFwiZ29sZFwiKTtcbiAgICBwYWRkaW5nOiAxNnB4IDI2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJibGFja1wiKTtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgZGFya2VuKGNvbG9yKFwiZ29sZFwiKSwgMjAlKTtcbiAgICB9XG5cbiAgICAmX3NtIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAxOHB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTYsIGJvbGQpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgZGFya2VuKGNvbG9yKFwiZ29sZFwiKSwgMjAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmaWxsOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuXG4gICAgICAgICZfZGFyayB7XG4gICAgICAgICAgICBmaWxsOiBjb2xvcihcImdyYXktZGFya1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfYmFja1RvIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9zbSAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgJl9iYWNrVG8ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGlua1RvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSBmb250KDE4LCByZWcpO1xuICAgIGNvbG9yOiBjb2xvcihcImdvbGRcIik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIDBzIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciAgJl9fdGV4dCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBlYXNlLWluO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZpbGw6IGNvbG9yKFwiZ3JheVwiKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX19pY29uIHtcbiAgICAgICAgZmlsbDogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cbn0iLCIuYnRuRmlsbCB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIEBpbmNsdWRlIGZvbnQoMjAsIHJlZyk7XG4gICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogY29sb3IoXCJnb2xkXCIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihjb2xvcihcImdvbGRcIiksIDIwJSk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGZpbGw6IGNvbG9yKFwid2hpdGVcIik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIH1cblxuICAgICZfcyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgYm9sZCk7XG4gICAgfVxuXG4gICAgJl9zICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59IiwiLmlucHV0QmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBmb250KDE0LCByZWcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwcyBjdWJpYy1iZXppZXIoMC41NywgMC4wNCwgMSwgMC45NSk7XG5cbiAgICAgICAgJl90ZXh0YXJlYSB7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX2FjdGl2ZSB7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihcImdyYXktbGlnaHRcIik7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMjNweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNCwgcmVnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImJsYWNrXCIpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX19pbnB1dDpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbnB1dDpmb2N1cyB+ICZfX2xhYmVsIHtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICB9XG59XG5cbi8vINCm0LLQtdGCIHBsYWNlaG9sZGVyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTt9XG46Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge2NvbG9yOiBjb2xvcihcImdyYXktZGFya1wiKTt9LyogRmlyZWZveCAxOSsgKi9cbjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7Y29sb3I6IGNvbG9yKFwiZ3JheS1kYXJrXCIpO30vKiBGaXJlZm94IDE4LSAqL1xuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7fSIsIi50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDIzMHB4O1xuICAgIG1heC1oZWlnaHQ6IDIzMHB4OyAgICBcbn1cblxudGV4dGFyZWEudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY29sb3IoXCJncmF5LWRhcmtcIik7XG59IiwiLnJhZGlvR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX2J0blJhZGlvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J0blJhZGlvIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19idG5SYWRpbyBsYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMTIsIHJlZyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImdyYXlcIik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKFwiZ3JheS1saWdodFwiKTtcbiAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgfVxuXG4gICAgLyogQ2hlY2tlZCAqL1xuICAgICZfX2J0blJhZGlvIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcIndoaXRlXCIpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZ29sZFwiKTtcbiAgICB9XG4gICAgIFxuICAgIC8qIEhvdmVyICovXG4gICAgJl9fYnRuUmFkaW8gbGFiZWw6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oY29sb3IoXCJncmF5LWxpZ2h0XCIpLCAyMCUpO1xuICAgICAgICBjb2xvcjogZGFya2VuKGNvbG9yKFwiZ3JheVwiKSwgMjAlKTtcbiAgICB9XG59XG4iLCIuY2hvaWNlSW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAvLyAmX2NpcmNsZSB7fVxuXG4gICAgLy8gJl9iaWcge31cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmX19pbnB1dCtsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCtsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoXCJncmF5LWxpZ2h0XCIpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9jaXJjbGUgJl9faW5wdXQrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9iaWcgJl9faW5wdXQrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yKFwiZ3JheS1saWdodFwiKTtcbiAgICB9XG5cbiAgICAmX2JpZyAmX19pbnB1dCtsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzZGMjkwQztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgIHRvcDogN3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2lucHV0OmhvdmVyK2xhYmVsLCAmX19pbnB1dDpob3ZlcitsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICZfYmlnICZfX2lucHV0OmNoZWNrZWQrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX2lucHV0OmNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImdvbGRcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICB0b3A6IDZweDtcbiAgICB9XG5cbiAgICAmX2NpcmNsZSAmX19pbnB1dDpjaGVja2VkK2xhYmVsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9iaWcgJl9faW5wdXQ6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNkYyOTBDO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgIHRvcDogN3B4O1xuICAgIH1cblxuICAgICZfX2lucHV0OmNoZWNrZWQrbGFiZWwge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJnb2xkXCIpO1xuICAgIH1cblxuICAgICZfX2lucHV0OmRpc2FibGVkK2xhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNGM0YzRjM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQkZCRkI7XG4gICAgfVxuXG4gICAgJl9faW5wdXQ6ZGlzYWJsZWQrbGFiZWwge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJncmF5XCIpO1xuICAgIH1cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBTUFBLFlBQVk7QUFFWixBQUFBLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLFVBQVU7RUFDdEIscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLFlBQVksRUFBRSxLQUFLO0VBQ25CLDJCQUEyQixFQUFFLFdBQVcsR0FDM0M7O0FBQ0QsQUFBQSxXQUFXLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FVYjtFQWZELEFBT0ksV0FQTyxBQU9OLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBVEwsQUFXSSxXQVhPLEFBV04sU0FBUyxDQUFDO0lBQ1AsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUVMLEFBQUEsYUFBYSxDQUFDLFlBQVk7QUFDMUIsYUFBYSxDQUFDLFdBQVcsQ0FBQztFQUN0QixpQkFBaUIsRUFBRSxvQkFBb0I7RUFDdkMsY0FBYyxFQUFFLG9CQUFvQjtFQUNwQyxhQUFh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QyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUs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 */
