@charset "UTF-8";
/* ========================================================================
   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
 ========================================================================== */
/*
 * Remove the outline on focused links when they are also active or hovered
 */
a:active,
a:hover {
  outline: none;
}

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

a:hover,
.uk-link:hover,
.uk-link-toggle:hover .uk-link,
.uk-link-toggle:focus .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 */
  -webkit-text-decoration: underline dotted;
          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: 768px) {
  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;
  -o-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;
}

/* Selection pseudo-element
 ========================================================================== */
::-moz-selection {
  background: #39f;
  color: #fff;
  text-shadow: none;
}
::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: "320px";
}

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

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

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

:root {
  --uk-breakpoint-s: 320px;
  --uk-breakpoint-m: 768px;
  --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,
.uk-link-toggle:focus .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,
.uk-link-toggle:focus .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,
.uk-link-toggle:focus .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;
}

.uk-link-toggle:focus {
  outline: none;
}

/* ========================================================================
   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: 768px) {
  .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: "–  ";
}

/*
 * 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: 767px) {
  .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;
}

/* ========================================================================
   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,
.uk-icon-link:focus {
  color: #666;
  outline: none;
}

/* 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 + Focus */
.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #ebebeb;
  color: #666;
  outline: none;
}

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

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

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

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

/* ========================================================================
   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: 4px;
  padding-bottom: 4px;
  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::-moz-placeholder {
  color: #999;
}

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

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

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

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

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

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

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

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

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

.uk-form-large:not(textarea):not([multiple]):not([size]) {
  height: 55px;
  padding-left: 12px;
  padding-right: 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: dashed;
}

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

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

/* 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 {
  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: 767px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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;
}

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

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

/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  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 + Focus */
.uk-button-primary:hover,
.uk-button-primary:focus {
  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 + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  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 + Focus */
.uk-button-danger:hover,
.uk-button-danger:focus {
  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 + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #333;
}
.uk-button-text:hover::before,
.uk-button-text:focus::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: #1e87f0;
}

/* Hover + Focus */
.uk-button-link:hover,
.uk-button-link:focus {
  color: #0f6ecd;
  text-decoration: underline;
}

/* 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:focus,
.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;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

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

.uk-progress::-ms-fill {
  background-color: #1e87f0;
  -ms-transition: width 0.6s ease;
  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: 768px) {
  .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: 768px) {
  .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: 768px) {
  .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: 320px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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: 320px) {
  .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: 768px) {
  .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: 320px) {
  .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: 768px) {
  .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: 320px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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: 768px) {
  .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: 768px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-tile-default {
  background: #fff;
}

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

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

/*
 * Secondary
 */
.uk-tile-secondary {
  background: #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: 30px;
  padding-left: 10px;
  padding-right: 10px;
  /* 3 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 4 */
  display: flex;
  justify-content: center;
  align-items: center;
}

/*
 * 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: #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: #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: #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: #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 + Focus */
.uk-close:hover,
.uk-close:focus {
  color: #666;
  outline: none;
}

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

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

@keyframes uk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}
/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  transform-origin: center;
  -webkit-animation: uk-spinner-dash 1.4s ease-in-out infinite;
          animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round;
}

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

@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 + Focus */
.uk-totop:hover,
.uk-totop:focus {
  color: #666;
  outline: none;
}

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

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

/* Hover + Focus */
.uk-marker:hover,
.uk-marker:focus {
  color: #fff;
  outline: none;
}

/* ========================================================================
   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 + Focus
 */
.uk-alert-close:hover,
.uk-alert-close:focus {
  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: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 2 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/*
 * Required for `a`
 */
.uk-badge:hover,
.uk-badge:focus {
  color: #fff;
  text-decoration: none;
  outline: 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: 768px) {
  .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: 768px) {
  .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::-moz-placeholder {
  color: #999;
}

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

/* Icon (Adopts `uk-icon`)
 ========================================================================== */
/*
 * Remove default focus style
 */
.uk-search-icon:focus {
  outline: none;
}

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

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

/* Focus */
.uk-search-default .uk-search-input:focus {
  background-color: transparent;
}

/*
 * 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 + Focus */
.uk-search-toggle:hover,
.uk-search-toggle:focus {
  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 + Focus */
.uk-accordion-title:hover,
.uk-accordion-title:focus {
  color: #666;
  text-decoration: none;
  outline: 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 + Focus + Active */
.uk-dropdown-nav > li > a:hover,
.uk-dropdown-nav > li > a:focus,
.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 a:focus,
.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: 320px) {
  .uk-modal {
    padding: 50px 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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: 768px) {
  /* 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
 * 6. Suppress outline on focus
 */
.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;
}

/* 6 */
.uk-slideshow-items > :focus {
  outline: none;
}

/*
 * 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
 * 5. Suppress outline on focus
 */
.uk-slider-items > * {
  /* 1 */
  flex: none;
  max-width: 100%;
  /* 3 */
  position: relative;
  /* 4 */
  touch-action: pan-y;
}

/* 5 */
.uk-slider-items > :focus {
  outline: none;
}

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */
.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-] {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
}

.uk-sticky.uk-animation-reverse {
  -webkit-animation-duration: 0.2s;
          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: 768px) {
  .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: 768px) {
  .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: 768px) {
  .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: 768px) {
  :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: 319px) {
  .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: 320px) {
  .uk-countdown-number {
    font-size: 4rem;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-countdown-number {
    font-size: 6rem;
  }
}
/* Separator
 ========================================================================== */
.uk-countdown-separator {
  font-size: 1rem;
  line-height: 1.6;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-countdown-separator {
    font-size: 2rem;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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
 * 1. Prepare lists
 * 2. Prepare links
 * 3. Remove default focus style
 */
/* 1 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 2 */
.uk-nav li > a {
  display: block;
  text-decoration: none;
}

/* 3 */
.uk-nav li > a:focus {
  outline: 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;
  float: right;
  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-divider {
  margin: 5px 0;
}

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

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

/* Hover + Focus */
.uk-nav-default > li > a:hover,
.uk-nav-default > li > a:focus {
  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,
.uk-nav-default .uk-nav-sub a:focus {
  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 + Focus */
.uk-nav-primary > li > a:hover,
.uk-nav-primary > li > a:focus {
  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,
.uk-nav-primary .uk-nav-sub a:focus {
  color: #666;
}

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

/* Alignment modifier
 ========================================================================== */
.uk-nav-center {
  text-align: 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 {
  position: absolute;
}

/* ========================================================================
   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: -webkit-max-content;
  width: -moz-max-content;
  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: -webkit-max-content;
  width: -moz-max-content;
  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. Dimensions
 * 3. Style
 * 4. Required for `a`
 */
.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  /* 1 */
  display: flex;
  justify-content: center;
  align-items: center;
  /* 2 */
  box-sizing: border-box;
  min-height: 80px;
  padding: 0 15px;
  /* 3 */
  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";
  /* 4 */
  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 to focus state and if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li > a.uk-open {
  color: #666;
  outline: none;
}

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

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

.uk-navbar-toggle:hover,
.uk-navbar-toggle:focus,
.uk-navbar-toggle.uk-open {
  color: #666;
  outline: none;
  text-decoration: none;
}

/*
 * Icon
 * Adopts `uk-icon`
 */
/* Hover + Focus */
/* 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 + Focus */
.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus {
  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,
.uk-navbar-dropdown-nav .uk-nav-sub a:focus {
  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. Gutter
 * 3. Reset list
 */
.uk-subnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 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-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. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover + Focus */
.uk-subnav > * > a:hover,
.uk-subnav > * > a:focus {
  color: #666;
  text-decoration: none;
  outline: 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 + Focus */
.uk-subnav-pill > * > a:hover,
.uk-subnav-pill > * > a:focus {
  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 + Focus */
.uk-breadcrumb > * > :hover,
.uk-breadcrumb > * > :focus {
  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 + Focus */
.uk-pagination > * > :hover,
.uk-pagination > * > :focus {
  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 text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  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 + Focus */
.uk-tab > * > a:hover,
.uk-tab > * > a:focus {
  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 {
  text-align: left;
  border-right: 1px solid transparent;
  border-bottom: none;
}

.uk-tab-right > * > a {
  text-align: 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 + Focus */
.uk-slidenav:hover,
.uk-slidenav:focus {
  color: rgba(102, 102, 102, 0.9);
  outline: none;
}

/* 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 + Focus */
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
  background-color: rgba(102, 102, 102, 0.6);
  outline: none;
  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 + Focus */
.uk-thumbnav > * > :hover,
.uk-thumbnav > * > :focus {
  outline: none;
}
.uk-thumbnav > * > :hover::after,
.uk-thumbnav > * > :focus::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. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-iconnav > * > a {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
}

/* Hover + Focus */
.uk-iconnav > * > a:hover,
.uk-iconnav > * > a:focus {
  color: #666;
  outline: none;
}

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

/* 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
 * 6. Suppress outline on focus
 */
.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;
}

/* 6 */
.uk-lightbox-items > :focus {
  outline: none;
}

.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 + Focus */
.uk-lightbox-button:hover,
.uk-lightbox-button:focus {
  color: #fff;
}

/* OnClick */
/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
  display: none;
}

/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%;
}

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*=uk-animation-] {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  -webkit-animation-name: uk-fade;
          animation-name: uk-fade;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

/*
 * Scale
 */
.uk-animation-scale-up {
  -webkit-animation-name: uk-fade-scale-02;
          animation-name: uk-fade-scale-02;
}

.uk-animation-scale-down {
  -webkit-animation-name: uk-fade-scale-18;
          animation-name: uk-fade-scale-18;
}

/*
 * Slide
 */
.uk-animation-slide-top {
  -webkit-animation-name: uk-fade-top;
          animation-name: uk-fade-top;
}

.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottom;
          animation-name: uk-fade-bottom;
}

.uk-animation-slide-left {
  -webkit-animation-name: uk-fade-left;
          animation-name: uk-fade-left;
}

.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-right;
          animation-name: uk-fade-right;
}

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  -webkit-animation-name: uk-fade-top-small;
          animation-name: uk-fade-top-small;
}

.uk-animation-slide-bottom-small {
  -webkit-animation-name: uk-fade-bottom-small;
          animation-name: uk-fade-bottom-small;
}

.uk-animation-slide-left-small {
  -webkit-animation-name: uk-fade-left-small;
          animation-name: uk-fade-left-small;
}

.uk-animation-slide-right-small {
  -webkit-animation-name: uk-fade-right-small;
          animation-name: uk-fade-right-small;
}

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  -webkit-animation-name: uk-fade-top-medium;
          animation-name: uk-fade-top-medium;
}

.uk-animation-slide-bottom-medium {
  -webkit-animation-name: uk-fade-bottom-medium;
          animation-name: uk-fade-bottom-medium;
}

.uk-animation-slide-left-medium {
  -webkit-animation-name: uk-fade-left-medium;
          animation-name: uk-fade-left-medium;
}

.uk-animation-slide-right-medium {
  -webkit-animation-name: uk-fade-right-medium;
          animation-name: uk-fade-right-medium;
}

/*
 * Kenburns
 */
.uk-animation-kenburns {
  -webkit-animation-name: uk-scale-kenburns;
          animation-name: uk-scale-kenburns;
  -webkit-animation-duration: 15s;
          animation-duration: 15s;
}

/*
 * Shake
 */
.uk-animation-shake {
  -webkit-animation-name: uk-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 {
  -webkit-animation-name: uk-stroke;
          animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
}

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
}

/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*=uk-animation-] {
  -webkit-animation-name: none;
          animation-name: none;
}

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
  outline: none;
}

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@-webkit-keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
 * Slide Top
 */
@-webkit-keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom
 */
@-webkit-keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left
 */
@-webkit-keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right
 */
@-webkit-keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Small
 */
@-webkit-keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Small
 */
@-webkit-keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Small
 */
@-webkit-keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Small
 */
@-webkit-keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Medium
 */
@-webkit-keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Medium
 */
@-webkit-keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Medium
 */
@-webkit-keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Medium
 */
@-webkit-keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Scale Up
 */
@-webkit-keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Scale Down
 */
@-webkit-keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Kenburns
 */
@-webkit-keyframes uk-scale-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes uk-scale-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
/*
 * Shake
 */
@-webkit-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);
  }
}
@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
 */
@-webkit-keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@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: 320px) {
  .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: 768px) {
  .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: 320px) {
  /* 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: 768px) {
  /* 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;
}

/* 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: 320px) {
  .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: 768px) {
  .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-] {
  -moz-column-gap: 30px;
       column-gap: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*=uk-column-] {
    -moz-column-gap: 40px;
         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 {
  -moz-column-rule: 1px solid #e5e5e5;
       column-rule: 1px solid #e5e5e5;
  /* 1 */
  -moz-column-gap: 60px;
       column-gap: 60px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    -moz-column-gap: 80px;
         column-gap: 80px;
  }
}
/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  -moz-column-count: 2;
       column-count: 2;
}

.uk-column-1-3 {
  -moz-column-count: 3;
       column-count: 3;
}

.uk-column-1-4 {
  -moz-column-count: 4;
       column-count: 4;
}

.uk-column-1-5 {
  -moz-column-count: 5;
       column-count: 5;
}

.uk-column-1-6 {
  -moz-column-count: 6;
       column-count: 6;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-column-1-2\@s {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@s {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@s {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@s {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@s {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-column-1-2\@m {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@m {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@m {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@m {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@m {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@l {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@l {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@l {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@l {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    -moz-column-count: 2;
         column-count: 2;
  }

  .uk-column-1-3\@xl {
    -moz-column-count: 3;
         column-count: 3;
  }

  .uk-column-1-4\@xl {
    -moz-column-count: 4;
         column-count: 4;
  }

  .uk-column-1-5\@xl {
    -moz-column-count: 5;
         column-count: 5;
  }

  .uk-column-1-6\@xl {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  -moz-column-span: all;
       column-span: all;
}

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. 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 {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

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 */
  -webkit-backface-visibility: hidden;
          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: 319px) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 767px) {
  .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: 320px) {
  .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: 768px) {
  .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 hardware acceleration 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. Blur doesn't work on pseudo elements with negative `z-index` in Edge.
 *    Solved by using `before` and add position context to child elements.
 */
@supports (filter: blur(0)) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    max-width: 100%;
    vertical-align: middle;
  }

  .uk-box-shadow-bottom::before {
    content: "";
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    filter: blur(20px);
  }

  /* 3 */
  .uk-box-shadow-bottom > * {
    position: relative;
  }
}
/* 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: #666;
  /* 1 */
  text-decoration: none;
}

/* Hover + Focus */
.uk-logo:hover,
.uk-logo:focus {
  color: #666;
  outline: none;
  /* 1 */
  text-decoration: none;
}

.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: 320px) {
  .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: 768px) {
  .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: 320px) {
  .uk-flex-first\@s {
    order: -1;
  }

  .uk-flex-last\@s {
    order: 99;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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: 320px) {
  .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: 768px) {
  .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: 320px) {
  .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: 768px) {
  .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: 30px;
}

/* 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
 ========================================================================== */
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow if `max-width: 100%` is used inside position container.
 */
[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: 100%;
}

/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is 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.
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}

/* Vertical */
[class*=uk-position-center-left],
[class*=uk-position-center-right] {
  top: 50%;
  transform: translateY(-50%);
}

.uk-position-center-left {
  left: 0;
}

.uk-position-center-right {
  right: 0;
}

.uk-position-center-left-out {
  right: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.uk-position-center-right-out {
  left: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  transform: translateX(-50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}

.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;
}

/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important;
}

.uk-position-absolute {
  position: absolute !important;
}

.uk-position-fixed {
  position: fixed !important;
}

.uk-position-z-index {
  z-index: 1;
}

/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  max-width: calc(100% - (15px * 2));
  margin: 15px;
}

.uk-position-small.uk-position-center {
  transform: translate(-50%, -50%) translate(-15px, -15px);
}

.uk-position-small[class*=uk-position-center-left],
.uk-position-small[class*=uk-position-center-right] {
  transform: translateY(-50%) translateY(-15px);
}

.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-15px);
}

/*
 * Medium
 */
.uk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}

.uk-position-medium.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.uk-position-medium[class*=uk-position-center-left],
.uk-position-medium[class*=uk-position-center-right] {
  transform: translateY(-50%) translateY(-30px);
}

.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

/*
 * Large
 */
.uk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}

.uk-position-large.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.uk-position-large[class*=uk-position-center-left],
.uk-position-large[class*=uk-position-center-right] {
  transform: translateY(-50%) translateY(-30px);
}

.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px;
  }

  .uk-position-large.uk-position-center {
    transform: translate(-50%, -50%) translate(-50px, -50px);
  }

  .uk-position-large[class*=uk-position-center-left],
.uk-position-large[class*=uk-position-center-right] {
    transform: translateY(-50%) translateY(-50px);
  }

  .uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
    transform: translateX(-50%) translateX(-50px);
  }
}
/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-transition-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-transition-toggle:focus {
  outline: none;
}

/* 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)
 *
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
 *       therefore it's recommended to use an extra `div` for the transition.
 */
.uk-transition-fade,
[class*=uk-transition-scale],
[class*=uk-transition-slide] {
  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-active.uk-active .uk-transition-fade {
  opacity: 1;
}

/*
 * Scale
 */
.uk-transition-scale-up {
  transform: scale(1, 1);
}

.uk-transition-scale-down {
  transform: scale(1.03, 1.03);
}

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  transform: scale(1.03, 1.03);
}

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  transform: scale(1, 1);
}

/*
 * Slide
 */
.uk-transition-slide-top {
  transform: translateY(-100%);
}

.uk-transition-slide-bottom {
  transform: translateY(100%);
}

.uk-transition-slide-left {
  transform: translateX(-100%);
}

.uk-transition-slide-right {
  transform: translateX(100%);
}

.uk-transition-slide-top-small {
  transform: translateY(-10px);
}

.uk-transition-slide-bottom-small {
  transform: translateY(10px);
}

.uk-transition-slide-left-small {
  transform: translateX(-10px);
}

.uk-transition-slide-right-small {
  transform: translateX(10px);
}

.uk-transition-slide-top-medium {
  transform: translateY(-50px);
}

.uk-transition-slide-bottom-medium {
  transform: translateY(50px);
}

.uk-transition-slide-left-medium {
  transform: translateX(-50px);
}

.uk-transition-slide-right-medium {
  transform: translateX(50px);
}

/* Show */
.uk-transition-toggle:hover [class*=uk-transition-slide],
.uk-transition-toggle:focus [class*=uk-transition-slide],
.uk-transition-active.uk-active [class*=uk-transition-slide] {
  opacity: 1;
  transform: translate(0, 0);
}

/* 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: 320px) {
  .uk-hidden\@s {
    display: none !important;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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: 319px) {
  .uk-visible\@s {
    display: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 767px) {
  .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;
}

/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * Hidden
 * 1. The toggle is triggered on touch devices using `:focus` and tabindex
 * 2. The target stays visible if any element within receives focus through keyboard
 *    Doesn't work in Edge, yet.
 * 3. Can't use `display: none` nor `visibility: hidden` because both are not focusable.
 *
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  /* 3 */
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/*
 * Invisible
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
  /* 3 */
  opacity: 0 !important;
}

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-visible-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-visible-toggle:focus {
  outline: none;
}

/* Touch
 ========================================================================== */
/*
 * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
 * Works on mobile browsers: Safari, Chrome and Android browser
 */
@media (pointer: coarse) {
  .uk-hidden-touch {
    display: none !important;
  }
}
/*
 * Hide if primary pointing device is accurate, e.g. mouse.
 * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
 * 2. Reset if supported
 */
/* 1 */
.uk-hidden-notouch {
  display: none !important;
}

@media (pointer: coarse) {
  .uk-hidden-notouch {
    display: block !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,
.uk-light .uk-link-toggle:focus .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link,
.uk-overlay-primary .uk-link-toggle:focus .uk-link,
.uk-offcanvas-bar .uk-link-toggle:focus .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 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,
.uk-light .uk-link-toggle:focus .uk-link-muted,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-muted,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-muted,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-muted,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-muted,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-muted,
.uk-overlay-primary .uk-link-toggle:focus .uk-link-muted,
.uk-offcanvas-bar .uk-link-toggle:focus .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,
.uk-light .uk-link-toggle:focus .uk-link-text,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-text,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-text,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-text,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-text,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-text,
.uk-overlay-primary .uk-link-toggle:focus .uk-link-text,
.uk-offcanvas-bar .uk-link-toggle:focus .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,
.uk-light .uk-link-toggle:focus .uk-link-heading,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:focus .uk-link-heading,
.uk-card-primary.uk-card-body .uk-link-toggle:focus .uk-link-heading,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-heading,
.uk-card-secondary.uk-card-body .uk-link-toggle:focus .uk-link-heading,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:focus .uk-link-heading,
.uk-overlay-primary .uk-link-toggle:focus .uk-link-heading,
.uk-offcanvas-bar .uk-link-toggle:focus .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,
.uk-light .uk-icon-link:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-card-primary.uk-card-body .uk-icon-link:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-icon-link:focus,
.uk-card-secondary.uk-card-body .uk-icon-link:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-link:focus,
.uk-overlay-primary .uk-icon-link:focus,
.uk-offcanvas-bar .uk-icon-link:focus {
  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,
.uk-light .uk-icon-button:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-card-primary.uk-card-body .uk-icon-button:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-icon-button:focus,
.uk-card-secondary.uk-card-body .uk-icon-button:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-icon-button:focus,
.uk-overlay-primary .uk-icon-button:focus,
.uk-offcanvas-bar .uk-icon-button:focus {
  background-color: rgba(242, 242, 242, 0.1);
  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: rgba(230, 230, 230, 0.1);
  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: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-input::-moz-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-input::-moz-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-input::-moz-placeholder, .uk-overlay-primary .uk-input::-moz-placeholder, .uk-offcanvas-bar .uk-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.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);
}
.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::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-textarea::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-textarea::-moz-placeholder, .uk-overlay-primary .uk-textarea::-moz-placeholder, .uk-offcanvas-bar .uk-textarea::-moz-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);
}
.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(242, 242, 242, 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 {
  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: #e6e6e6;
}
.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,
.uk-light .uk-button-default:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-card-primary.uk-card-body .uk-button-default:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-default:focus,
.uk-card-secondary.uk-card-body .uk-button-default:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-default:focus,
.uk-overlay-primary .uk-button-default:focus,
.uk-offcanvas-bar .uk-button-default:focus {
  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,
.uk-light .uk-button-primary:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-card-primary.uk-card-body .uk-button-primary:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-primary:focus,
.uk-card-secondary.uk-card-body .uk-button-primary:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-primary:focus,
.uk-overlay-primary .uk-button-primary:focus,
.uk-offcanvas-bar .uk-button-primary:focus {
  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,
.uk-light .uk-button-secondary:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-card-primary.uk-card-body .uk-button-secondary:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-secondary:focus,
.uk-card-secondary.uk-card-body .uk-button-secondary:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-secondary:focus,
.uk-overlay-primary .uk-button-secondary:focus,
.uk-offcanvas-bar .uk-button-secondary:focus {
  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,
.uk-light .uk-button-text:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-card-primary.uk-card-body .uk-button-text:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-text:focus,
.uk-card-secondary.uk-card-body .uk-button-text:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-text:focus,
.uk-overlay-primary .uk-button-text:focus,
.uk-offcanvas-bar .uk-button-text:focus {
  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: rgba(255, 255, 255, 0.5);
}
.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,
.uk-light .uk-button-link:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-card-primary.uk-card-body .uk-button-link:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-button-link:focus,
.uk-card-secondary.uk-card-body .uk-button-link:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-button-link:focus,
.uk-overlay-primary .uk-button-link:focus,
.uk-offcanvas-bar .uk-button-link:focus {
  color: rgba(255, 255, 255, 0.7);
}
.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,
.uk-light .uk-close:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-close:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-close:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-close:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-close:focus,
.uk-card-primary.uk-card-body .uk-close:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-close:focus,
.uk-card-secondary.uk-card-body .uk-close:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-close:focus,
.uk-overlay-primary .uk-close:focus,
.uk-offcanvas-bar .uk-close:focus {
  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,
.uk-light .uk-totop:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-totop:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-totop:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-totop:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-totop:focus,
.uk-card-primary.uk-card-body .uk-totop:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-totop:focus,
.uk-card-secondary.uk-card-body .uk-totop:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-totop:focus,
.uk-overlay-primary .uk-totop:focus,
.uk-offcanvas-bar .uk-totop:focus {
  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;
}
.uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-badge:hover, .uk-overlay-primary .uk-badge:hover, .uk-offcanvas-bar .uk-badge:hover,
.uk-light .uk-badge:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-badge:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-badge:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-badge:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-badge:focus,
.uk-card-primary.uk-card-body .uk-badge:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-badge:focus,
.uk-card-secondary.uk-card-body .uk-badge:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-badge:focus,
.uk-overlay-primary .uk-badge:focus,
.uk-offcanvas-bar .uk-badge:focus {
  color: #666;
}
.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::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-input::-moz-placeholder, .uk-overlay-primary .uk-search-input::-moz-placeholder, .uk-offcanvas-bar .uk-search-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.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: transparent;
}
.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,
.uk-light .uk-search-toggle:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-card-primary.uk-card-body .uk-search-toggle:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-search-toggle:focus,
.uk-card-secondary.uk-card-body .uk-search-toggle:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-search-toggle:focus,
.uk-overlay-primary .uk-search-toggle:focus,
.uk-offcanvas-bar .uk-search-toggle:focus {
  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,
.uk-light .uk-nav-default > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-card-primary.uk-card-body .uk-nav-default > li > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default > li > a:focus,
.uk-card-secondary.uk-card-body .uk-nav-default > li > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default > li > a:focus,
.uk-overlay-primary .uk-nav-default > li > a:focus,
.uk-offcanvas-bar .uk-nav-default > li > a:focus {
  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,
.uk-light .uk-nav-default .uk-nav-sub a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:focus,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:focus,
.uk-overlay-primary .uk-nav-default .uk-nav-sub a:focus,
.uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:focus {
  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,
.uk-light .uk-nav-primary > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-card-primary.uk-card-body .uk-nav-primary > li > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary > li > a:focus,
.uk-card-secondary.uk-card-body .uk-nav-primary > li > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary > li > a:focus,
.uk-overlay-primary .uk-nav-primary > li > a:focus,
.uk-offcanvas-bar .uk-nav-primary > li > a:focus {
  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,
.uk-light .uk-nav-primary .uk-nav-sub a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:focus,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub a:focus,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:focus {
  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-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:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a:focus,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a:focus,
.uk-overlay-primary .uk-navbar-nav > li > a:focus,
.uk-offcanvas-bar .uk-navbar-nav > li > a:focus,
.uk-light .uk-navbar-nav > li > a.uk-open,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a.uk-open,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a.uk-open,
.uk-overlay-primary .uk-navbar-nav > li > a.uk-open,
.uk-offcanvas-bar .uk-navbar-nav > li > a.uk-open {
  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:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-card-primary.uk-card-body .uk-navbar-toggle:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-toggle:focus,
.uk-card-secondary.uk-card-body .uk-navbar-toggle:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-toggle:focus,
.uk-overlay-primary .uk-navbar-toggle:focus,
.uk-offcanvas-bar .uk-navbar-toggle:focus,
.uk-light .uk-navbar-toggle.uk-open,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-card-primary.uk-card-body .uk-navbar-toggle.uk-open,
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-toggle.uk-open,
.uk-card-secondary.uk-card-body .uk-navbar-toggle.uk-open,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-toggle.uk-open,
.uk-overlay-primary .uk-navbar-toggle.uk-open,
.uk-offcanvas-bar .uk-navbar-toggle.uk-open {
  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,
.uk-light .uk-subnav > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-card-primary.uk-card-body .uk-subnav > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-subnav > * > a:focus,
.uk-card-secondary.uk-card-body .uk-subnav > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav > * > a:focus,
.uk-overlay-primary .uk-subnav > * > a:focus,
.uk-offcanvas-bar .uk-subnav > * > a:focus {
  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,
.uk-light .uk-subnav-pill > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-card-primary.uk-card-body .uk-subnav-pill > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:focus,
.uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-subnav-pill > * > a:focus,
.uk-overlay-primary .uk-subnav-pill > * > a:focus,
.uk-offcanvas-bar .uk-subnav-pill > * > a:focus {
  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,
.uk-light .uk-breadcrumb > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-card-primary.uk-card-body .uk-breadcrumb > * > :focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-breadcrumb > * > :focus,
.uk-card-secondary.uk-card-body .uk-breadcrumb > * > :focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-breadcrumb > * > :focus,
.uk-overlay-primary .uk-breadcrumb > * > :focus,
.uk-offcanvas-bar .uk-breadcrumb > * > :focus {
  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,
.uk-light .uk-pagination > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-card-primary.uk-card-body .uk-pagination > * > :focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-pagination > * > :focus,
.uk-card-secondary.uk-card-body .uk-pagination > * > :focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-pagination > * > :focus,
.uk-overlay-primary .uk-pagination > * > :focus,
.uk-offcanvas-bar .uk-pagination > * > :focus {
  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,
.uk-light .uk-tab > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-card-primary.uk-card-body .uk-tab > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-tab > * > a:focus,
.uk-card-secondary.uk-card-body .uk-tab > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-tab > * > a:focus,
.uk-overlay-primary .uk-tab > * > a:focus,
.uk-offcanvas-bar .uk-tab > * > a:focus {
  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,
.uk-light .uk-slidenav:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-card-primary.uk-card-body .uk-slidenav:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-slidenav:focus,
.uk-card-secondary.uk-card-body .uk-slidenav:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-slidenav:focus,
.uk-overlay-primary .uk-slidenav:focus,
.uk-offcanvas-bar .uk-slidenav:focus {
  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,
.uk-light .uk-dotnav > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-card-primary.uk-card-body .uk-dotnav > * > :focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-dotnav > * > :focus,
.uk-card-secondary.uk-card-body .uk-dotnav > * > :focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-dotnav > * > :focus,
.uk-overlay-primary .uk-dotnav > * > :focus,
.uk-offcanvas-bar .uk-dotnav > * > :focus {
  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,
.uk-light .uk-iconnav > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-card-primary.uk-card-body .uk-iconnav > * > a:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-iconnav > * > a:focus,
.uk-card-secondary.uk-card-body .uk-iconnav > * > a:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-iconnav > * > a:focus,
.uk-overlay-primary .uk-iconnav > * > a:focus,
.uk-offcanvas-bar .uk-iconnav > * > a:focus {
  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 {
  -moz-column-rule-color: rgba(255, 255, 255, 0.2);
       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: rgba(255, 255, 255, 0.7);
}
.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,
.uk-light .uk-logo:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-logo:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-logo:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-logo:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-logo:focus,
.uk-card-primary.uk-card-body .uk-logo:focus,
.uk-card-primary > :not([class*=uk-card-media]) .uk-logo:focus,
.uk-card-secondary.uk-card-body .uk-logo:focus,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-logo:focus,
.uk-overlay-primary .uk-logo:focus,
.uk-offcanvas-bar .uk-logo:focus {
  color: rgba(255, 255, 255, 0.7);
}
.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: inline;
}

/* ========================================================================
   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;
  }
}
.container {
  max-width: 1250px;
  padding: 0 40px;
  box-sizing: border-box;
  margin: 0 auto;
}

.large-container {
  max-width: 1390px;
  padding: 0 40px;
  box-sizing: border-box;
  margin: 0 auto;
}

html,
body {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 26px;
  font-weight: 300;
  color: #2D2C31;
}

h1.mega, h2.mega {
  font-family: "Poppins", sans-serif;
  font-size: 48px;
  line-height: 65px;
  margin-bottom: 0;
  font-weight: 600;
  letter-spacing: -0.5px;
}
@media only screen and (max-width: 1440px) {
  h1.mega, h2.mega {
    font-size: 50px;
    line-height: 65px;
  }
}
@media only screen and (max-width: 1100px) {
  h1.mega, h2.mega {
    font-size: 42px;
    line-height: 58px;
  }
}
@media only screen and (max-width: 1023px) {
  h1.mega, h2.mega {
    font-size: 32px;
    line-height: 48px;
  }
}

.component-quote blockquote, h2.custom, h1 {
  font-family: "Poppins", sans-serif;
  font-size: 42px;
  line-height: 60px;
  font-weight: 600;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
  margin-top: 0;
}
@media only screen and (max-width: 1100px) {
  .component-quote blockquote, h2.custom, h1 {
    font-size: 32px;
    line-height: 48px;
  }
}
@media only screen and (max-width: 767px) {
  .component-quote blockquote, h2.custom, h1 {
    font-size: 24px;
    line-height: 30px;
  }
}

h2 {
  font-family: "Poppins", sans-serif;
  font-size: 32px;
  line-height: 44px;
  font-weight: 600;
  margin-top: 0;
  letter-spacing: -0.5px;
}
@media only screen and (max-width: 1100px) {
  h2 {
    font-size: 28px;
    line-height: 36px;
  }
}
@media only screen and (max-width: 767px) {
  h2 {
    font-size: 22px;
    line-height: 28px;
  }
}

.vragen-component .vraag-header, h3 {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  line-height: 25px;
  font-weight: 600;
  margin-bottom: 0;
}

h4, h1.custom {
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  line-height: 22px;
  text-transform: uppercase;
  letter-spacing: 2.8px;
  font-weight: 600;
  color: #22B2E7;
}

* [transition] {
  cursor: pointer;
}

html,
body {
  color: #2D2C31;
}

html.menu-open {
  overflow: hidden;
}

body {
  overflow: overlay;
}

.page-wrapper {
  overflow: hidden;
}

h1 {
  color: #2D2C31;
}

h1.mega, h2.mega {
  color: #FFFFFF;
}

h1.custom {
  color: #2D2C31;
}

h2 {
  color: #2D2C31;
}

h2.custom {
  color: #2D2C31;
}

h3 {
  color: #2D2C31;
}

main.content {
  overflow: hidden;
}

em {
  color: #2D2C31;
}

a, a:hover {
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  color: #22B2E7;
}

strong {
  font-weight: 700;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  display: none;
}

::-webkit-scrollbar-thumb {
  background: #2D2C31;
  width: 9px;
  cursor: pointer;
}

::-webkit-scrollbar-thumb:hover {
  background: #22B2E7;
}

header {
  position: relative;
  z-index: 10001;
}

header ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
header ul li {
  display: inline-block;
}

header .top-menu-holder {
  background-color: #22B2E7;
  text-align: right;
  padding: 12px 0;
  font-size: 12px;
  line-height: 17px;
  position: relative;
  z-index: 100;
}
header .top-menu-holder a {
  color: #FFFFFF;
}
header .top-menu-holder li {
  position: relative;
}
header .top-menu-holder li .vacature-count {
  display: inline-block;
  background-color: #22B2E7;
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 10px;
  width: 15px;
  height: 15px;
  position: relative;
  transform: translateY(-3px);
}
header .top-menu-holder li .vacature-count span {
  position: absolute;
  top: 49%;
  left: 47%;
  transform: translate(-50%, -50%);
}
header .top-menu-holder li:not(:last-child) {
  margin-right: 25px;
}
header .top-menu-holder li.external {
  font-weight: 600;
  padding-right: 12px;
  position: relative;
}
header .top-menu-holder li.external::before {
  content: "";
  background-image: url("/assets/images/white-arrow-right.svg");
  background-size: cover;
  position: absolute;
  right: 0;
  top: 4px;
  width: 5px;
  height: 9px;
  z-index: 1;
}

header .header-container {
  padding: 0 40px;
  max-width: 1850px;
  margin: 0 auto;
  box-sizing: border-box;
}

header .header-container .logo-holder img {
  width: 440px;
  height: 70px;
  transform: translateY(-3px);
}
header .header-container .logo-holder img.custom-logo {
  width: 100%;
  height: 56px;
}

header .menu-bar .header-container {
  display: flex;
  justify-content: space-between;
}

header .menu-bar {
  padding: 20px 0 0;
  position: relative;
  z-index: 6;
  background-color: #FFFFFF;
}
header .menu-bar .header-container::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #FFFFFF;
  width: 100%;
  height: 100%;
  z-index: -1;
}
header .menu-bar.uk-active {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

header .menu-bar .menu-holder {
  max-width: calc(100% - 200px);
  margin-top: 15px;
}

header .menu-bar .menu {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  padding-left: 20px;
}
header .menu-bar .menu li {
  position: relative;
  padding-bottom: 40px;
}
header .menu-bar .menu li:not(:last-child) {
  margin-right: 30px;
}
header .menu-bar .menu li.has-sub {
  position: static;
}
header .menu-bar .menu li.has-sub::before {
  display: none;
}
header .menu-bar .menu li.has-sub .arrow {
  position: relative;
  padding-left: 15px;
}
header .menu-bar .menu li.has-sub .arrow::before {
  content: "";
  background-image: url("/assets/images/arrow-down-black.svg");
  background-size: 100%;
  width: 12px;
  height: 7px;
  position: absolute;
  right: 0;
  top: 7px;
  transition: all 0.4s ease;
}
header .menu-bar .menu li.has-sub > a {
  position: relative;
}
header .menu-bar .menu li.has-sub > a::before {
  content: "";
  width: calc(100% + 30px);
  position: absolute;
  left: -10px;
  bottom: -50px;
  background-color: #22B2E7;
  height: 6px;
  transition: all 0.3s ease;
}
header .menu-bar .menu li.has-sub:hover .arrow::before {
  transform: rotate(180deg);
}
header .menu-bar .menu li.has-sub:hover a::before {
  bottom: -44px;
}
header .menu-bar .menu li a {
  color: #2D2C31;
}

header .menu-bar .menu > ul > li::before {
  content: "";
  width: calc(100% + 20px);
  position: absolute;
  left: -10px;
  bottom: -6px;
  background-color: #22B2E7;
  height: 6px;
  transition: all 0.3s ease;
}
header .menu-bar .menu > ul > li:hover::before {
  bottom: 0;
}

header .menu-bar .menu-right {
  display: inline-block;
  margin-left: 60px;
}

header .menu-right .language-selector {
  display: inline-block;
  position: relative;
  vertical-align: top;
  text-transform: uppercase;
}
header .menu-right .language-selector:hover .current {
  padding-bottom: 5px;
}

header .menu-right .language-selector img {
  margin-right: 10px;
  max-width: 18px;
  vertical-align: middle;
}

header .menu-right .language-selector .current {
  position: relative;
  padding-right: 15px;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
}
header .menu-right .language-selector .current::before {
  content: "";
  background-image: url("/assets/images/arrow-down-black.svg");
  background-size: 100%;
  width: 9px;
  height: 5px;
  position: absolute;
  right: 0;
  top: 11px;
  transition: all 0.4s ease;
}

header .menu-right .language-selector ul {
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
  padding: 4px 8px;
  width: calc(100% - 8px);
  margin-left: -8px;
  opacity: 0;
  background-color: #F5F6F8;
  position: absolute;
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
}
header .menu-right .language-selector ul li {
  display: block;
}
header .menu-right .language-selector ul a {
  color: #2D2C31;
}

header .menu-right .language-selector:hover .current::before {
  transform: rotate(180deg);
}
header .menu-right .language-selector:hover ul {
  max-height: 50px;
  opacity: 1;
}

header .menu-right .search-holder {
  display: inline-block;
  margin-left: 10px;
  padding-left: 10px;
  position: relative;
  border-left: 1px solid #E0E0E0;
}
header .menu-right .search-holder img {
  margin-top: -2px;
}

header .menu-cta {
  max-width: 300px;
  margin: 0 0 0 auto;
}
header .menu-cta .text-holder {
  position: relative;
  padding-bottom: 40px;
  z-index: 5;
  color: #B1B8C7;
  padding-top: 30px;
}
header .menu-cta .text-holder::before {
  content: "";
  background-color: #2D2C31;
  width: calc(100% + 100px);
  left: -50px;
  height: 100%;
  position: absolute;
  bottom: 0;
  z-index: -1;
}
header .menu-cta .text-holder h3 {
  color: #FFFFFF;
  margin-bottom: 10px;
}
header .menu-cta .text-holder .button {
  margin-top: 15px;
  color: #FFFFFF;
}
header .menu-cta .image-holder {
  position: relative;
}
header .menu-cta .image-holder::before {
  content: "";
  background-color: #2D2C31;
  width: calc(100% + 100px);
  left: -50px;
  height: 50%;
  position: absolute;
  bottom: 0;
  z-index: -1;
}

header .mobile-menu {
  display: none;
}

header .nav-toggle-holder {
  display: none;
  vertical-align: middle;
  margin-left: 20px;
}

header .nav-toggle {
  width: 22px;
  height: 18px;
  position: relative;
  cursor: pointer;
}

header .nav-toggle .line {
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0px;
  background-color: #2D2C31;
}

header .nav-toggle .line.line-top {
  top: 0;
  transition: all 0.5s;
}

header .nav-toggle .line.line-middle {
  top: calc(50% - 1px);
  transition: all 0.5s;
}

header .nav-toggle .line.line-bottom {
  bottom: 0;
  transition: all 0.5s;
}

.desktop-menu-backdrop {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.75;
  z-index: 10000;
  top: 0;
}
.desktop-menu-backdrop.hide {
  display: none;
}

.site-selection-menu {
  color: #FFFFFF;
  padding-left: 20px;
  position: relative;
}
.site-selection-menu::before {
  content: "";
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
}
.site-selection-menu > div {
  position: relative;
  padding-right: 12px;
  font-weight: 600;
}
.site-selection-menu > div::before {
  content: "";
  background-image: url("/assets/images/white-arrow-right.svg");
  background-size: cover;
  position: absolute;
  right: 0;
  top: 4px;
  width: 5px;
  height: 9px;
  z-index: 1;
  transform: rotate(90deg);
  transition: all 0.4s;
}
.site-selection-menu .site-menu {
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  transition: all 0.4s;
  opacity: 0;
  visibility: hidden;
  padding-top: 12px;
}
.site-selection-menu .site-menu li {
  display: block;
}
.site-selection-menu .site-menu li:not(:last-child) {
  margin-right: 0;
}
.site-selection-menu .site-menu li a {
  color: #2D2C31;
  background-color: #FFFFFF;
  padding: 8px 15px;
  display: block;
  font-size: 14px;
  line-height: 26px;
  font-weight: 300;
}
.site-selection-menu .site-menu li a:hover {
  background-color: #F5F6F8;
}
.site-selection-menu .site-menu > ul {
  background-color: #FFFFFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.site-selection-menu:hover > div::before {
  transform: rotate(-90deg);
}
.site-selection-menu:hover .site-menu {
  opacity: 1;
  visibility: visible;
}

header .menu-bar .has-sub a::before {
  display: none;
}
header .menu-bar .small-submenu-holder {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  background-color: #FFFFFF;
  transition: all 0.4s;
  transform: translateX(-25px);
  top: 100%;
}
header .menu-bar .small-submenu-holder::before {
  content: "";
  width: calc(100% - 30px);
  position: absolute;
  left: 15px;
  top: -6px;
  background-color: #22B2E7;
  height: 6px;
}
header .menu-bar .small-submenu-holder .small-submenu li {
  display: block;
  padding-bottom: 0;
  margin-right: 0;
}
header .menu-bar .small-submenu-holder .small-submenu li a {
  display: block;
  padding: 10px 25px;
  transition: all 0.4s;
}
header .menu-bar .small-submenu-holder .small-submenu li a:hover {
  background-color: #F5F6F8;
}

.has-sub:hover .small-submenu-holder {
  opacity: 1;
  visibility: visible;
}

.fake-link {
  font-size: 18px;
  line-height: 30px;
  font-weight: 500;
  color: #2D2C31;
}

.gtranslate_wrapper {
  display: inline-block;
}
.gtranslate_wrapper a {
  color: #2D2C31;
}
.gtranslate_wrapper a span {
  font-size: 12px !important;
}
.gtranslate_wrapper a:not(.gt-current-lang) {
  opacity: 0.6;
}
.gtranslate_wrapper a:not(.gt-current-lang):hover {
  opacity: 1;
}

@media only screen and (max-width: 1440px) {
  header .header-container .logo-holder img {
    width: 320px;
  }
}
@media only screen and (max-width: 1440px) {
  header .has-sub .submenu-holder {
    padding: 50px 0 60px;
  }
}
@media only screen and (max-width: 1360px) {
  header .menu-bar .menu li:not(:last-child) {
    margin-right: 20px;
  }

  header .menu-bar .menu-right {
    display: inline-block;
    margin-left: 40px;
  }

  header .logo-holder img {
    max-width: 300px;
  }

  header .header-container .logo-holder img.custom-logo {
    height: 43px;
  }

  header .menu-cta .text-holder::before, header .menu-cta .image-holder::before {
    width: calc(100% + 50px);
    left: -25px;
  }

  header .has-sub .submenu-holder {
    padding: 65px 0 70px;
  }
}
@media only screen and (max-width: 1200px) {
  header .menu-bar {
    padding: 20px 0;
  }

  header .menu-bar .menu-holder {
    margin-top: 8px;
  }

  header .logo-holder img {
    margin-top: 0px;
  }

  header .menu-bar .menu {
    display: none;
  }

  header .menu-bar .mobile-menu {
    display: block;
    position: fixed;
    left: 0;
    top: 133px;
    height: calc(100vh - 133px);
    background-color: #FFFFFF;
    padding: 50px 40px;
    box-sizing: border-box;
    width: 100%;
    max-width: 470px;
    z-index: 1;
    border-top: 1px solid #E7E7E7;
  }
  header .menu-bar .mobile-menu::before {
    content: "";
    background-image: url("/assets/images/menu-background.svg");
    background-size: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 114px;
    height: 146px;
    z-index: 1;
  }
  header .menu-bar .mobile-menu.hide {
    display: none;
  }

  header .mobile-menu ul li {
    display: block;
    overflow: hidden;
  }
  header .mobile-menu ul li div > a {
    font-size: 18px;
    line-height: 30px;
  }
  header .mobile-menu ul li a {
    font-weight: 500;
    color: #2D2C31;
  }

  header .mobile-menu ul li {
    margin-bottom: 25px;
  }
  header .mobile-menu ul li .arrow-holder {
    display: block;
    width: 100%;
    position: relative;
  }
  header .mobile-menu ul li .arrow-holder a {
    display: inline-block;
  }
  header .mobile-menu ul li .arrow-holder .arrow {
    width: 30px;
    height: 30px;
    position: absolute;
    right: 0;
    top: 0px;
  }
  header .mobile-menu ul li .arrow-holder .arrow::before {
    content: "";
    background-image: url("/assets/images/black-arrow-right.svg");
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 15px;
    transform: translate(-50%, -50%);
    z-index: 1;
  }

  header .mobile-submenu {
    position: absolute;
    top: 0;
    background-color: #FFFFFF;
    width: 100%;
    box-sizing: border-box;
    left: -100%;
    padding: 0 40px 50px;
    height: 100%;
    z-index: 5;
    overflow-y: overlay;
    transition: all 0.5s ease;
    overflow-x: hidden;
  }
  header .mobile-submenu.open {
    left: 0;
  }

  header .mobile-submenu .submenu-header {
    font-size: 18px;
    line-height: 30px;
    font-weight: 600;
    background-color: #2D2C31;
    text-align: center;
    padding: 20px 40px;
    color: #FFFFFF;
    width: calc(100% + 80px);
    margin-left: -40px;
    box-sizing: border-box;
    z-index: 1;
  }
  header .mobile-submenu .submenu-header .close-submenu {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 30px;
    top: 20px;
  }
  header .mobile-submenu .submenu-header .close-submenu::before {
    content: "";
    background-image: url(/assets/images/white-arrow-right.svg);
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 15px;
    transform: translate(-50%, -50%) rotate(-180deg);
    z-index: 1;
  }

  header .mobile-submenu ul li {
    margin-bottom: 0;
    overflow: initial;
  }
  header .mobile-submenu ul li a {
    display: block;
    position: relative;
    padding: 20px 0;
  }
  header .mobile-submenu ul li a::before {
    content: "";
    width: calc(100% + 80px);
    left: -40px;
    background-color: #E7E7E7;
    bottom: 0;
    position: absolute;
    height: 1px;
    z-index: 1;
  }

  header .nav-toggle-holder {
    display: inline-block;
  }

  .mobile-menu-backdrop {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.75;
    z-index: 5;
    top: 0;
  }
  .mobile-menu-backdrop.hide {
    display: none;
  }

  header .menu-cta {
    max-width: unset;
    margin: 40px 0 0;
  }
  header .menu-cta .cta-inner {
    max-width: 225px;
    margin: 0 auto;
  }

  header .menu-cta .text-holder::before, header .menu-cta .image-holder::before {
    width: calc(100% + 100px);
    left: -50px;
  }

  header .menu-bar.uk-active .mobile-menu {
    top: 92px;
    height: calc(100vh - 92px);
  }

  header .header-container .logo-holder img {
    height: 50px;
    transform: translateY(2px);
    width: 350px;
    max-width: 100%;
  }

  header .menu-bar .has-sub a::before {
    display: block;
  }
}
@media only screen and (max-width: 960px) {
  header .menu-bar .mobile-menu {
    max-width: 380px;
  }
}
@media only screen and (max-width: 767px) {
  header .top-menu-holder .top-menu nav > ul > li:not(.site-selection-menu) {
    display: none;
  }

  header .top-menu-holder .site-selection-menu::before {
    display: none;
  }

  header .mobile-menu ul .top-menu-items {
    margin-bottom: 10px;
  }
  header .mobile-menu ul .top-menu-items:first-child {
    margin-top: 20px;
  }
  header .mobile-menu ul .top-menu-items .vacature-count {
    display: inline-block;
    background-color: #22B2E7;
    color: #FFFFFF;
    border-radius: 50%;
    font-size: 10px;
    width: 15px;
    height: 15px;
    position: relative;
    transform: translateY(-3px);
  }
  header .mobile-menu ul .top-menu-items .vacature-count span {
    position: absolute;
    top: 49%;
    left: 47%;
    transform: translate(-50%, -50%);
  }

  header .header-container {
    padding: 0 20px;
  }

  header .menu-bar .mobile-menu {
    top: 109px;
    height: calc(100% - 109px);
    padding: 40px 20px;
  }

  header .mobile-submenu {
    height: calc(100% + 109px);
    padding: 0 20px 40px;
    top: -70px;
  }

  header .menu-bar.uk-active .mobile-menu {
    top: 109px;
    height: calc(100vh - 109px);
  }

  header .mobile-submenu .submenu-header .close-submenu {
    left: 10px;
  }

  header .mobile-submenu .submenu-header .close-mobile-menu {
    width: 30px;
    height: 30px;
    position: absolute;
    right: 20px;
    top: 20px;
  }
  header .mobile-submenu .submenu-header .close-mobile-menu::before {
    content: "";
    background-image: url(/assets/images/close-icon.svg);
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 13px;
    height: 13px;
    transform: translate(-50%, -50%);
    z-index: 1;
  }

  header .menu-bar .menu-right {
    margin-left: 0;
  }

  header .menu-bar .menu-holder {
    max-width: calc(100% - 80px);
    margin-top: 2px;
  }

  header .menu-bar .mobile-menu {
    max-width: unset;
  }

  header .header-container .logo-holder img.custom-logo {
    max-height: 33px;
  }

  header .header-container .logo-holder img {
    height: 30px;
    transform: translateY(2px);
    max-width: 190px;
  }

  .gt_container--oiz9qs a.glink span {
    display: none;
  }
}
@media only screen and (max-width: 350px) {
  header .logo-holder img {
    max-width: 196px;
  }
}
footer {
  position: relative;
  z-index: 980;
}

footer .certificaten-holder {
  padding: 40px 0;
  background-color: #F5F6F8;
}

footer .title-holder {
  height: 100%;
  display: flex;
  align-items: center;
}
footer .title-holder h3 {
  margin-bottom: 0;
}

footer .certificaten-holder .certificaten {
  display: flex;
  justify-content: space-between;
}
footer .certificaten-holder .certificaten img {
  max-width: 80px;
  max-height: 82px;
}

footer .certificaten-holder .title-column {
  display: none;
}

footer h3 {
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
}

footer h4 {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 24px;
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 10px;
}
footer h4.second-h4 {
  margin-top: 20px;
}

.footer-holder {
  background-color: #2D2C31;
  padding: 80px 0;
  color: #FFFFFF;
  position: relative;
}
.footer-holder a {
  color: #FFFFFF;
}

.footer-holder ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-holder h3 {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: #FFFFFF;
}
.footer-holder h3::before {
  content: "";
  background-color: #22B2E7;
  width: 25px;
  height: 3px;
  left: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}

.footer-holder .footer-menu a {
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
}
.footer-holder .footer-menu a::before, .footer-holder .footer-menu a::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #22B2E7;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
.footer-holder .footer-menu a::before {
  left: -100%;
}
.footer-holder .footer-menu a::after {
  right: -100%;
  transition-delay: 250ms;
}
.footer-holder .footer-menu a:hover::before {
  left: 0;
}
.footer-holder .footer-menu a:hover::after {
  right: 0;
}

.footer-holder .support-title {
  color: #22B2E7;
  margin-bottom: 15px;
  font-size: 14px;
}

.footer-holder .location-holder li {
  margin-bottom: 10px;
}

.footer-holder .location-holder a > span {
  color: #22B2E7;
  font-weight: 600;
  display: inline-block;
  padding-right: 3px;
}

.footer-holder .footer-disclaimer {
  margin-top: 75px;
  font-size: 12px;
  line-height: 20px;
  color: #777B86;
}
.footer-holder .footer-disclaimer li {
  display: inline-block;
}
.footer-holder .footer-disclaimer li a {
  color: #777B86;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li {
  position: relative;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li:not(:last-child) {
  padding-right: 6px;
  margin-right: 2px;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li:not(:last-child)::before {
  content: "";
  background-color: #777B86;
  width: 1px;
  height: calc(100% - 6px);
  right: 0;
  top: 3px;
  position: absolute;
  z-index: 1;
}
.footer-holder .footer-disclaimer ul.disclaimer-menu li a:hover {
  color: #FFFFFF;
}

.footer-holder .footer-disclaimer .socials li:not(:last-child) {
  margin-right: 40px;
}
.footer-holder .footer-disclaimer .socials a {
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
}
.footer-holder .footer-disclaimer .socials a::before {
  content: "";
  background-size: 100%;
  background-repeat: no-repeat;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  transition: all 0.4s ease;
}
.footer-holder .footer-disclaimer .socials a.facebook::before {
  background-image: url("/assets/images/facebook.svg");
  width: 10px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.facebook:hover::before {
  background-image: url("/assets/images/facebook-white.svg");
}
.footer-holder .footer-disclaimer .socials a.linkedIn::before {
  background-image: url("/assets/images/linkedIn.svg");
  width: 18px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.linkedIn:hover::before {
  background-image: url("/assets/images/linkedIn-white.svg");
}
.footer-holder .footer-disclaimer .socials a.youtube::before {
  background-image: url("/assets/images/youtube.svg");
  width: 22px;
  height: 16px;
}
.footer-holder .footer-disclaimer .socials a.youtube:hover::before {
  background-image: url("/assets/images/youtube-white.svg");
}
.footer-holder .footer-disclaimer .socials a.pinterest::before {
  background-image: url("/assets/images/pinterest.svg");
  width: 15px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.pinterest:hover::before {
  background-image: url("/assets/images/pinterest-white.svg");
}
.footer-holder .footer-disclaimer .socials a.instagram::before {
  background-image: url("/assets/images/instagram.svg");
  width: 19px;
  height: 19px;
}
.footer-holder .footer-disclaimer .socials a.instagram:hover::before {
  background-image: url("/assets/images/instagram-white.svg");
}

footer .certificaten-holder .certificaten.mobile {
  display: none;
}

.support-mobile {
  display: none;
}

footer .footer-logo {
  margin-bottom: 20px;
}
footer .footer-logo img {
  max-width: 120px;
}

footer .disclaimer-menu {
  margin-bottom: 5px;
}

footer .socials-column {
  display: flex;
  height: 100%;
  align-items: end;
}

.footer-certificaat {
  position: absolute;
  top: 0;
  left: 40px;
}
.footer-certificaat .certificaat-inner {
  display: flex;
}
.footer-certificaat .certificaat:not(:last-child) {
  margin-right: 15px;
}
.footer-certificaat .certificaat img {
  max-height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

.data-partner-logo {
  max-width: 90px;
}

.disclaimer-menu-container {
  display: flex;
  height: 100%;
  align-items: end;
}

@media only screen and (max-width: 1600px) {
  footer.extra-padding .footer-holder {
    padding: 120px 0 80px;
  }
}
@media only screen and (max-width: 1100px) {
  .footer-holder {
    padding: 75px 0;
  }

  footer.extra-padding .footer-holder {
    padding: 120px 0 75px;
  }

  .footer-holder .footer-disclaimer {
    margin-top: 50px;
  }

  .footer-holder .footer-disclaimer .socials li:not(:last-child) {
    margin-right: 30px;
  }

  .footer-holder .support-dekstop {
    display: none;
  }

  .footer-holder .uk-width-1-2\@m {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .footer-holder .footer-disclaimer .socials li:not(:last-child) {
    margin-right: 15px;
  }

  footer .certificaten-holder .certificaten {
    display: inline-block;
    text-align: center;
  }

  footer .certificaten-holder {
    padding: 40px 0 30px;
  }

  footer .certificaten-holder {
    text-align: center;
  }

  footer .title-holder {
    display: block;
    margin-bottom: 30px;
  }

  footer .certificaten-holder .uk-width-1-3\@m {
    width: 100%;
  }

  footer .certificaten-holder .uk-width-2-3\@m {
    width: 100%;
  }

  footer .certificaten-holder .certificaat {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
  }
  footer .certificaten-holder .certificaat img {
    max-width: 70px;
    max-height: 70px;
  }
}
@media only screen and (max-width: 767px) {
  footer .certificaten-holder .certificaten.mobile {
    display: block;
  }

  footer .certificaten-holder .container {
    padding: 0;
  }

  footer .certificaten-holder .certificaten.desktop {
    display: none;
  }

  .footer-holder {
    padding: 0 0 50px;
  }

  .footer-holder .footer-top .uk-grid-margin {
    margin-top: 0;
  }

  .collapse-item-holder {
    position: relative;
    padding: 25px 0;
  }
  .collapse-item-holder::before {
    content: "";
    width: calc(100% + 40px);
    left: -20px;
    height: 1px;
    background-color: #606060;
    position: absolute;
    bottom: 0;
    z-index: 1;
  }
  .collapse-item-holder .collapse-item {
    position: relative;
    height: auto;
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .collapse-item-holder h3 {
    position: relative;
    padding: 0;
    margin: 0;
    font-size: 14px;
  }
  .collapse-item-holder h3::before {
    display: none;
  }
  .collapse-item-holder h3::after {
    content: "";
    background-image: url(/assets/images/arrow-down-white.svg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: 10px;
    width: 15px;
    height: 9px;
    z-index: 1;
    transition: all 0.4s ease;
  }
  .collapse-item-holder.active .collapse-item {
    height: auto;
    position: relative;
    opacity: 1;
    visibility: visible;
    max-height: 400px;
    padding-top: 10px;
  }
  .collapse-item-holder.active h3::after {
    transform: rotate(-180deg);
  }

  .footer-holder .footer-disclaimer {
    text-align: center;
    margin-top: 30px;
  }

  .footer-holder .disclaimer-menu-holder {
    order: 2;
  }

  .footer-holder .socials-holder {
    order: 1;
  }

  .support-mobile {
    display: block;
    max-width: 320px;
    margin: 0 auto 30px;
  }

  .support-mobile .title-holder {
    height: 100%;
    display: flex;
    align-items: center;
  }

  .footer-holder .support-title {
    margin-bottom: 0;
  }

  footer .certificaten-holder .title-column {
    display: block;
  }

  footer .socials-column {
    justify-content: center;
  }

  .footer-certificaat {
    left: 20px;
  }

  footer.extra-padding .footer-holder {
    padding: 120px 0 50px;
  }

  .extra-padding .footer-top {
    position: relative;
  }
  .extra-padding .footer-top::before {
    content: "";
    width: calc(100% + 40px);
    left: -20px;
    height: 1px;
    background-color: #606060;
    position: absolute;
    top: 0;
    z-index: 1;
  }

  footer .footer-logo img {
    max-width: 100px;
  }

  .data-partner-logo {
    max-width: 90px;
    margin: 0 auto;
  }

  .disclaimer-menu-container {
    display: block;
  }
}
.homepage-header {
  background-color: #2D2C31;
  color: #FFFFFF;
  position: relative;
}

.scroller {
  font-size: 14px;
  line-height: 26px;
  color: #B1B8C7;
  padding-left: 40px;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: bottom center;
  display: block;
  z-index: 15;
  position: absolute;
  top: 30%;
  left: 80px;
}
.scroller::before {
  content: "";
  width: 27px;
  height: 16px;
  border: 2px solid #B1B8C7;
  border-radius: 9.5px;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  position: absolute;
  display: block;
  left: 0;
  top: 4px;
}
.scroller::after {
  content: "";
  background-color: #22B2E7;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 18px;
  -webkit-animation: fade 1.5s infinite;
          animation: fade 1.5s infinite;
}
.scroller:hover {
  color: #FFFFFF;
}
.scroller:hover::before {
  border: 2px solid #FFFFFF;
}

.detail-header .scroller:hover {
  color: #2D2C31;
}
.detail-header .scroller:hover::before {
  border: 2px solid #2D2C31;
}

.homepage-header .text-container {
  height: 100%;
  display: flex;
  align-items: center;
}

.homepage-header .text-holder {
  padding: 100px 0 100px 40px;
  max-width: 420px;
  width: 100%;
  margin: 0 160px 0 auto;
}
.homepage-header .text-holder .text {
  margin: 30px 0;
}

.first-button {
  margin-right: 10px;
  margin-bottom: 20px;
}

.homepage-header .image-holder {
  position: relative;
  height: 100%;
  background-color: #bbb;
}
.homepage-header .image-holder img:not(.header-illustration) {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 775px;
  opacity: 0.4;
}

.homepage-header .image-holder .header-illustration {
  width: 87%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.no-image-header-holder {
  position: relative;
}
.no-image-header-holder::before {
  content: "";
  background-color: #F5F6F8;
  width: 100vw;
  height: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.no-image-header {
  color: #FFFFFF;
  padding: 100px 0 120px;
  max-width: 1850px;
  margin: 0 auto;
  box-sizing: border-box;
}
.no-image-header::before {
  content: "";
  position: absolute;
  right: 40px;
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: #2D2C31;
  z-index: 1;
}
.no-image-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 40px;
  background-color: #22B2E7;
  height: 15px;
  width: 130px;
  z-index: 1;
}
.no-image-header .container {
  position: relative;
  z-index: 5;
}

.no-image-header h1 {
  color: #FFFFFF;
}
.no-image-header h1.custom {
  color: #22B2E7;
}

.no-image-header h2.custom {
  color: #FFFFFF;
}

.no-image-header h4 {
  color: #22B2E7;
  margin-top: 0;
}

.no-image-header .intro {
  padding-top: 40px;
  position: relative;
  max-width: 470px;
  margin: 10px 0 0 auto;
}
.no-image-header .intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #22B2E7;
  height: 3px;
  width: 25px;
}

.no-image-header .scroller {
  top: 195px;
}

.image-header {
  position: relative;
}

.image-header h4 {
  color: #22B2E7;
  margin-top: 0;
}

.image-header img {
  max-width: 850px;
}

.image-header .flex-column {
  display: flex;
  align-items: center;
}

.image-header .scroller {
  top: 195px;
}

.image-header .image-holder {
  position: relative;
  z-index: 2;
}
.image-header .image-holder::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 100%;
  height: 15px;
  width: 130px;
  background-color: #22B2E7;
  z-index: -1;
}
.image-header .image-holder::after {
  content: "";
  position: absolute;
  left: 500px;
  top: 75px;
  height: 100%;
  width: 100vw;
  background-color: #2D2C31;
  z-index: -1;
}

.products-holder {
  padding: 75px 0;
  background-color: #22B2E7;
  color: #FFFFFF;
}
.products-holder.custom-margin {
  margin-top: 100px;
}

.products-holder .producten-intro-holder {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
}
.products-holder .producten-intro-holder h2 {
  color: #FFFFFF;
  margin: 0 auto 10px;
}

.products-holder .product {
  border-radius: 4px;
  overflow: hidden;
}
.products-holder .product .image-holder {
  position: relative;
  overflow: hidden;
}
.products-holder .product .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.products-holder .product .text-holder {
  background-color: #FFFFFF;
  padding: 20px 20px 70px;
  color: #2D2C31;
  text-align: center;
}
.products-holder .product .text-holder h3 {
  margin-bottom: 10px;
}

.products-holder {
  position: relative;
}

.products-holder .product:hover img {
  transform: scale(1.03);
}

.products-holder .button-holder {
  text-align: center;
  margin-top: -25px;
}
.products-holder .button-holder .button {
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.2);
}

.producten-grid.mobile {
  display: none;
}

.homepage-cta-holder {
  position: relative;
  margin: 120px 0 100px;
  /*background-color: $light-grey;*/
  /*&::before {
      content: '';
      background-color: $white;
      width: 68vw;
      height: 50%;
      bottom: 0;
      left: 0;
      position: absolute;
      z-index: 1;
  }*/
  /*&::after {
      content: '';
      background-color: $white;
      width: 100%;
      height: 50%;
      top: 0;
      left: 0;
      position: absolute;
      z-index: 1;
  }*/
}
.homepage-cta-holder > div {
  position: relative;
  z-index: 5;
}

.homepage-cta-holder .column {
  padding: 55px 70px 45px;
  color: #FFFFFF;
  height: 100%;
  box-sizing: border-box;
}
.homepage-cta-holder .column h2 {
  color: #FFFFFF;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: -0.2px;
  font-weight: 500;
  margin-bottom: 40px;
}
.homepage-cta-holder .column.black {
  background-color: #2D2C31;
}
.homepage-cta-holder .column.blue {
  background-color: #22B2E7;
}
.homepage-cta-holder .column .icon-holder {
  overflow: hidden;
  margin-bottom: 25px;
}
.homepage-cta-holder .column .icon-holder img {
  transform: translateY(105%);
  transition: all 0.5s ease;
  transition-delay: 0.7s;
}
.homepage-cta-holder .column a.read-more, .homepage-cta-holder .column span.read-more {
  font-weight: 500;
}

.homepage-cta-holder .column {
  transition: transform 0.7s cubic-bezier(0.1, 0.38, 0.53, 0.98), opacity 1.3s ease;
}
.homepage-cta-holder .large-container .column.black {
  opacity: 0;
  transform: translateX(-150px);
}
.homepage-cta-holder .large-container .column.blue {
  opacity: 0;
  transform: translateX(150px);
}
.homepage-cta-holder.show .large-container .column {
  opacity: 1;
  transform: translateX(0);
}
.homepage-cta-holder.show .icon-holder img {
  transform: translateY(0);
}

.homepage-cta-one-column .column {
  max-width: 870px;
  margin: 0 auto;
}

.demo-holder {
  background-color: #F5F6F8;
  padding: 120px 0 0;
  position: relative;
  /*&::before {
      content: '';
      background-color: $white;
      width: 68vw;
      height: 100%;
      top: 0;
      left: 0;
      position: absolute;
      z-index: 1;
  }*/
}
.demo-holder > div {
  position: relative;
  z-index: 5;
}

.demo-holder .text-holder {
  max-width: 470px;
  padding-bottom: 120px;
}

.demo-holder .image-holder {
  margin-bottom: -100px;
}
.demo-holder .image-holder img {
  width: calc(100% + 70px);
  max-width: calc(100% + 70px);
}

.diensten-holder {
  padding: 150px 0 0;
}
.diensten-holder .diensten-intro-holder {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
  padding: 0 40px;
}
.diensten-holder .diensten-intro-holder h2 {
  max-width: 570px;
  margin: 0 auto 10px;
}

.diensten-holder .diensten-tabs {
  position: relative;
}
.diensten-holder .diensten-tabs::before {
  content: "";
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  background-color: #B1B8C7;
  opacity: 0.5;
  position: absolute;
  height: 1px;
  bottom: 0;
  z-index: 1;
}

.diensten-holder .diensten-tabs-inner {
  overflow: hidden;
}

.diensten-holder .tabs-holder-desktop {
  display: flex;
  justify-content: space-evenly;
}

.diensten-holder .label-holder {
  transform: translateY(100%);
  transition: all 0.5s ease;
  text-align: center;
  cursor: pointer;
  color: #B1B8C7;
}
.diensten-holder .label-holder.active {
  color: #2D2C31;
  font-weight: 600;
}

.diensten-holder .show .label-holder {
  transform: translateY(0);
}

.diensten-holder .label-holder .label {
  display: inline-block;
  height: 100%;
  position: relative;
  margin-bottom: 15px;
}
.diensten-holder .label-holder .label::before {
  content: "";
  background-color: #22B2E7;
  width: calc(100% + 20px);
  height: 6px;
  position: absolute;
  bottom: -7px;
  left: -10px;
  z-index: 1;
  transition: all 0.5s ease;
}

.corporate .diensten-holder .label-holder.active .label.with-icon::before {
  background-color: #22B2E7;
}
.corporate .diensten-holder .label-holder .label.with-icon::before {
  bottom: 0;
  background-color: #f2f2f2;
}
.corporate .diensten-holder .label-holder .label .inner-label {
  padding-left: 40px;
  position: relative;
  font-size: 18px;
}
.corporate .diensten-holder .label-holder .label .inner-label img {
  width: 100%;
  height: 100%;
  max-width: 35px;
  max-height: 35px;
  position: absolute;
  right: calc(100% - 28px);
  top: 50%;
  transform: translateY(-50%);
}

.diensten-holder .label-holder.active .label::before, .diensten-holder .label-holder:hover .label::before {
  bottom: 0;
}

.diensten-holder .tabs-container {
  position: relative;
}

.diensten-holder .tabs-holder {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  transition: all 0.5s ease;
  padding: 90px 0 0;
}
.diensten-holder .tabs-holder.active {
  position: relative;
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}

.diensten-holder .tabs-holder .text-holder {
  max-width: 470px;
}
.diensten-holder .tabs-holder .text-holder .text {
  margin: 10px 0 30px;
}
.diensten-holder .tabs-holder .text-holder ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.diensten-holder .tabs-holder .text-holder ul li {
  position: relative;
  padding-left: 20px;
}
.diensten-holder .tabs-holder .text-holder ul li::before {
  content: "";
  background-image: url("/assets/images/green-check.svg");
  background-size: 100%;
  width: 12px;
  height: 8px;
  position: absolute;
  left: 0;
  top: 9px;
  z-index: 1;
}

.diensten-holder .tabs-holder .image-holder img {
  width: calc(100% + 70px);
  max-width: calc(100% + 70px);
}

.diensten-holder .tabs-holder-mobile {
  display: none;
}
.diensten-holder .tabs-holder-mobile .arrow {
  width: 35px;
  height: 35px;
  position: absolute;
  left: 25px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}
.diensten-holder .tabs-holder-mobile .arrow::before {
  content: "";
  background-image: url("/assets/images/arrow-black-right.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 8px;
  height: 15px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.diensten-holder .tabs-holder-mobile .arrow.prev::before {
  transform: translate(-50%, -50%) rotate(-180deg);
}
.diensten-holder .tabs-holder-mobile .arrow.next {
  left: unset;
  right: 25px;
}

.logo-slider {
  overflow: unset;
}

.logo-slider .uk-slider-items {
  justify-content: center;
}

.logo-slider li {
  padding-right: 30px;
}

.logo-slider .square {
  border-radius: 20px;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  height: 170px;
  position: relative;
  display: block;
  width: 170px;
}
.logo-slider .square img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 125px;
  max-height: 60px;
}

.klanten-holder {
  margin: 120px 0;
}

.klanten-holder .klanten-intro-holder {
  max-width: 570px;
  margin-bottom: 100px;
}

.bekijk-cirkel {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 80px;
  height: 80px;
  background-color: #22B2E7;
  text-align: center;
  padding-top: 25px;
  color: #fff;
  border-radius: 80px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  z-index: 2;
  cursor: pointer;
  transform: scale(0.1);
  transition: opacity 300ms, visibility 300ms, transform 400ms cubic-bezier(0.64, 0.57, 0.67, 1.2);
}

.logo-slider .square.with-link:hover .bekijk-cirkel {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.logo-slider .bekijk-cirkel {
  pointer-events: none;
}

.section-victaQlikHomepage .cta-full-background {
  padding: 140px 0;
}
.section-victaQlikHomepage .cta-full-background .cta-description::before {
  display: none;
}
.section-victaQlikHomepage .cta-full-background .text-holder {
  max-width: 470px;
}

.nieuws-holder {
  margin: 100px 0;
  padding: 100px 0 0;
  position: relative;
}
.nieuws-holder.custom {
  margin-top: 0;
}
.nieuws-holder .producten-intro-holder {
  max-width: 560px;
  margin-bottom: 50px;
}

.nieuws-holder .large-text-holder {
  position: absolute;
  top: -70px;
  left: 80px;
  z-index: 5;
}

.nieuws-grid-holder {
  position: relative;
  z-index: 10;
}
.nieuws-grid-holder .text-holder {
  margin-top: 20px;
}

.nieuws-grid-holder .nieuws-item h3 {
  margin-top: 10px;
  margin-bottom: 10px;
}
.nieuws-grid-holder .nieuws-item .image-holder {
  position: relative;
  overflow: hidden;
}
.nieuws-grid-holder .nieuws-item .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.nieuws-grid-holder .nieuws-item:hover img {
  transform: scale(1.03);
}

.nieuws-grid-holder .nieuws-item .text-holder {
  background-color: #F5F6F8;
  padding: 30px 25px;
}
.nieuws-grid-holder .nieuws-item .text-holder h3 {
  margin-top: 10px;
  margin-bottom: 30px;
}
.nieuws-grid-holder .nieuws-item .text-holder .date {
  color: #B1B8C7;
}

.nieuws-grid-holder .button-holder {
  text-align: center;
  margin-top: 50px;
}

.cta-right-image.left::before {
  right: unset;
  left: 0;
}

.popup {
  position: fixed;
  top: 10%;
  left: 50%;
  max-width: 770px;
  background-color: #FFFFFF;
  width: calc(100% - 80px);
  z-index: 1000001;
  transform: translate(-50%, -50%);
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden;
}
.popup.show {
  top: 40%;
  visibility: visible;
  opacity: 1;
}

.popup .popup-close {
  position: absolute;
  right: 20px;
  top: 10px;
  cursor: pointer;
  z-index: 100;
}
.popup .popup-close img {
  transition: all 0.5s;
}
.popup .popup-close:hover img {
  transform: rotate(180deg);
}

.popup .image-holder {
  height: 100%;
}
.popup .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.popup .text-container {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}
.popup .text-container::before {
  content: "";
  background-image: url("/assets/images/popup-decoration.svg");
  position: absolute;
  bottom: 0;
  right: 0;
  width: 180px;
  height: 224px;
  z-index: 1;
}

.popup .text-holder {
  padding: 65px 50px;
  position: relative;
  z-index: 5;
}
.popup .text-holder h3 {
  font-size: 24px;
  line-height: 40px;
  letter-spacing: -0.2px;
}

.popup-backdrop {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  z-index: 100000;
  top: -30%;
  transition: all 0.5s ease;
  visibility: hidden;
}
.popup-backdrop.show {
  opacity: 0.75;
  visibility: visible;
  top: 0;
}

.filter {
  color: #FFFFFF;
  margin-top: 100px;
}

.filter .cat-label {
  padding: 11px 25px;
  border: 1px solid #777B86;
  border-radius: 6px;
  margin-left: 15px;
  cursor: pointer;
  transition: all 300ms;
  font-weight: 100;
  color: #FFFFFF;
}
.filter .cat-label:hover, .filter .cat-label.active {
  background-color: #777B86;
  color: #FFFFFF;
}

.filter .cat-label img {
  margin-left: 10px;
  margin-top: -2px;
}

.resources-holder {
  background-color: #F5F6F8;
  margin-top: -100px;
  padding-bottom: 100px;
}

.resources-holder .image-holder .label {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #F19E38;
  color: #FFFFFF;
  padding: 3px 15px;
  z-index: 4;
  font-size: 12px;
}

.section-resourcesOverzicht .no-image-header, .section-marketplaceOverzicht .no-image-header {
  padding-bottom: 200px;
}

.section-resourcesOverzicht .nieuws-holder, .section-marketplaceOverzicht .nieuws-holder {
  margin: 0;
  padding-top: 0;
  position: relative;
}

.section-resourcesOverzicht .nieuws-grid-holder .nieuws-item .text-holder, .section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder {
  background-color: #FFFFFF;
  padding: 25px 35px 20px;
}

.section-resourcesOverzicht footer .certificaten-holder, .section-nieuwsOverzicht footer .certificaten-holder, .section-marketplaceOverzicht footer .certificaten-holder {
  background-color: #FFFFFF;
}

.producten-header {
  background-color: #22B2E7;
  padding-bottom: 145px;
  position: relative;
}
.producten-header::before {
  content: "";
  background-color: #2D2C31;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 73vw;
  z-index: 1;
}

.producten-header .image-holder {
  padding-right: 40px;
  position: relative;
  z-index: 1;
  max-width: 870px;
}
.producten-header .image-holder::before {
  content: "";
  background-color: #FFFFFF;
  position: absolute;
  left: 0;
  top: 0;
  height: 50%;
  width: 100vw;
  z-index: -1;
}

.producten-header .text-holder {
  position: relative;
  z-index: 1000;
  color: #FFFFFF;
  max-width: 470px;
  margin: 0 100px 0 auto;
  padding: 100px 0 0;
}
.producten-header .text-holder h1 {
  color: #22B2E7;
}
.producten-header .text-holder h2 {
  color: #FFFFFF;
}

.products-holder .large-text-holder {
  position: absolute;
  top: -150px;
  left: 80px;
  z-index: 5;
}

.section-productenOverzicht .products-holder::before {
  content: "";
  background-image: url("/assets/images/products-decoration-green.svg");
  background-size: 100%;
  width: 218px;
  height: 388px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.section-productenOverzicht .products-holder .container {
  position: relative;
  z-index: 5;
}

.detail-header {
  position: relative;
}
.detail-header::before {
  content: "";
  width: 100vw;
  height: 50%;
  background-color: #F5F6F8;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.detail-header .image-holder {
  max-width: 1100px;
  margin-right: 40px;
  margin-left: -20px;
  position: relative;
  z-index: 5;
}

.detail-header .text-container {
  display: flex;
  height: 100%;
  align-items: center;
}

.detail-header .text-holder {
  padding: 60px 70px 70px;
  position: relative;
  background-color: #FFFFFF;
  z-index: 10;
  width: 100%;
  box-sizing: border-box;
  max-width: 570px;
  margin: 50px -105px 0 auto;
}
.detail-header .text-holder h1.custom {
  color: #22B2E7;
}
.detail-header .text-holder .label {
  color: #22B2E7;
  font-weight: 600;
}

#inhoud.no-margin {
  margin-top: 0;
}

.diensten-header {
  background-color: #2D2C31;
  position: relative;
  padding: 100px 0;
  color: #FFFFFF;
  /*&::before {
      content: '';
      background-image: url('/assets/images/diensten-illustration.svg');
      background-size: 100%;
      position: absolute;
      top: 0;
      right: 0;
      width: 265px;
      height: 229px;
      z-index: 1;
  }*/
}
.diensten-header .diensten-particles {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 350px !important;
  width: 9% !important;
  height: 230px !important;
  opacity: 0.3;
}
.diensten-header .container {
  position: relative;
  z-index: 5;
}
.diensten-header h1 {
  color: #22B2E7;
}
.diensten-header h2 {
  color: #FFFFFF;
}

.diensten-header .intro {
  padding-top: 40px;
  position: relative;
  max-width: 470px;
  margin: 10px 0 0 auto;
}
.diensten-header .intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #22B2E7;
  height: 3px;
  width: 25px;
}

.products-holder.diensten {
  background-color: #2D2C31;
  display: inline-block;
  width: 100%;
  padding: 0 0 120px;
  position: relative;
}
.products-holder.diensten .large-outline-text text {
  text-transform: capitalize;
}
.products-holder.diensten .large-text-holder {
  top: -100px;
}
.products-holder.diensten .container {
  position: relative;
  z-index: 5;
}
.products-holder.diensten .product .text-holder {
  background-color: #39383D;
  color: #FFFFFF;
  text-align: left;
  padding: 30px;
}
.products-holder.diensten .product .text-holder h3 {
  color: #FFFFFF;
}
.products-holder.diensten .product .text-holder ul {
  list-style: none;
  padding: 0;
  margin: 20px 0 30px;
}
.products-holder.diensten .product .text-holder ul li {
  position: relative;
  padding-left: 20px;
}
.products-holder.diensten .product .text-holder ul li::before {
  content: "";
  background-image: url("/assets/images/green-check.svg");
  background-size: 100%;
  width: 12px;
  height: 8px;
  position: absolute;
  left: 0;
  top: 9px;
  z-index: 1;
}

.products-holder.diensten .dots-animation {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.products-holder.licenties {
  background-color: #F5F6F8;
  color: #2D2C31;
}
.products-holder.licenties h2 {
  color: #2D2C31;
}
.products-holder.licenties .container {
  max-width: 1600px;
}

.section-diensten .detail-header .text-holder {
  background-color: #2D2C31;
  color: #FFFFFF;
  position: relative;
}
.section-diensten .detail-header .text-holder::before {
  content: "";
  background-image: url("/assets/images/dienst-detail-illustration.svg");
  background-size: 100%;
  height: 150px;
  width: 152px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.section-diensten .detail-header .text-holder > * {
  position: relative;
  z-index: 5;
}
.section-diensten .detail-header .text-holder h1 {
  color: #FFFFFF;
}

p.nr-results {
  color: #2D2C31;
  margin-top: 80px;
}

.resultaten-holder {
  background-color: #F5F6F8;
  display: inline-block;
  width: 100%;
}

.resultaten .search-item {
  padding: 30px 20px 30px 0;
  background-color: transparent;
  border-bottom: 1px solid #B1B8C7;
  transition: all 300ms;
  position: relative;
  cursor: pointer;
  display: block;
  color: #2D2C31;
}
.resultaten .search-item.first-result {
  border-top: 1px solid #B1B8C7;
}
.resultaten .search-item > * {
  max-width: 970px;
}
.resultaten .search-item h3 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #22B2E7;
}

.resultaten .search-item h3 + p {
  margin: 0 0 20px;
}

.resultaten {
  margin-bottom: 100px;
}

.form-holder.zoek-form {
  margin-top: 50px;
}

.form-holder.zoek-form input {
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
  outline: none;
  box-shadow: none !important;
  padding: 15px 20px 15px 50px;
  width: 100%;
  max-width: 470px;
}

.form-holder.zoek-form .input-holder {
  position: relative;
  margin-right: 20px;
  display: inline-block;
  width: 100%;
  max-width: 470px;
}
.form-holder.zoek-form .input-holder::before {
  content: "";
  background-image: url("/assets/images/search-icon.svg");
  background-size: 100%;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 20px;
  top: 17px;
  z-index: 1;
}

.form-holder.zoek-form button {
  border: none;
  min-width: 150px;
}

.contact-header {
  background-color: #F5F6F8;
  padding: 110px 0;
}

.contact-header h1, .contact-header h2 {
  margin-bottom: 30px;
}

.contact-header .text-holder {
  max-width: 470px;
  padding-right: 30px;
}
.contact-header .text-holder.right {
  margin: 0 0 0 auto;
  padding-right: 0;
  padding-left: 30px;
}

.contact-header .vestigingen-holder .uk-dotnav > * > * {
  border: 1px solid #B1B8C7;
}
.contact-header .vestigingen-holder .uk-dotnav > .uk-active > * {
  border: 1px solid #22B2E7;
  background-color: #22B2E7;
}

.contact-header .contact-inner {
  position: relative;
}
.contact-header .contact-inner::before {
  content: "";
  background-color: #D3D6DF;
  width: 1px;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
}

.contact-header .location-holder ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.contact-header .location-holder ul li a {
  color: #2D2C31;
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
}
.contact-header .location-holder ul li a::before, .contact-header .location-holder ul li a::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #04B6CE;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
.contact-header .location-holder ul li a::before {
  left: -100%;
}
.contact-header .location-holder ul li a::after {
  right: -100%;
  transition-delay: 250ms;
}
.contact-header .location-holder ul li a:hover::before {
  left: 0;
}
.contact-header .location-holder ul li a:hover::after {
  right: 0;
}
.contact-header .location-holder ul li a > span {
  font-weight: 600;
  color: #22B2E7;
}

.contact-header .location-holder {
  max-width: 180px;
}
.contact-header .location-holder.odd {
  margin: 0 0 0 auto;
}
.contact-header .location-holder .vestigingnaam {
  font-weight: 600;
  transition: all 0.4s;
}
.contact-header .location-holder .vestigingnaam.active {
  color: #22B2E7;
}
.contact-header .location-holder .button {
  margin-top: 10px;
}

.contact-header .blokken-holder .blok {
  padding: 15px 0 30px;
  border-bottom: 1px solid #D3D6DF;
  margin-bottom: 10px;
}
.contact-header .blokken-holder .blok.last {
  margin-bottom: 0;
  border-bottom: none;
  padding: 15px 0 0;
}
.contact-header .blokken-holder .blok h3 {
  font-size: 24px;
  line-height: 42px;
  letter-spacing: -0.2px;
  margin-bottom: 20px;
}
.contact-header .blokken-holder .blok p {
  margin-bottom: 0;
}

.contact-header .blokken-holder .button-holder {
  margin-top: 30px;
}
.contact-header .blokken-holder .button-holder .first-button {
  margin-right: 20px;
  margin-bottom: 0;
}
.contact-header .blokken-holder .button-holder .underline {
  color: #777B86;
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
  margin-top: 13px;
}
.contact-header .blokken-holder .button-holder .underline::before, .contact-header .blokken-holder .button-holder .underline::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #B1B8C7;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
.contact-header .blokken-holder .button-holder .underline::before {
  left: -100%;
}
.contact-header .blokken-holder .button-holder .underline::after {
  right: -100%;
  transition-delay: 250ms;
}
.contact-header .blokken-holder .button-holder .underline:hover::before {
  left: 0;
}
.contact-header .blokken-holder .button-holder .underline:hover::after {
  right: 0;
}

.contact-formulier-holder {
  position: relative;
  background-color: #F5F6F8;
  padding-bottom: 90px;
}

.contact-formulier-holder .achtergrond-titel {
  position: absolute;
  bottom: 200px;
  left: 70px;
  font-family: "Poppins", sans-serif;
  font-size: 130px;
  line-height: 130px;
  font-weight: 600;
  -webkit-text-stroke: 1px #B1B8C7;
  -webkit-text-fill-color: transparent;
  transform: rotate(-90deg);
  transform-origin: top left;
  z-index: 5;
}

.contact-formulier-holder .left-column {
  padding: 90px 0;
  position: relative;
  z-index: 1;
  max-width: 570px;
}
.contact-formulier-holder .left-column::before {
  content: "";
  background-color: #FFFFFF;
  width: 30000px;
  height: 100%;
  position: absolute;
  right: -200px;
  top: 0;
  z-index: -1;
}
.contact-formulier-holder .left-column.no-image::before {
  right: -75px;
}

.contact-formulier-holder .achtergrond-titel span {
  display: block;
}

.contact-formulier-holder .right-column {
  position: relative;
  z-index: 5;
  height: 100%;
}
.contact-formulier-holder .right-column img {
  width: calc(100% + 180px);
  max-width: calc(100% + 180px);
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.no-image-header-holder.with-illustration .dots-animation {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.items-container .item .image-holder {
  position: relative;
  overflow: hidden;
}
.items-container .item .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.items-container .item:not(.partner-item):hover img {
  transform: scale(1.03);
}

.item-column {
  transition: all 0.5s;
  opacity: 1;
  height: auto;
  z-index: 1;
}

.item-column.hide {
  height: 0;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  margin: 0;
  display: none;
}

.load-more-button-container {
  text-align: center;
  padding-top: 30px;
}
.load-more-button-container.custom {
  padding-top: 50px;
}

.load-more-button-container .amount-visible {
  padding-bottom: 30px;
  font-size: 14px;
  color: #B1B8C7;
}

.load-more-button-holder.hide {
  display: none;
}

.items-container {
  padding: 0 0 120px;
  background-color: #F5F6F8;
}

.items-container .item.overzicht-cta {
  background-color: #2D2C31;
  height: 100%;
  color: #FFFFFF;
  border-radius: 4px;
  overflow: hidden;
}
.items-container .item.overzicht-cta .uk-grid {
  height: 100%;
}
.items-container .item.overzicht-cta h3 {
  color: #FFFFFF;
  font-size: 32px;
  line-height: 48px;
  letter-spacing: -0.5px;
  margin-bottom: 10px;
}
.items-container .item.overzicht-cta .text-container {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}
.items-container .item.overzicht-cta .text-container::before {
  content: "";
  background-image: url("/assets/images/small-cta-illustration.svg");
  background-size: 100%;
  width: 149px;
  height: 170px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.items-container .item.overzicht-cta .text-container.with-image::before {
  right: -30px;
}
.items-container .item.overzicht-cta .cta-text-holder {
  padding: 35px 20px 35px 55px;
  position: relative;
  z-index: 5;
}
.items-container .item.overzicht-cta .cta-text-holder.no-image {
  padding: 35px 55px;
}
.items-container .item.overzicht-cta .image-holder {
  height: 100%;
}
.items-container .item.overzicht-cta .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: none;
}

.items-container .item {
  background-color: #FFFFFF;
  position: relative;
}
.items-container .item .text-holder {
  padding: 35px 35px 110px;
}
.items-container .item .text-holder .text-bottom {
  position: absolute;
  width: calc(100% - 70px);
  bottom: 35px;
  left: 35px;
}
.items-container .item h2 {
  color: #B1B8C7;
  font-weight: 300;
  font-size: 14px;
  line-height: 26px;
  margin-bottom: 10px;
}
.items-container .item h3 {
  margin-top: 0;
}

.items-container .item .text-bottom {
  margin-top: 30px;
}
.items-container .item .text-bottom .logo-holder img {
  max-width: 100px;
  max-height: 60px;
}
.items-container .item .text-bottom .button-holder {
  text-align: right;
  position: relative;
  height: 100%;
}
.items-container .item .text-bottom .button-holder .read-more {
  position: absolute;
  right: 0;
  bottom: -8px;
}

.section-klantverhalenOverzicht .no-image-header,
.section-nieuwsOverzicht .no-image-header,
.section-partnersOverzicht .no-image-header {
  padding: 100px 0 280px;
}

.section-klantverhalenOverzicht .load-more-container,
.section-nieuwsOverzicht .load-more-container,
.section-partnersOverzicht .load-more-container {
  position: relative;
  z-index: 100;
  margin-top: -140px;
}

.section-klantverhalen .detail-header .text-holder,
.section-nieuwsOverzicht .detail-header .text-holder,
.section-partnersOverzicht .detail-header .text-holder {
  max-width: 610px;
  margin: 50px -145px 0 auto;
  padding: 60px 60px 70px 70px;
}

.section-partnersOverzicht .items-container .item .text-holder {
  padding: 35px;
}

.section-nieuwsOverzicht .items-container .item .text-bottom .button-holder {
  text-align: left;
}
.section-nieuwsOverzicht .items-container .item .text-bottom .button-holder .read-more {
  right: unset;
  left: 0;
}

.section-nieuwsOverzicht .items-container .item .date {
  color: #B1B8C7;
}

.section-nieuwsOverzicht .items-container .item h3 {
  margin-top: 10px;
}

.dots-animation svg circle {
  opacity: 0;
}

.dots-animation svg polygon {
  opacity: 0;
}

.homepage-header .dots-animation {
  position: absolute;
  left: 0;
  bottom: 0;
}

.cta-right-image.left .dots-animation {
  position: absolute;
  top: 100px;
  left: 0;
  z-index: -1;
}

.no-image-header-holder .dots-animation {
  position: absolute;
  left: 0;
  bottom: 0;
}

.cta-right-image:not(.left) .dots-animation {
  position: absolute;
  top: 100px;
  right: 0;
  z-index: -1;
}

.header-404 {
  background-color: #2D2C31;
  color: #FFFFFF;
  text-align: center;
  padding: 100px 20px;
}

.header-404 .content-404 {
  max-width: 500px;
  margin: 0 auto;
}

.header-404 svg {
  width: 329px;
  height: 350px;
  cursor: none;
}

.header-404 h1 {
  color: #FFFFFF;
  margin-top: 50px;
}

.header-404 .button {
  margin-top: 20px;
}

#big-v,
#search {
  transition: opacity 200ms;
}

.header-404 svg.inactive {
  cursor: default;
}

.header-404 svg.inactive #big-v,
.header-404 svg.inactive #search {
  opacity: 0;
}

.section-contactEnSupport footer .certificaten-holder {
  background-color: #FFFFFF;
}

.video-popup {
  position: fixed;
  top: 10%;
  left: 50%;
  max-width: 770px;
  background-color: #FFFFFF;
  width: calc(100% - 80px);
  z-index: 1000001;
  transform: translate(-50%, -50%);
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden;
  padding: 50px;
  box-sizing: border-box;
}
.video-popup.show {
  top: 40%;
  visibility: visible;
  opacity: 1;
}

.video-popup .close {
  position: absolute;
  right: 20px;
  top: 10px;
  cursor: pointer;
  z-index: 100;
}
.video-popup .close img {
  transition: all 0.5s;
}
.video-popup .close:hover img {
  transform: rotate(180deg);
}

.video-popup-backdrop {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  z-index: 100000;
  top: -30%;
  transition: all 0.5s ease;
  visibility: hidden;
}
.video-popup-backdrop.show {
  opacity: 0.75;
  visibility: visible;
  top: 0;
}

.no-image-header .form-holder input, .no-image-header .form-holder textarea {
  background-color: #434246;
  border: 1px solid #434246;
  color: #FFFFFF;
}
.no-image-header .form-holder input:focus, .no-image-header .form-holder textarea:focus {
  color: #2D2C31 !important;
}
.no-image-header .form-holder .nice-select {
  background-color: #434246 !important;
  border: 1px solid #434246 !important;
  color: #FFFFFF !important;
}
.no-image-header .form-holder .nice-select::after {
  border-bottom: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}
.no-image-header .form-holder .nice-select .option {
  color: #2D2C31;
}
.no-image-header .form-holder .fui-label, .no-image-header .form-holder .fui-error .fui-label {
  color: #FFFFFF;
}
.no-image-header .form-holder .fui-error .fui-input-container input:focus, .no-image-header .form-holder .fui-error .fui-input-container textarea:focus {
  background-color: #434246 !important;
  color: #FFFFFF !important;
}
.no-image-header .form-holder .fui-error .fui-input-container input, .no-image-header .form-holder .fui-error .fui-input-container textarea {
  color: #FFFFFF !important;
}
.no-image-header .form-holder h2 {
  color: #FFFFFF;
  font-size: 28px;
  line-height: 40px;
  margin-bottom: 30px;
}

.cta-label {
  background-color: #22B2E7;
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  padding: 15px 25px;
  z-index: 10000;
  transform-origin: right top;
  cursor: pointer;
  transition: all 0.4s;
  color: #FFFFFF;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
  font-weight: 600;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.2);
}
.cta-label:hover {
  background-color: #2D2C31;
}
.cta-label > a {
  color: #FFFFFF;
  transform: rotate(180deg);
}

.victa-diensten {
  padding: 75px 0;
  background-color: #22B2E7;
}
.victa-diensten .intro-container {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
  padding: 0 40px;
  color: #FFFFFF;
}
.victa-diensten .intro-container h2 {
  color: #FFFFFF;
}
.victa-diensten .intro-container h3 {
  color: #2D2C31;
}
.victa-diensten.custom-margin {
  margin-top: 75px;
}

.diensten-slider-holder {
  overflow: hidden;
  position: relative;
  padding: 0 40px;
}
.diensten-slider-holder .uk-slider-container {
  z-index: 5;
}
.diensten-slider-holder::before {
  content: "";
  width: 100vw;
  height: 3px;
  background-color: #2D2C31;
  position: absolute;
  left: 0;
  bottom: 40%;
  z-index: 1;
}
.diensten-slider-holder .item {
  position: relative;
  max-width: 280px;
  margin: 0 auto;
}
.diensten-slider-holder .item::before {
  content: "";
  background-image: url("/assets/images/arrows.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 34px;
  height: 34px;
  position: absolute;
  right: -16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}
.diensten-slider-holder .dienst {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  display: block;
}
.diensten-slider-holder .dienst .text-holder {
  padding: 95px 20px 70px;
  background-color: #FFFFFF;
  text-align: center;
  color: #2D2C31;
  position: relative;
}
.diensten-slider-holder .dienst .text-holder .step-holder {
  display: block;
  position: absolute;
  top: 13px;
  right: 13px;
  background-color: #22B2E7;
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 14px;
  width: 26px;
  height: 26px;
}
.diensten-slider-holder .dienst .text-holder .step-holder .step {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.diensten-slider-holder .dienst .text-holder h3 {
  margin-top: 0;
}
.diensten-slider-holder .dienst .text-holder .text {
  max-width: calc(100% - 40px);
  margin: 10px auto 0;
}
.diensten-slider-holder .dienst .button-holder {
  text-align: center;
  margin-top: -25px;
}
.diensten-slider-holder .dienst .image-holder {
  position: relative;
  overflow: hidden;
  max-width: 150px;
  margin: 0 auto -75px;
  z-index: 5;
}
.diensten-slider-holder .dienst .image-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s;
}
.diensten-slider-holder .dienst:hover .image-holder img {
  transform: scale(1.03);
}

.victa-diensten {
  position: relative;
}
.victa-diensten .diensten-dots {
  position: absolute;
  top: 0;
  transform: rotate(180deg);
  right: 0;
}
.victa-diensten .uk-dotnav.uk-margin {
  margin-top: 40px !important;
}
.victa-diensten .uk-dotnav > * > * {
  border: 1px solid #2D2C31;
}
.victa-diensten .uk-dotnav > .uk-active > * {
  border: 1px solid #2D2C31;
  background-color: #2D2C31;
}
.victa-diensten .uk-dotnav > * > :hover {
  background-color: #2D2C31;
}

.diensten-slider-holder .swipe-cirkel {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 80px;
  height: 80px;
  background-color: #FFFFFF;
  text-align: center;
  padding-top: 25px;
  border-radius: 80px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  z-index: 10;
  cursor: pointer;
  transform: scale(0.1);
  transition: opacity 300ms, visibility 300ms, transform 400ms cubic-bezier(0.64, 0.57, 0.67, 1.2);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.diensten-slider-holder .swipe-cirkel::before {
  content: "";
  background-image: url("/assets/images/swipe-icon.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  width: 37px;
  height: 27px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.diensten-slider-holder .slider-holder:hover .swipe-cirkel {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.diensten-slider-holder .swipe-cirkel {
  pointer-events: none;
}

.illustration-holder {
  height: 100%;
  padding: 4vw 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ribon-bar {
  background-color: #F5F6F8;
  padding: 10px 0;
  font-size: 16px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  position: relative;
}
.ribon-bar p {
  margin: 0;
}
.ribon-bar .ribon-inner {
  display: flex;
  align-items: center;
  max-width: 1560px;
}
.ribon-bar .ribon-icon {
  margin-right: 20px;
}
.ribon-bar .container {
  max-width: 1850px;
  position: relative;
}
.ribon-bar.custom {
  padding: 20px 0 20px;
}
.ribon-bar.custom .microsoft-icon {
  margin: 0 7px;
}
.ribon-bar.custom .linkedin-holder a {
  bottom: -20px;
}
.ribon-bar .linkedin-holder a {
  position: absolute;
  right: 40px;
  bottom: -10px;
  background-color: #22B2E7;
  width: 50px;
  height: 45px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  cursor: pointer;
  transition: all 0.4s;
}
.ribon-bar .linkedin-holder a::before {
  content: "";
  background-size: 100%;
  background-image: url(/assets/images/linkedIn-white.svg);
  background-repeat: no-repeat;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: 1;
  transition: all 0.4s ease;
  width: 26px;
  height: 25px;
}
.ribon-bar .linkedin-holder a:hover {
  background-color: #2D2C31;
}

.form-holder .fui-alert-success {
  font-family: "Poppins", sans-serif;
  color: #2D2C31 !important;
  background-color: #F5F6F8 !important;
  border-radius: 0 !important;
  padding: 30px 30px 30px 90px;
  position: relative;
  max-width: 470px;
  margin: 0 auto;
}
.form-holder .fui-alert-success p {
  margin-bottom: 0;
}
.form-holder .fui-alert-success::before {
  content: "";
  width: 50px;
  height: 50px;
  position: absolute;
  left: 20px;
  top: 20px;
  background-image: url(/assets/images/check-outline.svg);
  background-size: 100%;
}

.victa-diensten.detail {
  margin-top: 0;
}
.victa-diensten.detail .item {
  position: relative;
  transition: all 0.4s;
  opacity: 0.55;
  max-width: 255px;
}
.victa-diensten.detail .item:hover, .victa-diensten.detail .item.active {
  opacity: 1;
}
.victa-diensten.detail .diensten-slider-holder .uk-slider-container {
  max-width: 1440px;
  margin: 0 auto;
}
.victa-diensten.detail .diensten-slider-holder::before {
  bottom: 40%;
}

.products-holder .scroller {
  color: #FFFFFF;
  top: 60%;
  transform: rotate(-90deg);
  transform-origin: top left;
}
.products-holder .scroller::before {
  border: 2px solid #FFFFFF;
  z-index: 5;
}
.products-holder .scroller::after {
  background-color: #2D2C31;
}
.products-holder .scroller:hover {
  color: #2D2C31;
}
.products-holder .scroller:hover::before {
  border: 2px solid #2D2C31;
}
.products-holder .scroller:hover::after {
  background-color: #FFFFFF;
}

.side-popup {
  width: 100%;
  max-width: 460px;
  position: fixed;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  background-color: #FFFFFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  z-index: 1000;
  padding: 50px 40px 20px;
  box-sizing: border-box;
  max-height: 100%;
  overflow: hidden;
  transition: all 0.4s;
}
.side-popup::before {
  content: "";
  background-image: url(/assets/images/popup-decoration.svg);
  position: absolute;
  bottom: 0;
  background-size: 100%;
  right: 0;
  background-position: bottom;
  background-repeat: no-repeat;
  width: 150px;
  height: 175px;
  z-index: 1;
}
.side-popup .side-popup-close {
  position: absolute;
  right: 15px;
  top: 15px;
  cursor: pointer;
  z-index: 5;
}
.side-popup .side-popup-close img {
  transition: all 0.4s;
}
.side-popup .side-popup-close:hover img {
  transform: rotate(360deg);
}
.side-popup h3 {
  font-size: 20px;
  padding-top: 10px;
  position: relative;
}
.side-popup h3::after {
  content: "";
  width: 25px;
  height: 3px;
  left: 0px;
  background-color: #22B2E7;
  position: absolute;
  top: -20px;
  z-index: 1;
}
.side-popup h3 + p {
  margin-top: 10px;
}
.side-popup.show {
  transform: translateX(0);
}

.home-particles {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 350px !important;
  width: 12% !important;
  height: 260px !important;
  opacity: 0.3;
}
.home-particles.small {
  width: 7% !important;
  height: 200px !important;
}

.landing-particles {
  position: absolute;
  left: 0;
  top: 0;
  max-width: 350px !important;
  width: 7% !important;
  height: 200px !important;
  opacity: 0.3;
  z-index: 1;
}

.product-labels-holder {
  padding: 50px 0;
}
.product-labels-holder .product-labels-container {
  display: flex;
}
.product-labels-holder .product-labels {
  display: inline-block;
}
.product-labels-holder .product-labels > div > div {
  display: inline-block;
  margin-right: 5px;
}
.product-labels-holder .products-title {
  display: inline-block;
  margin-right: 20px;
  min-width: 200px;
  margin-top: 15px;
}
.product-labels-holder .products-title h4 {
  margin-bottom: 0;
}
.product-labels-holder .label {
  border: 1px solid #2D2C31;
  padding: 5px 25px 5px 5px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  transition: all 0.4s;
  background-color: #FFFFFF;
  color: #2D2C31;
  cursor: pointer;
}
.product-labels-holder .label:hover {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  background-color: #22B2E7;
  color: #FFFFFF;
  border: 1px solid #22B2E7;
}
.product-labels-holder .label:not(:last-child) {
  margin-right: 10px;
}
.product-labels-holder .label .icon-holder {
  max-width: 40px;
  max-height: 40px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 7px;
  position: relative;
  background-color: #FFFFFF;
}
.product-labels-holder .label .icon-holder img {
  width: 100%;
  height: 100%;
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder {
  padding: 20px;
}
.section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder h3 {
  margin-top: 0;
  margin-bottom: 10px;
}
.section-marketplaceOverzicht .nieuws-grid-holder .nieuws-item .text-holder .omschrijving {
  margin-bottom: 15px;
}

.nieuwsbrief-container {
  padding: 50px 0;
  background-color: #F5F6F8;
}
.nieuwsbrief-container .title-container {
  max-width: 530px;
}

.payment-form input {
  width: 100%;
}

.payment-form {
  margin: 80px auto;
  max-width: 650px;
}
.payment-form .button {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  outline: none;
  overflow: hidden;
  color: #FFFFFF;
  border-radius: 8px;
  background-color: #F19E38;
  position: relative;
  vertical-align: top;
  padding: 13px 25px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  border: 1px solid #F19E38;
  width: unset;
}
.payment-form h3 {
  margin-bottom: 10px;
}

.podcasts-holder {
  margin-top: 75px;
  background-color: #FFFFFF;
}
.podcasts-holder .item .text-holder {
  padding: 25px 25px 20px;
  background-color: #F5F6F8;
}
.podcasts-holder .item h2 {
  font-size: 28px;
  line-height: 38px;
  font-weight: 600;
  color: #2D2C31;
  margin-bottom: 20px;
}

.podcast-item {
  max-width: 870px;
  margin: 75px auto;
  position: relative;
}
.podcast-item audio {
  position: absolute;
  bottom: 30px;
  width: calc(100% - 60px);
  left: 30px;
}
.podcast-item audio::-webkit-media-controls-enclosure {
  border-radius: 5px;
  background-color: #FFFFFF;
}

[class*=uk-animation-] {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-rightCustom;
  animation-name: uk-fade-rightCustom;
}

@-webkit-keyframes uk-fade-rightCustom {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}

@keyframes uk-fade-rightCustom {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}
.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottomCustom;
  animation-name: uk-fade-bottomCustom;
}

@-webkit-keyframes uk-fade-bottomCustom {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}

@keyframes uk-fade-bottomCustom {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(-10px);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(-10px);
  }
}
.reveal-element {
  width: 100%;
  position: absolute;
  top: 0;
  background-color: #22B2E7;
  height: 100%;
}

.line-animation, .line-animation-delay {
  overflow: hidden;
}

.scale-up {
  transition: all 0.9s cubic-bezier(0.1, 0.38, 0.53, 0.98);
  transform: scale(0.9) translateY(100px);
  opacity: 0;
  padding-top: 0;
}
.scale-up.show {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.fade-bottom {
  transition: all 0.9s cubic-bezier(0.1, 0.38, 0.53, 0.98);
  transform: translateY(100px);
  opacity: 0;
  padding-top: 0;
}
.fade-bottom.show {
  transform: translateY(0);
  opacity: 1;
}

.large-outline-text text {
  stroke-dasharray: 1110;
  stroke-dashoffset: 1100;
  font-size: 250px;
}

.large-outline-text.show text {
  -webkit-animation: fillOutline 3s linear forwards;
          animation: fillOutline 3s linear forwards;
}

@-webkit-keyframes fillOutline {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes fillOutline {
  to {
    stroke-dashoffset: 0;
  }
}
/* IE 10 alert */
.blocker {
  position: fixed;
  width: 100%;
  height: 100%;
  color: #fff;
  background: rgba(0, 0, 0, 0.9);
  top: 0;
  left: 0;
  z-index: 999;
  transition: all ease 0.3s;
  display: none;
}

.blocker .block_holder {
  width: 100%;
  max-width: 600px;
  margin: 15% auto;
  background: #fff;
  color: #000;
  padding: 30px;
  box-sizing: border-box;
  min-height: 450px;
}

.blocker .block_holder a {
  color: #4BAE47;
}

.blocker.active {
  display: block;
}

a.button, button.button, span.button {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  outline: none;
  overflow: hidden;
  color: #FFFFFF;
  border-radius: 8px;
  background-color: #F19E38;
  position: relative;
  vertical-align: top;
  padding: 13px 25px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
}
a.button::before, a.button::after, button.button::before, button.button::after, span.button::before, span.button::after {
  content: "";
  background: #22B2E7;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
a.button::after, button.button::after, span.button::after {
  width: 105%;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
a.button::before, button.button::before, span.button::before {
  width: 135%;
  transform: translate3d(-101%, 0, 0);
}
a.button span, button.button span, span.button span {
  display: block;
  position: relative;
  z-index: 1;
}
a.button > span, button.button > span, span.button > span {
  overflow: hidden;
}
a.button:hover::before, button.button:hover::before, span.button:hover::before {
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
a.button:hover > span > span, button.button:hover > span > span, span.button:hover > span > span {
  -webkit-animation: MoveRightInitial 0.3s forwards, MoveRightEnd 0.3s forwards 0.2s;
          animation: MoveRightInitial 0.3s forwards, MoveRightEnd 0.3s forwards 0.2s;
}
a.button:hover::after, button.button:hover::after, span.button:hover::after {
  transform: translate3d(0, 0, 0);
  transition: transform 0.01s 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}
a.button.outline, button.button.outline, span.button.outline {
  border: 1px solid #777B86;
  background-color: transparent;
}
a.button.outline:hover, button.button.outline:hover, span.button.outline:hover {
  border: 1px solid #22B2E7;
}
a.button.outline.white, button.button.outline.white, span.button.outline.white {
  background-color: #FFFFFF;
  color: #2D2C31;
}
a.button.outline.white:hover, button.button.outline.white:hover, span.button.outline.white:hover {
  color: #FFFFFF;
}
a.button.outline.grey, button.button.outline.grey, span.button.outline.grey {
  background-color: transparent;
  color: #2D2C31;
}
a.button.outline.grey:hover, button.button.outline.grey:hover, span.button.outline.grey:hover {
  color: #FFFFFF;
}
a.button.download > span > span, button.button.download > span > span, span.button.download > span > span {
  position: relative;
  padding-left: 25px;
}
a.button.download > span > span::before, button.button.download > span > span::before, span.button.download > span > span::before {
  content: "";
  background-image: url("/assets/images/download-icon.svg");
  background-size: 100%;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0;
  top: 4px;
  z-index: 1;
}
a.button.orange-reveal, button.button.orange-reveal, span.button.orange-reveal {
  background-color: #22B2E7;
}
a.button.orange-reveal::before, a.button.orange-reveal::after, button.button.orange-reveal::before, button.button.orange-reveal::after, span.button.orange-reveal::before, span.button.orange-reveal::after {
  background: #F19E38;
}
a.button.black.orange-reveal, button.button.black.orange-reveal, span.button.black.orange-reveal {
  background-color: #2D2C31;
}
a.button.black.orange-reveal::before, a.button.black.orange-reveal::after, button.button.black.orange-reveal::before, button.button.black.orange-reveal::after, span.button.black.orange-reveal::before, span.button.black.orange-reveal::after {
  background: #F19E38;
}

a.read-more, span.read-more {
  font-family: "Poppins", sans-serif;
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
  display: inline-block;
}
a.read-more::before, a.read-more::after, span.read-more::before, span.read-more::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #22B2E7;
  bottom: 0;
  position: absolute;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s;
}
a.read-more::before, span.read-more::before {
  left: -100%;
}
a.read-more::after, span.read-more::after {
  right: -100%;
  transition-delay: 250ms;
}
a.read-more > span, span.read-more > span {
  padding-right: 15px;
  position: relative;
}
a.read-more > span::before, span.read-more > span::before {
  content: "";
  background-image: url(/assets/images/arrow-green-right.svg);
  background-size: cover;
  position: absolute;
  right: 0;
  top: 6px;
  width: 5px;
  height: 9px;
  z-index: 1;
}
a.read-more:hover::before, span.read-more:hover::before {
  left: 0;
}
a.read-more:hover::after, span.read-more:hover::after {
  right: 0;
}
a.read-more.black, span.read-more.black {
  color: #2D2C31;
}
a.read-more.black::before, a.read-more.black::after, span.read-more.black::before, span.read-more.black::after {
  background-color: #2D2C31;
}
a.read-more.black > span::before, span.read-more.black > span::before {
  background-image: url("/assets/images/arrow-black-right.svg");
}

@-webkit-keyframes MoveRightInitial {
  100% {
    transform: translate3d(105%, 0, 0);
  }
}

@keyframes MoveRightInitial {
  100% {
    transform: translate3d(105%, 0, 0);
  }
}
@-webkit-keyframes MoveRightEnd {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes MoveRightEnd {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.component-grid {
  margin: 80px auto;
}

.component-grid-1 {
  max-width: 100%;
  padding: 0;
}

.component-grid-2 .uk-grid-divider {
  text-align: center;
}

.component-grid .component {
  margin-bottom: 40px;
  z-index: 1;
  position: relative;
}

.component-grid .component:last-child {
  margin-bottom: 0px;
}

.component-grid .flex-column {
  display: flex;
  align-items: center;
}

.component-grid .flex-column.column-2 > div {
  margin-left: auto;
}

#inhoud > .background-color {
  position: relative;
  z-index: 1;
}

#inhoud > .background-color.grijs:first-child > .component-grid {
  margin-top: 170px;
}

#inhoud > .background-color.grijs:first-child > .component-grid.container-formulier {
  margin-top: 0;
}

#inhoud > .background-color.wit {
  background-color: #FFFFFF;
}

#inhoud > .background-color.no-top-margin > .component-grid {
  margin-top: 0;
}

.background-color {
  display: inline-block;
  width: 100%;
  position: relative;
  z-index: 1;
}
.background-color.grijs {
  background-color: #F5F6F8;
}
.background-color.wit {
  background-color: #FFFFFF;
}

.component-tekst, .component-html {
  margin-left: auto;
  margin-right: auto;
  max-width: 970px;
}

.container-tekst {
  padding: 0 40px;
}

.component-tekst h3 {
  color: #22B2E7;
}

.component-tekst ul {
  list-style: none;
  padding-left: 0;
}

.component-tekst ul li {
  padding-left: 25px;
  position: relative;
}
.component-tekst ul li::before {
  content: url(/assets/images/green-check.svg);
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 6px;
}

.component-grid-2 .component-tekst {
  max-width: 470px;
  margin-left: 0;
}

.component-grid-2 .uk-grid-divider .component-tekst {
  max-width: 370px;
  margin-left: auto;
}

.component-grid-2 .column-2 .component-tekst {
  margin-left: auto;
}

.component-grid.container-media {
  margin: 0;
}

.component-media img {
  width: 100%;
}

.component-media img.full-image {
  width: 100%;
  max-width: 100%;
}

.component-grid-2 .component-media {
  width: calc(100% + 70px);
}

.component-grid-2 .uk-grid-divider .component-media {
  width: 100%;
}

.component-grid-2 .uk-grid-divider .component-media img {
  width: 100%;
  max-width: 370px;
}

.component-grid-2 .uk-grid-divider .column-1 .component-media {
  float: none;
}

.component-grid-2 .column-1 .component-media {
  float: right;
}

.component-button {
  margin-left: auto;
  margin-right: auto;
  max-width: 970px;
}

.container-button {
  padding: 0 40px;
}

.component-button:not(.component-index-1) {
  margin-top: -10px;
}

.component-grid-2 .column-2 .component-button {
  max-width: 470px;
}

.container-quote {
  padding: 0 40px;
  max-width: 1250px;
  box-sizing: border-box;
}

.component-quote {
  padding-left: 140px;
  position: relative;
}
.component-quote::before {
  content: url(/assets/images/quote.svg);
  position: absolute;
  left: 0;
  top: -2px;
}

.component-quote blockquote {
  font-style: normal;
  color: #2D2C31;
}

.component-quote .quotes img {
  width: 56px;
}

.component-quote .auteur {
  margin-top: 25px;
  padding-top: 15px;
  color: #22B2E7;
  position: relative;
}
.component-quote .auteur::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 1px;
  background-color: #22B2E7;
}

.component-quote .auteur > div {
  color: #2D2C31;
}

.component-grid.container-callToAction {
  margin: 0;
}

.cta-full-background {
  padding: 200px 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}
.cta-full-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2D2C31;
  opacity: 0.85;
}

.cta-full-background .container {
  position: relative;
  z-index: 2;
  color: #fff;
}

.cta-full-background h2 {
  color: #FFFFFF;
}

.cta-full-background h4 {
  color: #22B2E7;
}

.cta-full-background .cta-description {
  padding-top: 50px;
  position: relative;
  max-width: 470px;
}
.cta-full-background .cta-description::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  height: 3px;
  width: 25px;
  background-color: #22B2E7;
}

.cta-full-background .cta-description .button {
  margin-top: 20px;
}

.cta-right-image {
  padding: 200px 0;
  position: relative;
}
.cta-right-image::before {
  content: "";
  position: absolute;
  top: 100px;
  right: 0;
  width: calc(50% - 200px);
  height: calc(100% - 200px);
  background-color: #2D2C31;
  z-index: -2;
}

.cta-right-image .cta-button {
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 500;
  display: inline-block;
  outline: none;
  overflow: hidden;
  color: #FFFFFF;
  border-radius: 8px;
  background-color: #22B2E7;
  position: relative;
  vertical-align: top;
  padding: 0 100px 0 0;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
  margin-top: 20px;
}
.cta-right-image .cta-button .text-holder {
  padding: 25px 0 25px 25px;
  display: inline-block;
}
.cta-right-image .cta-button .arrow-holder {
  width: 75px;
  height: 100%;
  display: inline-block;
  background-color: #22B2E7;
  position: absolute;
  overflow: hidden;
  border-left: 1px solid #FFFFFF;
  right: 0;
  top: 0;
  transition: all 0.3s cubic-bezier(0.6, 0, 0, 1);
}
.cta-right-image .cta-button .arrow-holder::before, .cta-right-image .cta-button .arrow-holder::after {
  content: "";
  background-image: url("/assets/images/cta-arrow.svg");
  background-size: 100%;
  width: 23px;
  height: 19px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.5s cubic-bezier(0.6, 0, 0, 1);
}
.cta-right-image .cta-button .arrow-holder::before {
  left: -100px;
}
.cta-right-image .cta-button:hover {
  background-color: #F19E38;
}
.cta-right-image .cta-button:hover .arrow-holder {
  background-color: #F19E38;
}
.cta-right-image .cta-button:hover .arrow-holder::before {
  left: 50%;
}
.cta-right-image .cta-button:hover .arrow-holder::after {
  left: 200px;
}

.cta-full-no-background {
  background-color: #22B2E7;
  padding: 100px 20px;
  position: relative;
  color: #FFFFFF;
}
.cta-full-no-background::before {
  content: url(/assets/images/cta-dots-left-corner.svg);
  position: absolute;
  left: 0;
  bottom: 0;
}
.cta-full-no-background::after {
  content: url(/assets/images/cta-dots-right-corner.svg);
  position: absolute;
  right: 0;
  top: 0;
}

.cta-full-no-background .cta-text {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.cta-full-no-background h2 {
  color: #FFFFFF;
}

.cta-full-no-background h4 {
  color: #2D2C31;
}

.column-1 .cta-1-2 {
  background-color: #2D2C31;
}

.column-2 .cta-1-2 {
  background-color: #22B2E7;
}

.cta-1-2 {
  padding: 60px 50px 120px;
  position: relative;
}

.cta-1-2 h3 {
  color: #FFFFFF;
  margin-top: 25px;
}

.cta-1-2 a.read-more, .cta-1-2 span.read-more {
  position: absolute;
  bottom: 50px;
}

.column-2 .cta-1-2 a.read-more, .column-2 .cta-1-2 span.read-more {
  color: #2D2C31;
}
.column-2 .cta-1-2 a.read-more::before, .column-2 .cta-1-2 a.read-more::after, .column-2 .cta-1-2 span.read-more::before, .column-2 .cta-1-2 span.read-more::after {
  background-color: #2D2C31;
}

.column-2 .cta-1-2 a.read-more > span::before, .column-2 .cta-1-2 span.read-more > span::before {
  background-image: url(/assets/images/arrow-black-right.svg);
}

.component-grid.container-uitgelichteItems {
  margin: 0;
}
.component-grid.container-uitgelichteItems .item-holder {
  display: block;
  color: #2D2C31;
}

.component-gerelateerdeItems .intro {
  padding: 100px 0 50px;
  color: #FFFFFF;
  position: relative;
}
.component-gerelateerdeItems .intro::before {
  content: "";
  position: absolute;
  top: 0;
  right: -300px;
  height: calc(100% + 100px);
  width: 3000px;
  background-color: #2D2C31;
  z-index: -2;
}
.component-gerelateerdeItems .intro::after {
  content: "";
  position: absolute;
  top: 0;
  right: -300px;
  height: 15px;
  width: 130px;
  background-color: #22B2E7;
  z-index: -1;
}

.component-gerelateerdeItems .intro > * {
  max-width: 600px;
}

.component-gerelateerdeItems .intro h2 {
  color: #FFFFFF;
}

.component-gerelateerdeItems .item-holder > div {
  width: 100%;
}

.component-gerelateerdeItems .item-holder .item-text {
  background-color: #FFFFFF;
  padding: 20px 20px 0;
  box-sizing: border-box;
}
.component-gerelateerdeItems .item-holder .item-text.with-image {
  padding: 0 20px;
}

.component-gerelateerdeItems .item-holder img {
  width: 100%;
}

.component-gerelateerdeItems .item-text {
  margin-top: 20px;
  text-align: center;
}

.component-gerelateerdeItems .item-text.button {
  display: block;
  margin-top: 20px;
}

.component-gerelateerdeItems .item-text p {
  margin-top: 15px;
}

.component-formulier {
  padding: 120px 0;
  position: relative;
}

.component-formulier .achtergrond-titel {
  position: absolute;
  bottom: -50px;
  left: 70px;
  font-family: "Poppins", sans-serif;
  font-size: 130px;
  line-height: 130px;
  font-weight: 600;
  -webkit-text-stroke: 1px #B1B8C7;
  -webkit-text-fill-color: transparent;
  transform: rotate(-90deg);
  transform-origin: top left;
}

.component-formulier .achtergrond-titel span {
  display: block;
}

.component-grid.container-formulier {
  margin: 0;
}

.component-grid.container-slider {
  margin: 0;
}

.component-slider {
  padding: 150px 0 150px;
}

.slider {
  width: calc(100vw + 500px);
  margin-left: -250px;
}

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

.slider .slider-image .landscape {
  width: 100%;
}

.slider .slider-image .portrait {
  width: 65%;
  margin-top: 70px;
}

.kolom-titel {
  margin-bottom: -20px;
}
.kolom-titel h3 {
  color: #22B2E7;
  padding-bottom: 10px;
}
.kolom-titel > div {
  padding-bottom: 20px;
}

.vragen-component .vragen-intro-holder {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
}
.vragen-component .vragen-holder {
  max-width: 980px;
  margin: 0 auto;
}
.vragen-component .vraag:not(:last-child) {
  margin-bottom: 15px;
}
.vragen-component .vraag-header {
  padding: 20px 75px 20px 30px;
  background-color: #F5F6F8;
  cursor: pointer;
  position: relative;
}
.vragen-component .vraag-header::before {
  content: "";
  background-image: url(/assets/images/arrow-down-black.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 14px;
  height: 8px;
  position: absolute;
  right: 30px;
  top: 30px;
  transition: all 0.4s ease;
}
.vragen-component .vraag-antwoord {
  opacity: 0;
  transition: all 0.4s;
  max-height: 0;
  overflow: hidden;
  padding: 0 30px;
}
.vragen-component .vraag-header.open::before {
  transform: rotate(180deg);
}
.vragen-component .vraag-header.open + .vraag-antwoord {
  opacity: 1 !important;
  max-height: 700px !important;
  margin-top: 15px;
  transition: all 0.7s !important;
}

.video-container {
  max-width: 1310px;
  margin: 0 auto;
}

@media only screen and (max-width: 1850px) {
  .component-gerelateerdeItems .intro::before, .component-gerelateerdeItems .intro::after {
    right: -97px;
  }

  .component-formulier .achtergrond-titel {
    bottom: 50px;
    left: 15px;
    font-size: 70px;
    line-height: 70px;
  }
}
@media only screen and (max-width: 1600px) {
  .component-uitgelichteItems::before {
    left: -67px;
    top: 38px;
    width: 214px;
  }

  .component-uitgelichteItems::after {
    right: -85px;
    bottom: 18px;
    width: 225px;
  }

  .cta-full-background {
    padding: 120px 0;
  }
}
@media only screen and (max-width: 1439px) {
  .component-uitgelichteItems::before {
    display: none;
  }

  .component-uitgelichteItems::after {
    display: none;
  }

  .component-gerelateerdeItems .intro::before,
.component-gerelateerdeItems .intro::after {
    right: -60px;
  }

  .component-formulier .achtergrond-titel {
    display: none;
  }
}
@media only screen and (max-width: 1320px) {
  .component-grid-2 .component-media {
    width: 100%;
  }
}
@media only screen and (max-width: 1250px) {
  .component-grid {
    margin: 70px auto;
  }

  .component-quote .quotes {
    margin-bottom: -65px;
  }

  .component-quote .quotes img {
    width: 110px;
  }

  .component-gerelateerdeItems .intro {
    padding-top: 70px;
  }
  .component-gerelateerdeItems .intro::before, .component-gerelateerdeItems .intro::after {
    right: -40px;
  }

  .cta-full-background {
    padding: 70px 0;
  }
}
@media only screen and (max-width: 1100px) {
  .component-formulier {
    padding: 12vw 0 80px;
  }

  .component-uitgelichteItems {
    padding: 70px 0 20px;
  }

  .component-slider {
    padding: 70px 0 80px;
  }
}
@media only screen and (max-width: 1024px) {
  .cta-right-image .cta-button .text-holder {
    padding: 20px 0 20px 25px;
  }

  .cta-right-image .cta-button .arrow-holder {
    width: 60px;
  }

  .cta-right-image .cta-button {
    padding: 0 80px 0 0;
    font-size: 15px;
  }

  .vragen-component .vragen-intro-holder {
    margin: 0 auto 50px;
  }
}
@media only screen and (max-width: 1023px) {
  .vragen-component .vraag-header {
    padding: 20px 60px 20px 25px;
    font-size: 16px;
  }
  .vragen-component .vraag-header::before {
    right: 25px;
  }

  .vragen-component .vraag-antwoord {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .component-grid {
    margin: 50px auto;
  }

  .component-grid.component-grid-1 {
    padding: 0;
  }

  .component-grid .component {
    margin-bottom: 35px;
  }

  .component-grid-2 .component-tekst {
    max-width: 100%;
  }

  .component-grid-2 .component-media {
    width: 100%;
  }

  #inhoud > .background-color.grijs:first-child > .component-grid {
    margin-top: 50px;
  }

  .component-grid.component-grid-1.container-tekst,
.component-grid.component-grid-1.container-button,
.component-grid.component-grid-1.container-quote {
    padding: 0 20px;
  }

  .component-quote {
    padding-left: 0;
    padding-top: 60px;
  }

  .component-quote .auteur {
    margin-top: 20px;
    padding-top: 13px;
  }

  .component-formulier {
    padding: 35px 0 50px;
  }

  .component-uitgelichteItems {
    padding: 35px 0 20px;
  }

  .component-slider {
    padding: 35px 0 50px;
  }

  .slider {
    width: 100%;
    margin-left: 0;
  }

  .slider .slider-image .portrait {
    width: 58.5%;
    margin-top: 0;
  }

  .component-gerelateerdeItems .item-holder > div {
    width: 100%;
    margin-bottom: 20px;
  }

  .cta-full-background {
    padding: 40px 0;
  }

  .cta-full-background .cta-description {
    padding-top: 0;
  }
  .cta-full-background .cta-description::before {
    top: 0;
  }

  .cta-full-background .cta-description .button {
    margin-top: 5px;
  }

  .cta-right-image {
    padding: 50px 0;
  }

  .cta-right-image::before,
.cta-right-image::after {
    display: none;
  }

  .cta-full-no-background {
    padding: 50px 20px;
  }
  .cta-full-no-background::after, .cta-full-no-background::before {
    display: none;
  }

  .cta-1-2 {
    padding: 30px 20px 85px;
  }

  .cta-1-2 a.read-more {
    bottom: 20px;
  }

  .cta-right-image .cta-button {
    margin-top: 10px;
  }

  .vragen-component .vraag-header {
    padding: 15px 50px 15px 20px;
  }
  .vragen-component .vraag-header::before {
    width: 12px;
    height: 7px;
    top: 25px;
  }

  .vragen-component .vragen-intro-holder {
    margin: 0 auto 30px;
  }
}
body {
  /*.nice-select .option.selected {
    font-weight: bold; }*/
}
body .nice-select:not([multiple]):not([size]) {
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  font-family: inherit;
  font-size: 17px;
  font-weight: normal;
  height: 58px;
  line-height: 58px;
  outline: none;
  padding-left: 20px;
  padding-right: 30px;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
  text-align: left !important;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: 100%;
  background-image: none;
}
body .fui-i *, body .fui-i ::after, body .fui-i ::before {
  border: none;
}
body .fui-input:focus, body .fui-select:focus {
  outline: 0;
  border-color: transparent;
  box-shadow: none;
}
body .nice-select span {
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
}
body .nice-select:hover {
  border-color: #d81111;
}
body .nice-select:active, body .nice-select.open, body .nice-select:focus {
  border-color: #d81111;
}
body .nice-select:after {
  border-bottom: 2px solid #222;
  border-right: 2px solid #222;
  content: "";
  display: block;
  height: 9px;
  margin-top: -4px;
  pointer-events: none;
  position: absolute;
  right: 18px;
  top: 45%;
  transform-origin: 66% 66%;
  transform: rotate(45deg);
  transition: all 0.15s ease-in-out;
  width: 9px;
}
body .nice-select.open:after {
  transform: rotate(-135deg);
}
body .nice-select.open .list {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1) translateY(0);
}
body .nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none;
}
body .nice-select.disabled:after {
  border-color: #cccccc;
}
body .nice-select.wide {
  width: 100%;
}
body .nice-select.wide .list {
  left: 0 !important;
  right: 0 !important;
}
body .nice-select.right {
  float: right;
}
body .nice-select.right .list {
  left: auto;
  right: 0;
}
body .nice-select.small {
  font-size: 12px;
  height: 36px;
  line-height: 34px;
}
body .nice-select.small:after {
  height: 4px;
  width: 4px;
}
body .nice-select.small .option {
  line-height: 34px;
  min-height: 34px;
}
body .nice-select .list {
  background-color: #fff;
  border-radius: 4px;
  /*box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);*/
  box-sizing: border-box;
  margin-top: 4px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  transform-origin: 50% 0;
  transform: scale(0.75) translateY(-21px);
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
  width: calc(100% + 4px);
  margin-left: -2px;
  border: 1px solid #B1B8C7;
}
body .nice-select .list:hover .option:not(:hover) {
  background-color: transparent !important;
}
body .nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 40px;
  list-style: none;
  min-height: 40px;
  outline: none;
  padding-left: 18px;
  padding-right: 29px;
  text-align: left;
  transition: all 0.2s;
}
body .nice-select .option:hover, body .nice-select .option.focus, body .nice-select .option.selected.focus {
  background-color: #f6f6f6;
}
body .nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
}
body .no-csspointerevents .nice-select .list {
  display: none;
}
body .no-csspointerevents .nice-select.open .list {
  display: block;
}

#loader {
  width: 100%;
  height: 150vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999999;
  background-color: #22B2E7;
  transition: all ease-in 500ms;
  transition-delay: 200ms;
  /*&::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 150vh;
      background-color: $white;
      z-index: 1;
      transition: all ease-out 400ms;
      opacity: 0.8;
  }
  */
}
#loader.hide {
  display: none;
}

#loader.loaded {
  left: 100%;
}
#loader.loaded::before {
  left: 100%;
}

#loader.finished {
  left: auto;
  right: 100%;
  transition: all 0ms;
  transition-delay: 0ms;
}
#loader.finished::before {
  left: auto;
  right: 100%;
}

#loader.unloadpage {
  right: 0;
  transition: all ease 600ms;
}
#loader.unloadpage::before {
  right: 0;
  transition: all ease-in 500ms;
  transition-delay: 200ms;
}

#page-wrapper {
  opacity: 0;
  visibility: hidden;
  transition: all 300ms;
  overflow: hidden;
}

#page-wrapper.loaded {
  opacity: 1;
  visibility: visible;
}

@-webkit-keyframes plyr-progress {
  to {
    background-position: 25px 0;
  }
}

@keyframes plyr-progress {
  to {
    background-position: 25px 0;
  }
}
@-webkit-keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.plyr {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: subpixel-antialiased;
  direction: ltr;
  font-family: Avenir, "Avenir Next", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  line-height: 1.7;
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
}

.plyr audio, .plyr video {
  border-radius: inherit;
  height: auto;
  vertical-align: middle;
  width: 100%;
}

.plyr button {
  font: inherit;
  line-height: inherit;
  width: auto;
  height: auto;
}

.plyr button::before {
  display: none;
}

.plyr:focus {
  outline: 0;
}

.plyr--full-ui {
  box-sizing: border-box;
}

.plyr--full-ui *, .plyr--full-ui ::after, .plyr--full-ui ::before {
  box-sizing: inherit;
}

.plyr--full-ui a, .plyr--full-ui button, .plyr--full-ui input, .plyr--full-ui label {
  touch-action: manipulation;
}

.plyr__badge {
  background: #4f5b5f;
  border-radius: 2px;
  color: #fff;
  font-size: 9px;
  line-height: 1;
  padding: 3px 4px;
}

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none;
}

.plyr__captions {
  -webkit-animation: plyr-fade-in 0.3s ease;
          animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  color: #fff;
  display: none;
  font-size: 14px;
  left: 0;
  padding: 10px;
  position: absolute;
  text-align: center;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}

.plyr__captions .plyr__caption {
  background: rgba(0, 0, 0, 0.8);
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}

.plyr__captions .plyr__caption div {
  display: inline;
}

.plyr__captions span:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__captions {
    font-size: 16px;
    padding: 20px;
  }
}
@media (min-width: 768px) {
  .plyr__captions {
    font-size: 18px;
  }
}
.plyr--captions-active .plyr__captions {
  display: block;
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  transform: translateY(-40px);
}

.plyr__control {
  background: 0 0;
  border: 0;
  border-radius: 3px;
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
  overflow: visible;
  padding: 7px;
  position: relative;
  transition: all 0.3s ease;
}

.plyr__control svg {
  display: block;
  fill: currentColor;
  height: 18px;
  pointer-events: none;
  width: 18px;
}

.plyr__control:focus {
  outline: 0;
}

.plyr__control.plyr__tab-focus {
  outline: 0;
}

a.plyr__control {
  text-decoration: none;
}

a.plyr__control::after, a.plyr__control::before {
  display: none;
}

.plyr__control.plyr__control--pressed .icon--not-pressed, .plyr__control.plyr__control--pressed .label--not-pressed, .plyr__control:not(.plyr__control--pressed) .icon--pressed, .plyr__control:not(.plyr__control--pressed) .label--pressed {
  display: none;
}

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
  background: #22B2E7;
  color: #fff;
}

.plyr--video .plyr__control svg {
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.15));
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
  background: #22B2E7;
  color: #fff;
}

.plyr__control--overlaid {
  background: #22B2E7;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: #fff;
  display: none;
  left: 50%;
  padding: 15px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}

.plyr__control--overlaid:focus, .plyr__control--overlaid:hover {
  background: #22B2E7;
}

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
}

.plyr--full-ui ::-webkit-media-controls {
  display: none;
}

.plyr__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  text-align: center;
}

.plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls > .plyr__control {
  margin-left: 5px;
}

.plyr__controls .plyr__menu + .plyr__control, .plyr__controls .plyr__progress + .plyr__control, .plyr__controls > .plyr__control + .plyr__control, .plyr__controls > .plyr__control + .plyr__menu {
  margin-left: 2px;
}

.plyr__controls > .plyr__control:first-child, .plyr__controls > .plyr__control:first-child + [data-plyr=pause] {
  margin-left: 0;
  margin-right: auto;
}

.plyr__controls:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls > .plyr__control {
    margin-left: 10px;
  }
}
.plyr--audio .plyr__controls {
  background: #fff;
  border-radius: inherit;
  color: #4f5b5f;
  padding: 10px;
}

.plyr--video .plyr__controls {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  left: 0;
  padding: 20px 5px 5px;
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 3;
}

@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: 35px 10px 10px;
  }
}
.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
}

.plyr [data-plyr=airplay], .plyr [data-plyr=captions], .plyr [data-plyr=fullscreen], .plyr [data-plyr=pip] {
  display: none;
}

.plyr--airplay-supported [data-plyr=airplay], .plyr--captions-enabled [data-plyr=captions], .plyr--fullscreen-enabled [data-plyr=fullscreen], .plyr--pip-supported [data-plyr=pip] {
  display: inline-block;
}

.plyr__video-embed {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

.plyr__video-embed iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  transform: translateY(-38.28125%);
}

.plyr__menu {
  display: flex;
  position: relative;
}

.plyr__menu .plyr__control svg {
  transition: transform 0.3s ease;
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
  transform: rotate(90deg);
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
  display: none;
}

.plyr__menu__container {
  -webkit-animation: plyr-popup 0.2s ease;
          animation: plyr-popup 0.2s ease;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 16px;
  margin-bottom: 10px;
  position: absolute;
  right: -3px;
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}

.plyr__menu__container > div {
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.plyr__menu__container::after {
  border: 4px solid transparent;
  border-top-color: rgba(255, 255, 255, 0.9);
  content: "";
  height: 0;
  position: absolute;
  right: 15px;
  top: 100%;
  width: 0;
}

.plyr__menu__container [role=menu] {
  padding: 7px;
}

.plyr__menu__container [role=menuitem], .plyr__menu__container [role=menuitemradio] {
  margin-top: 2px;
}

.plyr__menu__container [role=menuitem]:first-child, .plyr__menu__container [role=menuitemradio]:first-child {
  margin-top: 0;
}

.plyr__menu__container .plyr__control {
  align-items: center;
  color: #4f5b5f;
  display: flex;
  font-size: 14px;
  padding: 4px 11px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr__menu__container .plyr__control > span {
  align-items: inherit;
  display: flex;
  width: 100%;
}

.plyr__menu__container .plyr__control::after {
  border: 4px solid transparent;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.plyr__menu__container .plyr__control--forward {
  padding-right: 28px;
}

.plyr__menu__container .plyr__control--forward::after {
  border-left-color: rgba(79, 91, 95, 0.8);
  right: 5px;
}

.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after, .plyr__menu__container .plyr__control--forward:hover::after {
  border-left-color: currentColor;
}

.plyr__menu__container .plyr__control--back {
  font-weight: 500;
  margin: 7px;
  margin-bottom: 3px;
  padding-left: 28px;
  position: relative;
  width: calc(100% - 14px);
}

.plyr__menu__container .plyr__control--back::after {
  border-right-color: rgba(79, 91, 95, 0.8);
  left: 7px;
}

.plyr__menu__container .plyr__control--back::before {
  background: #b7c5cd;
  box-shadow: 0 1px 0 #fff;
  content: "";
  height: 1px;
  left: 0;
  margin-top: 4px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}

.plyr__menu__container .plyr__control--back.plyr__tab-focus::after, .plyr__menu__container .plyr__control--back:hover::after {
  border-right-color: currentColor;
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
  padding-left: 7px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after, .plyr__menu__container .plyr__control[role=menuitemradio]::before {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #22B2E7;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(0, 0, 0, 0.1);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  overflow: hidden;
  padding-left: 25px;
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 28px;
  color: #22B2E7;
  display: block;
  height: 20px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0), transparent var(--value, 0));
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  -webkit-appearance: none;
  margin-top: -5px;
}

.plyr--full-ui input[type=range]::-moz-range-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -moz-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
}

.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: 2px;
  height: 4px;
}

.plyr--full-ui input[type=range]::-ms-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  color: transparent;
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  background: currentColor;
}

.plyr--full-ui input[type=range]::-ms-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  margin-top: 0;
}

.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}

.plyr--full-ui input[type=range]:focus {
  outline: 0;
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr__poster {
  background-color: #000;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
}

.plyr__time {
  font-size: 14px;
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: 10px;
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 14px;
  font-weight: 500;
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip::before {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(255, 255, 255, 0.9);
  bottom: -4px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: 16px;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: 16px;
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0, 0) scale(1);
}

.plyr--video {
  background: #000;
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: #fff;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.plyr__progress {
  flex: 1;
  left: 7px;
  margin-right: 14px;
  position: relative;
}

.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: -7px;
  margin-right: -7px;
  width: calc(100% + 14px);
}

.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}

.plyr__progress .plyr__tooltip {
  font-size: 14px;
  left: 0;
}

.plyr__progress__buffer {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 100px;
  height: 4px;
  left: 0;
  margin-top: -2px;
  padding: 0;
  position: absolute;
  top: 50%;
}

.plyr__progress__buffer::-webkit-prog .plyr__control[role=menuitemradio]::after, .plyr__menu__container .plyr__control[role=menuitemradio]::before {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #22B2E7;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(0, 0, 0, 0.1);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  overflow: hidden;
  padding-left: 25px;
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 28px;
  color: #22B2E7;
  display: block;
  height: 20px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0), transparent var(--value, 0));
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  -webkit-appearance: none;
  margin-top: -5px;
}

.plyr--full-ui input[type=range]::-moz-range-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -moz-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
}

.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: 2px;
  height: 4px;
}

.plyr--full-ui input[type=range]::-ms-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  color: transparent;
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -ms-user-select: none;
  user-select: none;
  background: currentColor;
}

.plyr--full-ui input[type=range]::-ms-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  margin-top: 0;
}

.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}

.plyr--full-ui input[type=range]:focus {
  outline: 0;
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr__poster {
  background-color: #000;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
  background-size: cover;
}

.plyr__time {
  font-size: 14px;
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: 10px;
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 14px;
  font-weight: 500;
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip::before {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(255, 255, 255, 0.9);
  bottom: -4px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: 16px;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: 16px;
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0, 0) scale(1);
}

.plyr--video {
  background: #000;
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: #fff;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0;
  width: calc(100% + 2px);
  margin-left: -1px;
  margin-top: -1px;
}

.plyr__progress {
  flex: 1;
  left: 7px;
  margin-right: 14px;
  position: relative;
}

.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: -7px;
  margin-right: -7px;
  width: calc(100% + 14px);
}

.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}

.plyr__progress .plyr__tooltip {
  font-size: 14px;
  left: 0;
}

.plyr__progress__buffer {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 100px;
  height: 4px;
  left: 0;
  margin-top: -2px;
  padding: 0;
  position: absolute;
  top: 50%;
}

.plyr__progress__buffer::-webkit-progress-bar {
  background: 0 0;
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-webkit-progress-value {
  background: currentColor;
  border-radius: 100px;
  min-width: 4px;
}

.plyr__progress__buffer::-moz-progress-bar {
  background: currentColor;
  border-radius: 100px;
  min-width: 4px;
  -moz-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-ms-fill {
  border-radius: 100px;
  -ms-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr--video .plyr__progress__buffer {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: rgba(255, 255, 255, 0.25);
}

.plyr--audio .plyr__progress__buffer {
  color: rgba(183, 197, 205, 0.66);
}

.plyr--loading .plyr__progress__buffer {
  -webkit-animation: plyr-progress 1s linear infinite;
          animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(-45deg, rgba(47, 52, 61, 0.6) 25%, transparent 25%, transparent 50%, rgba(47, 52, 61, 0.6) 50%, rgba(47, 52, 61, 0.6) 75%, transparent 75%, transparent);
  background-repeat: repeat-x;
  background-size: 25px 25px;
  color: transparent;
}

.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr__volume {
  align-items: center;
  display: flex;
  flex: 1;
  position: relative;
}

.plyr__volume input[type=range] {
  margin-left: 5px;
  position: relative;
  z-index: 2;
}

@media (min-width: 480px) {
  .plyr__volume {
    max-width: 90px;
  }
}
@media (min-width: 768px) {
  .plyr__volume {
    max-width: 110px;
  }
}
.plyr--is-ios .plyr__volume {
  display: none !important;
}

.plyr--is-ios.plyr--vimeo [data-plyr=mute] {
  display: none !important;
}

.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-webkit-full-screen video {
  height: 100%;
}

.plyr:-ms-fullscreen video {
  height: 100%;
}

.plyr:fullscreen video {
  height: 100%;
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-webkit-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-ms-fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-webkit-full-screen.plyr--hide-controls {
  cursor: none;
}

.plyr:-ms-fullscreen.plyr--hide-controls {
  cursor: none;
}

.plyr:fullscreen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-webkit-full-screen .plyr__captions {
    font-size: 21px;
  }

  .plyr:-ms-fullscreen .plyr__captions {
    font-size: 21px;
  }

  .plyr:fullscreen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-webkit-full-screen video {
  height: 100%;
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-webkit-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-webkit-full-screen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-webkit-full-screen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-moz-full-screen video {
  height: 100%;
}

.plyr:-moz-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-moz-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-moz-full-screen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-moz-full-screen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-ms-fullscreen video {
  height: 100%;
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-ms-fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-ms-fullscreen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-ms-fullscreen .plyr__captions {
    font-size: 21px;
  }
}
.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000000;
}

.plyr--fullscreen-fallback video {
  height: 100%;
}

.plyr--fullscreen-fallback .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr--fullscreen-fallback .plyr__video-embed {
  overflow: visible;
}

.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr--fullscreen-fallback.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr--fullscreen-fallback .plyr__captions {
    font-size: 21px;
  }
}
.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.plyr__ads > div, .plyr__ads > div iframe {
  height: 100%;
  position: absolute;
  width: 100%;
}

.plyr__ads::after {
  background: rgba(47, 52, 61, 0.8);
  border-radius: 2px;
  bottom: 10px;
  color: #fff;
  content: attr(data-badge-text);
  font-size: 11px;
  padding: 2px 6px;
  pointer-events: none;
  position: absolute;
  right: 10px;
  z-index: 3;
}

.plyr__ads::after:empty {
  display: none;
}

.plyr__cues {
  background: currentColor;
  display: block;
  height: 4px;
  left: 0;
  margin: -2px 0 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  width: 3px;
  z-index: 3;
}

.plyr--no-transition {
  transition: none !important;
}

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.plyr [hidden] {
  display: none !important;
}

.nieuwsbrief {
  padding: 120px 0 0;
  margin-top: -120px;
  display: inline-block;
  width: 100%;
  background-color: #FFFFFF;
  z-index: 1000;
  position: relative;
}

.lichtkrant-holder {
  overflow: hidden;
}

.lichtkrant {
  font-size: 3vw;
  line-height: 5vw;
  letter-spacing: -0.71px;
  color: #B1B8C7;
  font-weight: 600;
  overflow: unset;
}
.lichtkrant li {
  width: 100%;
  max-width: 44.5vw;
  text-align: center;
  box-sizing: border-box;
}
.lichtkrant .outline {
  color: #FFFFFF;
  -webkit-text-fill-color: #FFFFFF;
  /* Will override color (regardless of order) */
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #B1B8C7;
}
.lichtkrant span {
  padding-right: 4vw;
  position: relative;
}
.lichtkrant span::before {
  content: "";
  background-image: url("/assets/images/lichtkrant-arrow.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 1.2vw;
  height: 1vw;
  position: absolute;
  right: 1.2vw;
  top: 1.7vw;
  z-index: 1;
}

.nieuwsbrief-holder {
  padding: 50px 0 120px;
}

.nieuwsbrief-holder .form-holder {
  max-width: 770px;
  margin: 0 auto;
  text-align: center;
}
.nieuwsbrief-holder .form-holder .fui-page-container {
  max-width: 400px;
  display: inline-block;
  width: 100%;
  margin-right: 20px;
}
.nieuwsbrief-holder .form-holder .fui-page-container label {
  text-align: left;
}
.nieuwsbrief-holder .form-holder .fui-page-container .fui-field {
  margin-bottom: 0;
}
.nieuwsbrief-holder .form-holder .fui-btn-container {
  max-width: 150px;
  display: inline-block;
  vertical-align: bottom;
}

@media only screen and (max-width: 1100px) {
  .nieuwsbrief {
    padding: 75px 0 0;
    margin-top: -75px;
  }

  .nieuwsbrief-holder {
    padding: 50px 0 75px;
  }

  .lichtkrant {
    font-size: 4vw;
    line-height: 6vw;
  }

  .lichtkrant li {
    max-width: 57.5vw;
  }

  .lichtkrant span {
    padding-right: 5vw;
  }
  .lichtkrant span::before {
    width: 1.6vw;
    height: 1.3vw;
    right: 1.3vw;
    top: 2.1vw;
  }
}
@media only screen and (max-width: 767px) {
  .lichtkrant {
    font-size: 6vw;
    line-height: 8vw;
  }

  .lichtkrant li {
    max-width: 85.5vw;
  }

  .lichtkrant span {
    padding-right: 8vw;
  }
  .lichtkrant span::before {
    width: 3.6vw;
    height: 3.3vw;
    right: 1.9vw;
    top: 2.8vw;
  }

  .nieuwsbrief-holder {
    padding: 30px 0 50px;
  }

  .nieuwsbrief-holder .form-holder {
    text-align: left;
  }

  .nieuwsbrief-holder .form-holder .fui-btn-container {
    margin-top: 20px;
  }

  .nieuwsbrief {
    padding: 50px 0 0;
    margin-top: -50px;
  }
}
.form-holder input,
.form-holder textarea {
  border: none;
  border-radius: 0;
  height: 50px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  padding: 15px 20px;
  border-radius: 4px;
  border: 1px solid #B1B8C7;
  background-color: transparent;
  box-sizing: border-box;
  outline: none !important;
  box-shadow: none !important;
}
.form-holder input:focus,
.form-holder textarea:focus {
  border-color: #22B2E7;
  background-color: #E7F6F8;
}

.form-holder textarea {
  height: 110px;
  resize: vertical;
}

.form-holder .light-grey {
  color: #B1B8C7;
  font-style: italic;
  font-weight: 300;
}

.form-holder .error input, .form-holder .error textarea {
  border: 1px solid red;
}

/*.form-holder .list {
    max-height: 320px;
    overflow: scroll !important;
}*/
body .nice-select.open .list {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1) translateY(0);
  max-height: 235px;
  overflow: scroll;
}

.form-holder .fui-btn-container,
.form-holder .fui-btn-wrapper {
  margin: 0;
  padding: 0;
}

.form-holder .fui-label,
.form-holder .fui-error .fui-label {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2D2C31;
}

.form-holder .fui-input.fui-error {
  color: #2D2C31;
  border: 1px solid red;
}

.form-holder .fui-alert-error, .form-holder .fui-error-message {
  display: none;
}

.fui-error .fui-input-container {
  position: relative;
}
.fui-error .fui-input-container::before {
  content: "";
  background-image: url(/assets/images/error.svg);
  background-repeat: no-repeat;
  position: absolute;
  right: 15px;
  top: 14px;
  width: 20px;
  height: 20px;
  z-index: 5;
}
.fui-error .fui-input-container input:focus, .fui-error .fui-input-container textarea:focus {
  background-color: transparent !important;
}

.form-holder .fui-required {
  color: #2D2C31;
}

.form-holder .fui-type-checkboxes .fui-legend {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2D2C31;
}
.form-holder .fui-type-checkboxes .fui-checkbox {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 26px;
  font-weight: 300;
  color: #2D2C31;
}

.form-holder form .fui-form-container div.nice-select {
  border: none;
  height: 50px;
  line-height: 21px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  padding: 15px 20px;
  border-radius: 4px;
  border: 1px solid #B1B8C7;
  background-color: transparent;
  box-sizing: border-box;
  outline: none !important;
  box-shadow: none !important;
  color: #000;
}

.form-holder form .fui-form-container .fui-error div.nice-select {
  border: 1px solid red !important;
}

.no-image-header .form-holder .fui-type-checkboxes .fui-legend {
  color: #FFFFFF;
}
.no-image-header .form-holder .fui-type-checkboxes .fui-checkbox {
  color: #FFFFFF;
}

.fui-error.fui-type-dropdown .fui-input-container::before {
  right: 35px;
}

.form-holder .fui-progress-bar {
  background-color: #22B2E7;
}

.form-holder .fui-legend {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2D2C31;
}

.form-holder input:focus {
  box-shadow: none !important;
}

.form-holder .fui-radio input:checked + label:before {
  background-color: #22B2E7;
  border-color: #22B2E7;
  box-shadow: none !important;
}

.form-holder .fui-radio {
  color: #2D2C31;
}

.form-holder .fui-type-radio-buttons {
  margin-bottom: 20px;
}

.form-holder .fui-type-radio {
  margin-bottom: 30px !important;
}

.form-holder .fui-progress-container {
  margin-bottom: 40px;
}

.form-holder button.button.disable {
  pointer-events: none;
  opacity: 0.7;
}

.reCaptchaText {
  margin-top: 20px;
  font-size: 10px;
  line-height: 16px;
  transition: all 0.4s;
}

.reCaptchaText a {
  font-weight: 400;
  color: #22B2E7;
}

.grecaptcha-badge {
  visibility: hidden;
}

.form-holder .form-intro.small {
  max-width: 570px;
}

.form-width-holder {
  max-width: 870px;
  margin: 0 auto;
}

.form-holder .StripeElement {
  border: none;
  border-radius: 0;
  height: 50px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  padding: 15px 20px;
  border-radius: 4px;
  border: 1px solid #B1B8C7;
  background-color: transparent;
  box-sizing: border-box;
  outline: none !important;
  box-shadow: none !important;
}

@media only screen and (max-width: 1850px) {
  .image-header img {
    max-width: calc(50vw - 74px);
  }

  .image-header .image-holder::after {
    left: calc(50vw - 400px);
    top: 40px;
  }

  .contact-formulier-holder .achtergrond-titel {
    bottom: 150px;
    left: 15px;
    font-size: 120px;
    line-height: 120px;
  }
}
@media only screen and (max-width: 1600px) {
  .scroller {
    left: 40px;
  }

  .nieuws-holder {
    margin: 50px 0;
  }

  .contact-formulier-holder .achtergrond-titel {
    bottom: 350px;
    font-size: 80px;
    line-height: 80px;
  }

  .contact-formulier-holder .right-column img {
    width: calc(100% + 90px);
    max-width: calc(100% + 90px);
  }

  .homepage-header .dots-animation svg {
    width: 229px;
  }

  .cta-right-image.left .dots-animation svg {
    width: 197px;
  }

  .victa-diensten.detail .diensten-slider-holder {
    padding: 0;
  }
}
@media only screen and (max-width: 1440px) {
  .producten-header {
    padding-bottom: 100px;
  }

  .producten-header .text-holder {
    padding: 75px 0 0;
  }

  .products-holder .large-text-holder {
    left: 20px;
  }
  .products-holder .large-text-holder .large-outline-text text {
    font-size: 170px;
  }

  .nieuws-holder .large-text-holder {
    left: 20px;
    top: -100px;
  }
  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 170px;
  }

  .section-klantverhalenOverzicht .no-image-header {
    padding: 100px 0 200px;
  }

  .no-image-header-holder.with-illustration .dots-animation svg {
    width: 220px;
  }

  .homepage-header .image-holder .header-illustration {
    width: 90%;
  }

  .diensten-slider-holder .dienst .text-holder .text {
    max-width: unset;
  }

  .victa-diensten {
    padding: 75px 0;
  }

  .home-particles {
    width: 8% !important;
    height: 210px !important;
  }
}
@media only screen and (max-width: 1439px) {
  .scroller {
    left: 20px;
  }

  .contact-formulier-holder .achtergrond-titel {
    display: none;
  }

  .homepage-header .dots-animation svg {
    display: none;
  }

  .diensten-slider-holder .item::before {
    display: none;
  }

  .diensten-slider-holder .uk-slider-container {
    padding-right: 0;
  }

  .diensten-particles {
    display: none;
  }

  .home-particles {
    display: none;
  }

  .landing-particles {
    display: none;
  }
}
@media only screen and (max-width: 1365px) {
  .scroller {
    display: none;
  }

  .diensten-holder .tabs-holder .image-holder img {
    width: 100%;
    max-width: 100%;
  }

  .demo-holder .image-holder img {
    width: 100%;
    max-width: 100%;
  }

  .detail-header .text-holder {
    padding: 40px;
    margin: 50px -40px 0 auto;
  }

  .contact-formulier-holder .right-column img {
    width: 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 1280px) {
  .no-image-header {
    padding: 70px 0 90px;
  }
  .no-image-header::before, .no-image-header::after {
    right: 0;
  }

  .no-image-header-holder.with-illustration .dots-animation {
    display: none;
  }

  .products-holder.diensten .dots-animation {
    display: none;
  }
}
@media only screen and (max-width: 1260px) {
  .producten-header .text-holder {
    margin: 0 0 0 40px;
  }
}
@media only screen and (max-width: 1240px) {
  .image-header img {
    max-width: 100%;
  }
}
@media only screen and (max-width: 1199px) {
  .contact-formulier-holder .left-column.no-image {
    padding-right: 35px;
  }

  .contact-formulier-holder .left-column.no-image::before {
    right: 0px;
  }

  .ribon-bar {
    font-size: 14px;
  }

  .ribon-bar .ribon-icon {
    margin-right: 15px;
  }
}
@media only screen and (max-width: 1100px) {
  .homepage-header .text-holder {
    padding: 75px 0 75px 40px;
    margin: 0 75px 0 auto;
  }

  .products-holder {
    padding: 75px 0;
  }

  .products-holder .producten-intro-holder {
    margin: 0 auto 50px;
  }

  .homepage-cta-holder {
    margin: 75px 0 75px;
  }

  .homepage-cta-holder .column {
    padding: 45px 40px;
  }

  .homepage-cta-holder .column h2 {
    color: #FFFFFF;
    font-size: 22px;
    line-height: 36px;
    letter-spacing: -0.2px;
  }

  .demo-holder {
    padding: 75px 0 0;
  }

  .demo-holder h2 {
    font-size: 34px;
    line-height: 52px;
  }

  .demo-holder .text-holder {
    padding-bottom: 75px;
  }

  .diensten-holder {
    padding: 80px 0 0;
  }

  .diensten-holder .tabs-holder {
    padding: 50px 0 0;
  }

  .klanten-holder {
    margin: 75px 0;
  }

  .klanten-holder .klanten-intro-holder {
    margin-bottom: 50px;
  }

  .section-victaQlikHomepage .cta-full-background {
    padding: 75px 0;
  }

  .producten-header .text-holder {
    padding: 50px 0 0;
  }

  .producten-header {
    padding-bottom: 75px;
  }

  .products-holder .large-text-holder {
    top: -75px;
  }

  .products-holder .large-text-holder svg {
    height: 170px;
  }

  .products-holder .large-text-holder .large-outline-text text {
    font-size: 130px;
    transform: translateY(-100px);
  }

  .section-productenOverzicht .products-holder::before {
    width: 158px;
    height: 278px;
  }

  .detail-header .text-holder {
    margin: 50px -100px 0 auto;
    width: calc(100% + 60px);
  }

  .diensten-header {
    padding: 75px 0 50px;
  }

  .products-holder.diensten .large-text-holder {
    top: -50px;
  }

  .nieuws-holder .large-text-holder svg {
    height: 170px;
  }

  .nieuws-holder .large-text-holder {
    left: 20px;
    top: -20px;
  }
  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 130px;
    transform: translateY(-100px);
  }

  .products-holder.diensten {
    padding: 0 0 75px;
  }

  .section-diensten .detail-header .text-holder::before {
    width: 92px;
    height: 90px;
  }

  p.nr-results {
    margin-top: 75px;
  }

  .resultaten {
    margin-bottom: 75px;
  }

  .no-image-header-holder.with-illustration::after {
    width: 175px;
    height: 149px;
  }

  .contact-header h1, .contact-header h2 {
    margin-bottom: 20px;
  }

  .contact-header .blokken-holder .blok h3 {
    font-size: 20px;
    line-height: 34px;
  }

  .contact-header {
    background-color: #F5F6F8;
    padding: 75px 0;
  }

  .contact-formulier-holder .left-column {
    padding: 60px 0;
  }

  .contact-formulier-holder {
    padding-bottom: 60px;
  }

  .items-container .item.overzicht-cta .cta-text-holder {
    padding: 35px 0 35px 30px;
  }

  .items-container .item.overzicht-cta h3 {
    font-size: 26px;
    line-height: 38px;
  }

  .items-container .item .text-holder {
    padding: 30px 25px 100px;
  }

  .items-container .item .text-holder .text-bottom {
    width: calc(100% - 50px);
    bottom: 30px;
    left: 25px;
  }

  .items-container .item.overzicht-cta .cta-text-holder.no-image {
    padding: 35px 30px;
  }

  .section-klantverhalenOverzicht .no-image-header {
    padding: 75px 0 200px;
  }

  .items-container {
    padding: 0 0 75px;
  }

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

  .section-resourcesOverzicht .no-image-header, .section-marketplaceOverzicht .no-image-header {
    padding-bottom: 170px;
  }

  .section-resourcesOverzicht .no-image-header-holder.with-illustration::after, .section-marketplaceOverzicht .no-image-header-holder.with-illustration::after {
    display: none;
  }

  .filter {
    margin-top: 50px;
  }

  .homepage-header .image-holder .header-illustration {
    width: 95%;
  }

  .victa-diensten .intro-container {
    margin-bottom: 50px;
  }

  .victa-diensten .diensten-dots {
    display: none;
  }

  .products-holder.custom-margin {
    margin-top: 75px;
  }

  .product-labels-holder .product-labels-container {
    display: block;
  }

  .product-labels-holder .products-title {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 1023px) {
  .image-header .image-holder::before,
.image-header .image-holder::after {
    display: none;
  }

  #inhoud {
    margin-top: 50px;
  }

  #inhoud > .background-color > .component-grid {
    margin-top: 70px;
  }

  .homepage-header .text-holder {
    padding: 50px 0 50px 40px;
    margin: 0 40px 0 auto;
  }

  .producten-grid.mobile {
    display: block;
    width: calc(100% + 40px);
  }

  .producten-grid.desktop {
    display: none;
  }

  .producten-grid.mobile > div {
    padding-left: 20px;
  }

  .diensten-holder .tabs-holder-desktop {
    display: none;
  }

  .diensten-holder .tabs-holder-mobile {
    display: block;
  }
  .diensten-holder .tabs-holder-mobile > div {
    width: calc(100% + 80px);
    margin-left: -40px;
  }

  .corporate .diensten-holder .label-holder .label .inner-label {
    padding-left: 35px;
    font-size: 14px;
  }

  .corporate .diensten-holder .label-holder .label .inner-label img {
    max-width: 27px;
    max-height: 20px;
  }

  .diensten-holder .label-holder {
    height: 100%;
  }

  .diensten-holder .diensten-tabs-inner {
    overflow: unset;
  }
  .diensten-holder .diensten-tabs-inner .slider-holder {
    overflow: hidden;
    max-width: calc(100% - 100px);
    margin: 0 auto;
  }

  .logo-slider .square {
    height: 150px;
    width: 150px;
  }

  .nieuws-grid-holder .nieuws-item .text-holder {
    background-color: #F5F6F8;
    padding: 25px 15px 10px;
  }
  .nieuws-grid-holder .nieuws-item .text-holder h3 {
    font-size: 16px;
    line-height: 23px;
  }

  .nieuws-grid-holder .button-holder {
    margin-top: 30px;
  }

  .section-productenOverzicht .products-holder .uk-width-1-4\@m {
    width: 33.3222259247%;
  }

  .products-holder.diensten .product .text-holder {
    padding: 30px 20px;
  }

  .item.overzicht-cta .image-column {
    display: none;
  }

  .item.overzicht-cta .text-column {
    width: 100%;
  }

  .items-container .item.overzicht-cta .cta-text-holder {
    padding: 35px 30px;
  }

  .video-popup {
    padding: 40px;
  }

  .ribon-bar {
    display: none;
  }

  .diensten-slider-holder .swipe-cirkel {
    display: none;
  }

  .diensten-slider-holder .uk-width-1-4\@m {
    width: 33.3222259247%;
  }

  .section-marketplaceOverzicht .uk-width-1-4\@m {
    width: 50%;
  }
}
@media only screen and (max-width: 768px) {
  .demo-holder h2 {
    font-size: 28px;
    line-height: 44px;
  }

  .producten-header {
    padding-bottom: 50px;
  }

  .products-holder .large-text-holder {
    top: -85px;
  }

  .products-holder .large-text-holder .large-outline-text text {
    font-size: 100px;
  }

  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 100px;
  }

  .detail-header .text-holder {
    margin: 30px -140px 0 auto;
    width: calc(100% + 100px);
    padding: 40px 25px 30px;
  }

  .nieuws-holder {
    padding: 75px 0 0;
  }

  .nieuws-holder .large-text-holder {
    left: 20px;
    top: -60px;
  }

  .contact-header .text-holder {
    padding-right: 10px;
  }

  .contact-header .text-holder.right {
    padding-left: 10px;
  }

  .contact-header .location-holder {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .container, .large-container {
    padding: 0 20px;
  }

  .no-image-header {
    padding: 40px 0 50px;
  }

  .no-image-header .intro {
    margin-top: 0;
    padding-top: 25px;
    max-width: unset;
  }

  .homepage-header .text-column {
    order: 2;
  }

  .homepage-header .image-column {
    order: 1;
  }

  .homepage-header .text-holder {
    padding: 50px 20px;
    margin: 0;
  }

  .homepage-header .text-holder .text {
    margin: 15px 0;
  }

  .homepage-header h1 {
    max-width: unset;
  }

  .products-holder {
    padding: 50px 0;
  }

  .homepage-cta-holder > div, .homepage-cta-one-column > div {
    padding: 0;
  }

  .homepage-cta-holder {
    margin: 20px 0 0;
    background-color: #FFFFFF;
  }

  .homepage-cta-holder .column {
    padding: 30px 20px;
  }
  .homepage-cta-holder .column h2 {
    font-size: 14px;
    line-height: 21px;
    letter-spacing: -0.12px;
    margin-bottom: 25px;
  }

  .homepage-cta-holder::before, .homepage-cta-holder::after {
    display: none;
  }

  .homepage-cta-holder .column .icon-holder img {
    max-width: 22px;
    max-height: 22px;
  }

  .homepage-cta-holder a.read-more, .homepage-cta-holder span.read-more {
    font-size: 12px;
  }
  .homepage-cta-holder a.read-more > span, .homepage-cta-holder span.read-more > span {
    padding-right: 12px;
  }
  .homepage-cta-holder a.read-more > span::before, .homepage-cta-holder span.read-more > span::before {
    top: 6px;
    width: 4px;
    height: 7px;
  }

  .demo-holder::before {
    width: 100vw;
  }

  .demo-holder {
    padding: 50px 0 0;
  }

  .demo-holder h2 {
    font-size: 18px;
    line-height: 24px;
  }

  .demo-holder .text-holder {
    padding-bottom: 0px;
  }

  .diensten-holder {
    padding: 75px 0 0;
  }

  .diensten-holder .diensten-intro-holder {
    padding: 0 20px;
    margin: 0 auto 50px;
  }

  .klanten-holder {
    margin: 50px 0;
  }

  .logo-slider .square {
    height: 110px;
    width: 110px;
  }

  .logo-slider .square img {
    max-width: 75px;
    max-height: 30px;
  }

  .section-victaQlikHomepage .cta-full-background {
    padding: 50px 0;
  }

  .large-outline-text text {
    font-size: 110px;
    transform: translateY(-30px);
  }

  .popup {
    font-size: 11px;
    line-height: 20px;
    width: calc(100% - 40px);
  }

  .popup .text-holder {
    padding: 20px;
  }

  .popup .text-holder h3 {
    font-size: 16px;
    line-height: 24px;
  }

  .popup .text-container::before {
    width: 90px;
    height: 114px;
  }

  .producten-header .image-column {
    order: 1;
  }

  .producten-header .text-column {
    order: 2;
  }

  .producten-header .text-holder {
    margin: 0 20px;
  }

  .producten-header .image-holder {
    padding-right: 20px;
  }

  .producten-header {
    background-color: #2D2C31;
  }
  .producten-header::before {
    display: none;
  }

  .section-productenOverzicht .products-holder {
    padding: 75px 0 50px;
  }

  .section-productenOverzicht .products-holder .uk-width-1-4\@m {
    width: 100%;
  }

  .detail-header .text-column {
    order: 2;
    margin-top: -50px;
  }

  .detail-header .image-column {
    order: 1;
  }

  .detail-header .text-holder {
    margin: 0 0 0 20px;
    width: calc(100% - 40px);
    padding: 40px 25px 30px;
  }

  .detail-header .image-holder {
    margin: 0;
  }

  .detail-header::before {
    height: 100%;
  }

  .products-holder.diensten .large-text-holder {
    left: 0;
  }

  .nieuws-holder .large-text-holder {
    left: 40;
    top: -40px;
  }

  .nieuws-holder .large-text-holder .large-outline-text text {
    font-size: 80px;
  }

  .diensten-header {
    padding: 50px 0 30px;
  }

  .diensten-header .intro {
    margin-top: 0;
    padding-top: 25px;
  }

  .products-holder.diensten {
    padding: 0 0 50px;
  }

  .form-holder.zoek-form .input-holder {
    margin-bottom: 20px;
  }

  .form-holder.zoek-form button {
    min-width: unset;
    width: 100%;
  }

  .form-holder.zoek-form {
    margin-top: 30px;
  }

  p.nr-results {
    margin-top: 50px;
  }

  .resultaten {
    margin-bottom: 50px;
  }

  .form-holder .fui-row {
    display: block;
  }

  .section-oplossingenOverzicht .diensten-header {
    padding: 50px 0 0px;
  }

  .section-oplossingenOverzicht .products-holder .large-text-holder svg {
    display: none;
  }

  .contact-header .contact-inner::before {
    display: none;
  }

  .contact-header {
    padding: 50px 0;
  }

  .contact-header .text-holder {
    padding-right: 0;
    max-width: unset;
    margin: 0;
  }

  .contact-header .text-holder.right {
    padding-left: 0;
  }

  .contact-header .vestigingen-holder {
    margin-bottom: 30px;
  }

  .contact-header .blokken-holder .blok h3 {
    margin-bottom: 10px;
  }

  .contact-formulier-holder .left-column {
    padding: 50px 0;
  }

  .contact-formulier-holder .left-column {
    padding: 50px 0;
  }

  .contact-formulier-holder {
    padding-bottom: 30px;
  }

  .contact-formulier-holder .uk-grid-margin {
    margin-top: 0;
  }

  .contact-formulier-holder .right-column img {
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
    margin-left: -20px;
  }

  .section-klantverhalenOverzicht .no-image-header {
    padding: 50px 0 125px;
  }

  .section-klantverhalenOverzicht .load-more-container {
    margin-top: -100px;
  }

  .items-container {
    padding: 0 0 50px;
  }

  .load-more-button-container.custom {
    padding: 25px;
  }

  .load-more-button-container .amount-visible {
    padding-bottom: 20px;
  }

  .filter .cat-label {
    width: 100%;
    display: block;
    box-sizing: border-box;
    margin-left: 0;
    margin-top: 20px;
  }

  .filter .cat-label img {
    margin-top: 7px;
    float: right;
  }

  .cta-right-image:not(.left) .dots-animation {
    display: none;
  }

  .section-klantverhalen .detail-header .text-holder,
.section-nieuwsOverzicht .detail-header .text-holder,
.section-partnersOverzicht .detail-header .text-holder {
    margin: 0px auto 0 auto;
    padding: 30px 20px 30px 30px;
  }

  .header-404 {
    padding: 0 20px 50px;
  }

  .header-404 h1 {
    margin-top: 0px;
  }

  .video-popup {
    width: calc(100% - 40px);
    padding: 40px 20px 20px;
  }

  .video-popup .close {
    right: 10px;
    top: 5px;
  }

  .no-image-header .form-holder h2 {
    font-size: 22px;
    line-height: 32px;
  }

  .contact-formulier-holder .left-column.no-image::before {
    display: none;
  }

  .cta-label {
    padding: 10px 18px;
    transform: translateY(-150%) rotate(-90deg);
  }

  .victa-diensten {
    padding: 45px 0;
  }

  .victa-diensten .intro-container {
    padding: 0;
  }

  .victa-diensten .intro-container {
    margin-bottom: 30px;
  }

  .illustration-holder {
    padding: 30px 0 0;
  }

  .section-klantverhalenOverzicht .no-image-header, .section-nieuwsOverzicht .no-image-header, .section-partnersOverzicht .no-image-header {
    padding: 50px 0 180px;
  }

  .diensten-slider-holder .uk-width-1-4\@m {
    width: 50%;
  }

  .diensten-slider-holder {
    padding: 0 20px;
  }

  .diensten-slider-holder .dienst .image-holder {
    max-width: 100px;
    margin: 0 auto -45px;
  }

  .diensten-slider-holder .dienst .text-holder {
    padding: 65px 20px 50px;
  }

  .diensten-slider-holder .dienst .text-holder .step-holder {
    width: 18px;
    height: 18px;
    font-size: 11px;
  }

  .diensten-slider-holder .dienst .text-holder h3 {
    font-size: 15px;
    line-height: 21px;
  }

  .victa-diensten.detail .diensten-slider-holder {
    padding: 0;
  }

  .victa-diensten.detail .diensten-slider-holder::before {
    bottom: 46%;
  }

  .products-holder.custom-margin {
    margin-top: 50px;
  }

  .victa-diensten.custom-margin {
    margin-top: 0;
  }

  .product-labels-holder {
    padding: 30px 0;
  }
}
a.read-more > span::before, span.read-more > span::before {
  background-image: url(/assets/images/arrow-lightblue-right.svg);
}

.section-productenOverzicht .products-holder::before {
  background-image: url(/assets/images/products-decoration.svg);
}

.component-tekst ul li::before {
  content: url(/assets/images/lightblue-check.svg);
}

.products-holder.diensten .product .text-holder ul li::before {
  background-image: url("/assets/images/lightblue-check.svg");
}

.diensten-holder .tabs-holder .text-holder ul li::before {
  background-image: url("/assets/images/lightblue-check.svg");
}

.component-quote::before {
  content: url(/assets/images/quote-lightblue.svg);
}

header .top-menu-holder li .vacature-count {
  background-color: #FFFFFF;
  color: #22B2E7;
}

@media only screen and (max-width: 767px) {
  header .logo-holder img {
    max-width: 160px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzaGVldHMvYXBwLXNub3dmbGFrZS5jc3MiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDa0ZoQjs7NkVBQUE7QUFJQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQSxrTUNkaUI7RURlakIsZUNaZTtFRGFmLG1CQ2RvQjtFRGVwQixnQkNaaUI7RURhakI7RUFDQTtFQUNBO0VBQ0EsZ0JDekNnQjtFRDBDaEIsV0NoR1c7QUZjZjs7QUNzRkE7O0VBQUE7QUFJQTtFQUFPO0FEbkZQOztBQ3NGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQ1U7QURwRlY7O0FDc0ZBOztFQUFBO0FBSUE7O0VBRUksY0N6Q2dCO0VEMENoQixxQkN4Q3dCO0VEeUN4QjtBRHBGSjs7QUN3RkE7Ozs7RUFJSSxjQ2hEc0I7RURpRHRCLDBCQy9DOEI7QUZ0Q2xDOztBQzBGQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtVQUFBO0VBQ0E7RUFDQTtBRHpGSjs7QUM0RkE7O0VBQUE7QUFJQTs7RUFDUyxtQkN2RWlCO0FGbEIxQjs7QUMyRkE7Ozs7RUFBQTtBQU1BOzs7RUFHSTtFQUNBLHdDQ2pGb0I7RURrRnBCO0VBQ0EsbUJDOUhxQjtFRCtIckI7RUFDQSxjQ3JKdUI7RURzSnZCO0VFMURBO0VBQ0EsbUJEM0dzQjtBRjZFMUI7O0FDMkZBOztFQUFBO0FBSUE7RUFBSyxjQzlKc0I7QUZzRTNCOztBQzBGQTs7RUFBQTtBQUlBO0VBQ0ksZ0JDbEdrQjtFRG1HbEIsV0NoTVc7RURpTVg7QUR4Rko7O0FDMkZBOztFQUFBO0FBSUE7RUFDSSxnQkMxR21CO0VEMkduQixXQzFNVztBRmlIZjs7QUM0RkE7O0VBQUE7QUFJQTtFQUFJLGtCQ2hIb0I7QUZ1QnhCOztBQzJGQTs7RUFBQTtBQUlBO0VBQVEsY0NySGU7QUY2QnZCOztBQzBGQTs7RUFBQTtBQUlBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FEeEZKOztBQzJGQTtFQUFNO0FEdkZOOztBQ3dGQTtFQUFNO0FEcEZOOztBQ3VGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7OztFQUtRO0FEckZSOztBQ3VGQTs7Ozs7RUFBQTtBQU9BOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURyRko7O0FDd0ZBO0FBQ0E7RUFFRztJQUNLO0lBQ0E7SUFDQTtFRHRGTjtBQUNGO0FDMEZBOztFQUFBO0FBSUE7RUFBaUI7QUR4RmpCOztBQzBGQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRHhGSjs7QUMyRkE7OztFQUFBO0FBS0E7RUFBUztBRHhGVDs7QUMyRkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOzs7Ozs7OztFQU9TO0FEekZUOztBQzJGQTtBQUNBOzs7Ozs7OztFQU9hLGdCQzlVRztBRnVQaEI7O0FDMEZBOzZFQUFBO0FBR0E7Ozs7Ozs7Ozs7O0VBV0k7RUFDQSxrTUMvUWlCO0VEZ1JqQixtQkNyUHVCO0VEc1B2QixXQzdWb0I7RUQ4VnBCLG9CQ3JQMEI7QUY2SjlCOztBQzRGQTtBQUNBOzs7Ozs7Ozs7OztFQVUwQixnQkNuUUg7QUYyS3ZCOztBQzBGQTs7RUFBQTtBQUlBO0VBQ0kscUJDdlFnQjtFRHdRaEIsZ0JDdlFrQjtBRitLdEI7O0FDNEZBO0VBQ0ksaUJDelFnQjtFRDBRaEIsZ0JDelFrQjtBRmdMdEI7O0FDNkZBO0VBQ0ksaUJDN1FxQjtFRDhRckIsZ0JDNVFrQjtBRmtMdEI7O0FDOEZBO0VBQ0ksa0JDellzQjtFRDBZdEIsZ0JDaFJrQjtBRnFMdEI7O0FDK0ZBO0VBQ0ksZUM3VGU7RUQ4VGYsZ0JDcFJrQjtBRndMdEI7O0FDZ0dBO0VBQ0ksbUJDaldxQjtFRGtXckIsZ0JDeFJrQjtBRjJMdEI7O0FDaUdBO0FBQ0E7RUFFSTtJQUFhLG1CQzdXVTtFRitRekI7O0VDK0ZFO0lBQWEsZUM1U1M7RUZpTnhCO0FBQ0Y7QUMrRkE7NkVBQUE7QUFHQTs7RUFDSyxrQkN4U29CO0FGMk16Qjs7QUMrRkE7O0VBQUE7QUFJQTs7OztFQUdlO0FENUZmOztBQytGQTs2RUFBQTtBQUdBO0VBQUs7QUQ1Rkw7O0FDNkZBO0VBQUs7QUR6Rkw7O0FDNEZBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRDNGSjs7QUMrRkE7QUFDQTs7RUFDYSxnQkNuZEc7QUZ3WGhCOztBQzhGQTs2RUFBQTtBQUdBO0VBQVU7QUQzRlY7O0FDOEZBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGtCQy9kc0I7RURnZXRCLGdCQzFWMEI7RUQyVjFCLGtCQzFWeUI7RUNBekIsV0RwSW9CO0FGbVl4Qjs7QUMrRkE7QUFDQTtFQUFpQixnQkN4ZUQ7QUY2WWhCOztBQzZGQTs7RUFBQTtBQUlBO0VBQTRCO0FEMUY1Qjs7QUM0RkE7RUFDSSxnQkN0V2tCO0VEdVdsQixtQkM1YnFCO0VENmJyQixnQkNyV2lDO0VDRGpDLFdEdElXO0FGb1pmO0FHNVFJO0VBQVk7QUgrUWhCOztBQzBGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFdDMWZXO0VEMmZYO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7RUVsWEEsYUQwNUJlO0VDejVCZjtFQUNBLGtCRDQ1QnFCO0VDMzVCckIsZ0JEekZnQjtBRm1YcEI7O0FDeUZBO0VBQVcsd0NDeGFhO0FGbVZ4Qjs7QUN3RkE7NkVBQUE7QUFHQTtFQUNJLGdCQzdYd0I7RUQ4WHhCLFdDdmdCbUI7RUR3Z0JuQjtBRHRGSjtBQ21GQTtFQUNJLGdCQzdYd0I7RUQ4WHhCLFdDdmdCbUI7RUR3Z0JuQjtBRHRGSjs7QUMwRkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7RUFDTztFQUNIO0FEeEZKOztBQzJGQTs7RUFBQTtBQUlBO0VBQVU7QUR4RlY7O0FDMEZBOztFQUFBO0FBSUE7RUFBVztBRHZGWDs7QUMwRkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQTRCO0FEeEY1Qjs7QUN5RkE7RUFBNEI7QURyRjVCOztBQ3NGQTtFQUE0QjtBRGxGNUI7O0FDbUZBO0VBQTRCO0FEL0U1Qjs7QUNpRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRDlFSjs7QUl6ZEE7OzZFQUFBO0FBS0E7NkVBQUE7QUFHQTs7RUFFSSxXRnNCaUI7QUZtY3JCOztBSXJkQTs7OztFQUlJLFdGcENXO0FGNGZmOztBSW5kQTs2RUFBQTtBQUdBOztFQUVJO0FKcWRKOztBSWpkQTs7OztFQUlJLFdGSmlCO0FGd2RyQjs7QUkvY0E7NkVBQUE7QUFHQTs7RUFFSTtBSmlkSjs7QUk3Y0E7Ozs7RUFJSSxjRnZEd0I7RUV3RHhCLHFCRjBmaUM7QUYxQ3JDOztBSTNjQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBRUk7RUFDQTtBSjRjSjs7QUl2Y0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QUp5Y0o7O0FJdGNBO0VBQXdCO0FKMGN4Qjs7QUs5ZkE7OzZFQUFBO0FBSUE7RUFDSSxpQkgyWnNCO0VHMVp0QixnQkhzYXdCO0FGMEY1Qjs7QUs1ZkE7RUFDSSxvQkh1WnVCO0VHdFp2QixnQkhpYXlCO0FGOEY3Qjs7QUszZkE7RUFDSSxpQkhtWnNCO0VHbFp0QixnQkg0WndCO0FGa0c1Qjs7QUsxZkE7RUFDSSxlSHVZeUI7RUd0WXpCLGNIdVp5QjtBRnNHN0I7O0FLemZBO0VBQ0ksZUh5WXdCO0VHeFl4QixjSGtaMEI7QUYwRzlCOztBS3hmQTtBQUNBO0VBRUk7SUFBb0Isa0JIMFhJO0VGaUkxQjs7RUsxZkU7SUFBcUIsaUJIMlhJO0VGbUkzQjs7RUs3ZkU7SUFBb0IsZUh1WEs7RUYwSTNCOztFS2hnQkU7SUFBcUIsZUg4WEc7RUZzSTFCOztFS25nQkU7SUFBc0IsZUhnWUc7RUZ1STNCO0FBQ0Y7QUtwZ0JBO0FBQ0E7RUFFSTtJQUFxQixlSDhXSTtFRndKM0I7O0VLcmdCRTtJQUFvQixlSHFYSTtFRm9KMUI7O0VLeGdCRTtJQUFxQixlSHVYSTtFRnFKM0I7O0VLM2dCRTtJQUFzQixnQkh3WEk7RUZ1SjVCO0FBQ0Y7QUszZ0JBOzs2RUFBQTtBQW9CQTtBQVNBO0FBYUE7OzZFQUFBO0FBcUJBO0FBWUE7QUFhQTs2RUFBQTtBQUdBO0VBQ0ksaUNINlI2QjtFRzVSN0I7QUw4Yko7O0FLemJBOzZFQUFBO0FBR0E7RUFBcUI7QUw0YnJCOztBSzFiQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUJIeVFpQjtFR3hRakI7RUFDQTtFQUNBLHlCSHVRb0I7RUd0UXBCLCtCSHVRMEI7RUd0UTFCO0FMNGJKOztBS3ZiQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBbUI7QUx5Ym5COztBS3ZiQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBTHliSjs7QUt0YkE7Ozs7RUFBQTtBQU1BOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhSHdPaUI7RUd2T2pCO0VBQ0E7QUx3Yko7O0FLcGJBO0VBQ0k7RUFDQSwrQkhrTzZCO0FGcU5qQzs7QUtyYkE7RUFDSTtFQUNBLDhCSDhONkI7QUYwTmpDOztBTTlxQkE7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxtQkovQ1k7QUY4dEJoQjs7QU01cUJBO0FBQ0E7RUFBNEIsZ0JKbkRaO0FGbXVCaEI7O0FNN3FCQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQSxZSmtSa0I7RUsvU2xCO0VEK0JBO0VBQ0E7QU4rcUJKOztBTTNxQkE7O0VBRUk7RUFDQTtFQUNBLFFKeVFvQjtFSXhRcEI7RUFDQTtBTjhxQko7O0FNMXFCQTtFQUNJO0VBQ0EsV0prUXNCO0FGMmExQjs7QU16cUJBO0VBQ0k7RUFDQSxXSjRQc0I7QUZnYjFCOztBTXZxQkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtBQUNBO0VBQW9CO0FOeXFCcEI7O0FNdnFCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBLFlKNE9rQjtFSTNPbEI7RUFDQTtFQUNBO0FOMHFCSjs7QU1ycUJBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGFKa09zQjtFSWpPdEI7RUFDQTtFQUNBO0FOdXFCSjs7QVF4dUJBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtBUjB1Qko7O0FRdnVCQTs7RUFBQTtBQUlBO0VBQTZCO0FSMHVCN0I7O0FReHVCQTs7RUFBQTtBQUlBOztFQUNvQixnQk5nRUU7QUYycUJ0Qjs7QVF4dUJBOzs7NkVBQUE7QUFLQTs7Ozs7RUFJc0Isa0JOeWZGO0FGa1BwQjs7QVF6dUJBOztFQUFBO0FBSUE7RUFBbUI7QVI0dUJuQjs7QVEzdUJBO0VBQXVCO0FSK3VCdkI7O0FRN3VCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFdONGVnQjtFTTNlaEIsYU40ZWlCO0VNM2VqQjtFQUNBO0VBQ0E7RUFDQTtBUmd2Qko7O0FRN3VCQTtFQUEyQjtBUml2QjNCOztBUWh2QkE7RUFBNkI7QVJvdkI3Qjs7QVFudkJBO0VBQTZCO0FSdXZCN0I7O0FRdHZCQTtFQUE4QjtBUjB2QjlCOztBUXp2QkE7RUFBNkI7QVI2dkI3Qjs7QVEzdkJBOztFQUFBO0FBSUE7RUFBNEI7QVI4dkI1Qjs7QVE3dkJBO0VBQStCO0FSaXdCL0I7O0FRaHdCQTtFQUE4QjtBUm93QjlCOztBUW53QkE7RUFBZ0M7QVJ1d0JoQzs7QVFwd0JBOzZFQUFBO0FBR0E7RUFBc0Isa0JOaWRGO0FGc1RwQjs7QVFyd0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsV04yY2dCO0VNMWNoQixhTjJjaUI7RU0xY2pCO0VEekdBO0VDMkdBO0VBQ0E7QVJ3d0JKOztBUXB3QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksZ0JOWGtCO0VNWWxCLGlCTlprQjtFTWFsQjtBUnF3Qko7O0FRandCQTs7RUFBQTtBQUlBO0VBQ0k7QVJtd0JKO0FHMnNCSTtFQUNJO0VBQ0E7QUh6c0JSOztBUW53QkE7RUFBdUMsbUJObEpiO0FGeTVCMUI7O0FRcndCQTtFQUFxQztBUnl3QnJDOztBUXR3QkE7NkVBQUE7QUFHQTs7RUFDMEIsZ0JOOUtWO0FGdTdCaEI7O0FRdndCQTs7RUFDNkI7QVIyd0I3Qjs7QVF6d0JBOztFQUFBO0FBSUE7RUFDSSxnQk54TFk7RU15TFosaUJOekxZO0FGbzhCaEI7O0FReHdCQTtFQUNJO0VBQ0E7QVIyd0JKOztBUXh3QkE7O0VBQUE7QUFJQTtFQUFxQztBUjJ3QnJDOztBUXp3QkE7RUFDSTtFQUNBO0FSNHdCSjs7QVF6d0JBOztFQUNzRDtBUjZ3QnREOztBU3I4QkE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJLFdQekJvQjtFQzJzQnBCLG1CRDFwQnFCO0VDMnBCckIsbUJEd1hnQztFQ3ZYaEMseUJEd1htQztBRm5HdkM7O0FTcjhCQTtFQUNJLGdCUG5DWTtBRjIrQmhCOztBU3I4QkE7O0VBQUE7QUFTQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQlB2RFk7RU93RFosaUJQeERZO0VPeURaO0FUZzhCSjs7QVVqOEJBOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CUnpFWTtBRjJnQ2hCOztBVTk3QkE7QUFDQTtFQUFnQixnQlI5RUE7QUZnaENoQjs7QVUvN0JBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJSdkNxQjtFUXdDckIsbUJSdzBCNEI7RVF2MEI1QixXUnRDaUI7RUN1NURZO0FIaDdCakM7O0FVNTdCQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBVjg3Qko7O0FVMTdCQTs7RUFBQTtBQUlBO0VBQTZCO0FWNjdCN0I7O0FVMTdCQTs2RUFBQTtBQUdBO0VBQ0ksbUJSbEVxQjtBRjgvQnpCOztBVXY3QkE7NkVBQUE7QUFHQTtFQUNJLG1CUjNFcUI7RVE0RXJCO0VBQ0EsV1IxRWlCO0FGbWdDckI7O0FVcDdCQTs2RUFBQTtBQUdBOztFQUNzQjtBVnU3QnRCOztBVXA3QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOzs7RUFHSTtBVnE3Qko7O0FVajdCQTs7RUFBQTtBQUlBOztFQUVJLG1CUmhKc0I7RUNtOER0QjtFQUNBO0FILzNCSjs7QVVqN0JBOztFQUFBO0FBSUE7O0VBRUksZ0JSOHZCMEI7QUZxTDlCOztBVTk2QkE7NkVBQUE7QUFHQTs7RUFFSSxnQlJvdkIwQjtBRjRMOUI7O0FVNTZCQTs2RUFBQTtBQUdBOztFQUVJO0FWODZCSjs7QVUxNkJBOztFQUVJO0FWNjZCSjs7QVV4NkJBOzZFQUFBO0FBR0E7O0VBQ21DO0FWMjZCbkM7O0FVejZCQTs7RUFDa0M7QVY2NkJsQzs7QVUxNkJBOzZFQUFBO0FBR0E7RUFBbUI7QVY2NkJuQjs7QVU1NkJBO0VBQW1CLGdCUjJ0Qk07QUZxTnpCOztBVTc2QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWlCO0FWKzZCakI7O0FVNzZCQTtFQUNJO0VBQ0E7QVZnN0JKOztBVTc2QkE7RUFBcUM7QVZpN0JyQzs7QVU5NkJBOzZFQUFBO0FBSUE7QUFDQTtFQUVJOzs7OztJQUkwQjtFVis2QjVCOztFVTc2QkU7SUFBNkI7RVZpN0IvQjs7RVUvNkJFOztJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVZrN0JOOztFVS82QkU7OztJQUU0RDtFVm03QjlEOztFVWo3QkU7OztJQUUyRDtFVnE3QjdEOztFVW43QkU7O0lBRUk7SUFDQTtFVnM3Qk47QUFDRjtBR3d4Qkk7RUFBcUI7QUhyeEJ6Qjs7QVd2cUNBOzs2RUFBQTtBQUlBOzs7Ozs7Ozs7Ozs7RUFBQTtBQWNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVh3cUNKOztBV3JxQ0E7QUFDQTtFQUFnQztBWHlxQ2hDOztBV3ZxQ0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QVh5cUNKOztBV3RxQ0E7O0VBQUE7QUFJQTtFQUEyRDtBWHlxQzNEOztBV3hxQ0E7RUFBNkQ7QVg0cUM3RDs7QVcxcUNBOztFQUFBO0FBSUE7RUFBZTtBWDZxQ2Y7O0FXMXFDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxXVHdaYztFU3ZaZCxZVHVaYztFU3RaZDtFQUNBO0VBQ0E7RUFDQTtBWDJxQ0o7O0FXdnFDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxXVHhFaUI7QUZndkNyQjs7QVdwcUNBOztFQUVJLFdUaElXO0VTaUlYO0FYdXFDSjs7QVducUNBO0FBQ0E7O0VBRUksY1Q0WHFCO0FGMHlCekI7O0FXbHFDQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0EsV1RrWGU7RVNqWGYsWVRpWGU7RVNoWGYsb0JUaVh3QjtFU2hYeEIsbUJUMUlzQjtFUzJJdEIsV1RyR2lCO0VTc0dqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VSMjJCQTtFQUNBO0FIMFRKOztBV2xxQ0E7QUFDQTs7RUFFSSx5QlRzVzJCO0VTclczQixXVHBLVztFU3FLWDtBWHFxQ0o7O0FXanFDQTtBQUNBOztFQUVJLHlCVCtWNEI7RVM5VjVCLFdUN0tXO0FGaTFDZjs7QVlwMENBOzs2RUFBQTtBQUlBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpxMENKOztBWWowQ0E7QUFDQTtFQUFrQjtBWnEwQ2xCOztBWXAwQ0E7RUFBOEI7QVp3MEM5Qjs7QVl0MENBO0FBQ0E7RUFDSSxZVm1Vc0I7RVVsVXRCO0VBQ0E7RUFDQTtBWnkwQ0o7O0FZdDBDQTs7RUFBQTtBQUlBO0VBQWlEO0FaeTBDakQ7O0FZeDBDQTtFQUE2QztBWjQwQzdDOztBWTMwQ0E7RUFBc0M7QVorMEN0Qzs7QVk1MENBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWVZzU3NCO0VVclN0QixXVnFTc0I7RVVwU3RCLG9CVnFTNkI7RVVwUzdCLGdCVjVCZ0I7RUN1dkJZO0FIbW5CaEM7O0FZMTBDQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWVYwUnNCO0VVelJ0QixXVnlSc0I7RVV4UnRCLG9CVnlSNkI7RVV4UjdCLGdCVnhDZ0I7RUN1dkJZO0FIK25CaEM7O0FZMTBDQTtBQUNBO0VBQ0k7RUFDQTtBWjYwQ0o7O0FZMTBDQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWVZ3UXNCO0VVdlF0QixXVnVRc0I7RVV0UXRCLG9CVnVRNkI7RVV0UTdCLGdCVjFEZ0I7RUN1dkJZO0FIaXBCaEM7O0FZMTBDQTtBQUNBO0VBQXlCO0FaODBDekI7O0FZMzBDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7QUFDQTtFQUNJLFdWdVBzQjtFVXRQdEIsbUJWdVAwQjtFQ3FiRSxvQkQrUkM7QUZrWWpDOztBWXowQ0E7O0VBR0ksbUJWaVBnQztBRjBsQ3BDOztBWXYwQ0E7QUFDQTtFQUNJLFdWeU9zQjtFVXhPdEIsbUJWeU8wQjtFQ3FiRSxvQkQrUkM7QUY4WWpDOztBWXYwQ0E7RUFDSSxtQlZxT2dDO0FGcW1DcEM7O0FZdDBDQTtBQUNBOztFQUVJLFdWNE5zQjtFVTNOdEIsbUJWNE4wQjtFQ3FiRSxvQkQrUkM7QUYwWmpDOztBWXQwQ0E7O0VBRUksbUJWdU5nQztBRmtuQ3BDOztBYW40Q0E7OzZFQUFBO0FBSUE7Ozs7Ozs7OztFQUFBO0FBV0E7Ozs7O0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYm80Q0o7O0FhajRDQTs7RUFBQTtBQUlBO0VBQVk7QWJvNENaOztBYWw0Q0E7O0VBQUE7QUFJQTtFQUFhO0FicTRDYjs7QWFuNENBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FicTRDSjs7QWFsNENBOztFQUFBO0FBSUE7RUFBZTtBYnE0Q2Y7O0FhbjRDQTs7RUFBQTtBQUlBOztFQUNzRDtBYnM0Q3REOztBYW40Q0E7O0VBQUE7QUFJQTs7RUFDc0Q7QWJzNEN0RDs7QWFwNENBOztFQUFBO0FBSUE7O0VBQ2lDO0FidTRDakM7O0FhcjRDQTs7RUFBQTtBQUlBOztFQUM4QjtBYnc0QzlCOztBYXQ0Q0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBYnc0Q0o7O0FhcDRDQTs7Ozs2RUFBQTtBQU1BOztFQUFBO0FBSUE7O0VBQ2U7QWJzNENmOztBYXA0Q0E7Ozs7O0VBQUE7QUFPQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCWHZMZ0I7RVd3TGhCLFdYOU9XO0VDa3pCWDtFQUNBO0VBQ0E7QUhtMEJKOztBYXI0Q0E7Ozs7O0VBQUE7QUFPQTs7RUFFSSxZWHhGb0I7RVd5RnBCO0VBQ0E7RUFDQTtBYnU0Q0o7O0FhbjRDQTtBQUNBOztFQUN5QixpQlh5SE47QUY4d0NuQjs7QWFyNENBOztFQUFBO0FBSUE7OztFQUdJLGdCWGtIb0I7RVdqSHBCLG1CWGlIb0I7RVdoSHBCO0FidTRDSjs7QWFuNENBOztFQUNtQjtBYnU0Q25COztBYXI0Q0E7QUFDQTs7O0VBR0k7RUFDQSxzQlhyT2dCO0VXc09oQixXWDVSVztFQ3d6QlcscUJEdnlCRTtBRm9wRDVCOztBYXI0Q0E7QUFDQTs7O0VBR0kseUJYeFJzQjtFV3lSdEIsV1huUGlCO0VDdXdCUSxxQkQzckJiO0FGZ2pEaEI7O0FhcjRDQTs7RUFBQTs7QUFLQTtFQUF5QixXWDVQSjtBRnVvRHJCOztBYTM0Q0E7RUFBeUIsV1g1UEo7QUZ1b0RyQjs7QWEzNENBO0VBQXlCLFdYNVBKO0FGdW9EckI7O0FheDRDQTtFQUE0QixXWC9QUDtBRitvRHJCOztBYWg1Q0E7RUFBNEIsV1gvUFA7QUYrb0RyQjs7QWFoNUNBO0VBQTRCLFdYL1BQO0FGK29EckI7O0FhNzRDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBaUIsbUJYNVFRO0FGMnBEekI7O0FhNzRDQTtFQUNJLFlYeEowQjtFV3lKMUIsaUJYeUU0QjtFV3hFNUIsa0JYd0U0QjtBRncwQ2hDOztBYTc0Q0E7RUFBc0QsaUJYc0U3QjtBRjIwQ3pCOztBYS80Q0E7O0VBQUE7QUFJQTtFQUFpQixrQlg5VVM7QUZndUQxQjs7QWFoNUNBO0VBQ0ksWVhwSzBCO0VXcUsxQixrQlgrRDRCO0VXOUQ1QixtQlg4RDRCO0FGcTFDaEM7O0FhaDVDQTtFQUFzRCxpQlg0RDdCO0FGdzFDekI7O0FhajVDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBRUksY1huVXVCO0VDZ3lCQSxxQkRoeUJBO0FGc3REM0I7O0FhLzRDQTs7RUFBQTtBQUlBOztFQUVJLGNYblZ3QjtFQ3V5QkEscUJEdnlCQTtBRnF1RDVCOztBYTk0Q0E7O0VBQUE7QUFJQTtFQUNJO0VWNGNzQjtBSHE4QjFCOztBYTc0Q0E7RVYwY0kscUJEaHNCWTtFQ2lzQlosb0JEcVI0QjtBRmtyQmhDOztBYTc0Q0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUE2QixXWGdCVDtBRiszQ3BCOztBYTc0Q0E7RUFBOEI7QWJpNUM5Qjs7QWEvNENBO0VBQXVCLFlYYUo7QUZzNENuQjs7QWFqNUNBO0VBQXdCLFlYWUo7QUZ5NENwQjs7QWFuNUNBO0VBQXVCLFlYV0o7QUY0NENuQjs7QWFwNUNBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJYTndCO0VLOVh4QjtFTXNZQTtFQUNBO0FicTVDSjs7QWFsNUNBO0FBQ0E7RUFBcUQ7QWJzNUNyRDs7QWFwNUNBO0FBQ0E7RUFBZ0QsV1hkckI7QUZzNkMzQjs7QWF0NUNBOztFQUFBO0FBSUE7RU5wWkk7QVA2eURKOztBYXQ1Q0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlDO0VBQ0csbUJYN0IwQjtFVzhCMUI7RUFDQTtBYnU1Q0o7O0FhcDVDQTs7RU5wYUk7QVA2ekRKOztBYXQ1Q0E7QUFDQTtFQUFxRDtBYjA1Q3JEOztBYXY1Q0E7OzZFQUFBO0FBSUE7Ozs7Ozs7RUFBQTtBQVNBOztFQUVJO0VBQ0E7RUFDQSxZWHhEYztFV3lEZCxXWHpEYztFVzBEZDtFQUNBO0VBQ0E7RUFDQSxnQlg1RG9CO0VXNkRwQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsNkJYakVvQjtFV2tFcEI7RUFDQTtFQUNBO0VWaVdBO0VBQ0E7RUFDQTtBSHdqQ0o7O0FhdjVDQTtFQUFZO0FiMjVDWjs7QWF6NUNBO0FBQ0E7O0VBRUk7RVY0VjRCLHFCRHJ6Qko7QUZzM0Q1Qjs7QWF6NUNBOztFQUFBO0FBSUE7OztFQUdJLHlCWHBld0I7RUNzekJNLHlCRGlSTjtBRnl6QjVCOztBYXg1Q0E7QUFDQTs7O0VBR0kseUJYN0ZrQztBRncvQ3RDOztBYXY1Q0E7O0VBQUE7QUFJQTtFTjllSTtBUHc0REo7O0FhejVDQTtFTi9lSTtBUDQ0REo7O0FhNTVDQTtFTmhmSTtBUGc1REo7O0FhOTVDQTs7RUFBQTtBQUlBOztFQUVJLHlCWG5nQnNCO0VDNnpCUyxxQkQzc0JuQjtBRmt6RGhCOztBYTc1Q0E7RU41Zkk7QVA2NURKOztBYWg2Q0E7RU43Zkk7QVBpNkRKOztBYW42Q0E7RU45Zkk7QVBxNkRKOztBYXA2Q0E7NkVBQUE7QUFHQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsaUJYMWJxQjtFVzJickIsZ0JYeElzQjtBRjZpRDFCOztBYWg2Q0E7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmk2Q0o7O0FhOTVDQTs7Ozs7OztFQUFBO0FBU0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJnNkNKOztBYTc1Q0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYmc2Q0o7O0FhNTVDQTs2RUFBQTtBQUdBO0VWaU9JLFdEOTBCb0I7RUMrMEJwQixtQkQ5eEJxQjtBRjQ5RHpCOztBYTM1Q0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxrQlhwTnlCO0FGZ25EN0I7O0FheDVDQTs7RUFBQTtBQUlBO0FBQ0E7RUFFSTtFQUNBO0lBQ0k7SUFDQSxrQlhsT3FCO0VGMm5EM0I7QUFDRjtBYXA1Q0E7QUFDQTtFQUVJO0lBQ0ksWVgzT3NCO0lXNE90QixlWDNPMkI7SVc0TzNCO0VicTVDTjs7RWFqNUNFO0lBQXdDLGtCWC9PTDtFRm9vRHJDOztFYW41Q0U7RUFDQTtJQUE2QyxnQlhqUEw7RUZ3b0QxQztBQUNGO0FhbjVDQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXWDdnQm9CO0VXOGdCcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdYcG9CaUI7QUZ1aEVyQjs7QWFoNUNBOztFQUFBO0FBSUE7RUFBc0IsV1g3ckJQO0FGZ2xFZjs7QWFqNUNBOztFQUFBO0FBSUE7RUFBOEM7QWJvNUM5Qzs7QWFsNUNBOztFQUFBO0FBSUE7RUFBb0Q7QWJxNUNwRDs7QWFuNUNBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FicTVDSjs7QWFsNUNBO0VBQWlDO0FiczVDakM7O0FjbGlFQTs7NkVBQUE7QUFJQTs7Ozs7Ozs7Ozs7O0VBQUE7QUFjQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJaL0RxQjtFWWdFckI7RUFDQSxpQlpxRGlCO0VZcERqQjtFQUNBO0VBQ0E7RUFDQTtFWHNNQSx5QkRtdkJvQjtFQ2x2QnBCO0VBQ0E7QUg4MURKOztBY2xpRUE7RUFBNEI7QWRzaUU1Qjs7QWNwaUVBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0Fkc2lFSjs7QWNuaUVBO0FBQ0E7RUFDSTtFQUNBO0Fkc2lFSjs7QWNsaUVBO0FBQ0E7RUFDSTtBZHFpRUo7O0FjamlFQTtBQU9BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLDZCWmlCd0I7RVloQnhCLFdabEtvQjtFQ21VTTtBSDQzRDlCOztBY3poRUE7QUFDQTs7RUFFSSw2QlpXOEI7RVlWOUIsV1oxS29CO0VDb1VZLHFCRDZ1Qk47QUZzcEM5Qjs7QWN6aEVBO0FBQ0E7O0VBRUksNkJaSytCO0VZSi9CLFdabExvQjtFQ3FVYSxxQkQ2dUJOO0FGNnBDL0I7O0FjemhFQTs7RUFBQTtBQUlBO0VBQ0kseUJaeEt3QjtFWXlLeEIsV1p2TG1CO0VDaVVPO0FIazVEOUI7O0FjeGhFQTtBQUNBOztFQUVJLHlCWlQ4QjtFWVU5QixXWi9MbUI7QUYwdEV2Qjs7QWN2aEVBO0FBQ0E7O0VBRUkseUJaZitCO0VZZ0IvQixXWnZNbUI7QUZpdUV2Qjs7QWN0aEVBOztFQUFBO0FBSUE7RUFDSSxzQlp6SjBCO0VZMEoxQixXWmpObUI7RUNvVVM7QUhzNkRoQzs7QWNyaEVBO0FBQ0E7O0VBRUkseUJaN0JnQztFWThCaEMsV1p6Tm1CO0FGaXZFdkI7O0FjcGhFQTtBQUNBOztFQUVJLHlCWm5DaUM7RVlvQ2pDLFdaak9tQjtBRnd2RXZCOztBY25oRUE7O0VBQUE7QUFJQTtFQUNJLHlCWm5OdUI7RVlvTnZCLFdaM09tQjtFQ3VVTTtBSDA3RDdCOztBY2xoRUE7QUFDQTs7RUFFSSx5QlpqRDZCO0VZa0Q3QixXWm5QbUI7QUZ3d0V2Qjs7QWNqaEVBO0FBQ0E7O0VBRUkseUJadkQ4QjtFWXdEOUIsV1ozUG1CO0FGK3dFdkI7O0FjaGhFQTs7O0VBQUE7QUFLQTs7OztFQUlJLDZCWm5FeUI7RVlvRXpCLFdaMU5pQjtFQzJSVSxxQkQvTWY7QUZpcUVoQjs7QWM5Z0VBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGlCWi9HdUI7RVlnSHZCLG1CWnhPcUI7QUZ3dkV6Qjs7QWM1Z0VBO0VBQ0k7RUFDQSxpQlpwSHVCO0VZcUh2QixtQlovT3FCO0FGOHZFekI7O0FjMWdFQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQSxnQlpoT2lCO0VZaU9qQjtFQUNBO0VBQ0EsV1pwVG9CO0VDb1ZwQjtBSDQrREo7QUcxK0RJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUg0K0RSOztBY2poRUE7QUFDQTs7RUFFSSxXWjNUb0I7QUYrMEV4QjtBRzUrREk7O0VBQVk7QUhnL0RoQjs7QWNwaEVBO0FBQ0E7RUFDSSxXWjdRaUI7QUZveUVyQjtBR2gvREk7RUFBWTtBSG0vRGhCOztBY3RoRUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBLGdCWjdQaUI7RVk4UGpCO0VBQ0E7RUFDQSxjWjdQZ0I7QUZxeEVwQjs7QWNwaEVBO0FBQ0E7O0VBRUksY1pqUXNCO0VZa1F0QiwwQlp0SWdDO0FGNnBFcEM7O0FjcGhFQTtBQUNBO0VBQ0ksV1oxU2lCO0VZMlNqQjtBZHVoRUo7O0FjbmhFQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG9oRUo7O0FHeGhFSTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQ21EO0FIMGhFdkQ7O0FHeGhFSTs7Ozs7RUFBQTtBQU9BOzs7O0VBSUk7RUFDQTtBSDBoRVI7O0FlajVFQTs7NkVBQUE7QUFJQTs7Ozs7OztFQUFBO0FBU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJieEJzQjtFYXlCdEI7RUFDQSxtQmI3Q1k7RWE4Q1osWWI4dkJjO0VDc2dDZCxvQkQzckJxQjtFQzRyQnJCO0FIK29CSjs7QWVoNUVBO0FBQ0E7RUFBbUIsZ0JibkRIO0FGdThFaEI7O0FlbDVFQTs7RUFBQTtBQUlBO0VBQTZCO0FmcTVFN0I7O0FlbjVFQTs7O0VBQUE7QUFLQTtFQUNFLHlCYjlDd0I7RUMreER0QixvQkQzckJxQjtFQzRyQnJCO0FIcXFCSjs7QWVuNUVBO0FBQ0E7RUFBZ0Q7QWZ1NUVoRDs7QWVyNUVBOzs7RUFBQTtBQUtBO0VBQ0kseUJidER3QjtFYXVEeEI7RUFBQTtBZnU1RUo7O0FlbjVFQTtFQUNJLHlCYjVEd0I7QUZrOUU1Qjs7QWVsNUVBO0VBQ0kseUJiakV3QjtFYWtFeEI7RUFBQTtFQUNBO0VBQ0E7QWZxNUVKOztBZ0JsOEVBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQXdCO0VBQ3hCLGlCZHFEbUI7RWNwRG5CLG9CZG9EbUI7QUZnNUV2Qjs7QWdCaDhFQTtBQUNBO0VBRUk7SUFDSSxpQmRuQmM7SWNvQmQsb0JkcEJjO0VGczlFcEI7QUFDRjtBZ0I5N0VBOztFQUFBO0FBSUE7RUFBNEI7QWhCZzhFNUI7O0FnQjc3RUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksaUJkeEZZO0VjeUZaLG9CZHpGWTtBRnVoRmhCOztBZ0IzN0VBOztFQUFBO0FBSUE7RUFDSSxpQmRjbUI7RWNibkIsb0JkYW1CO0FGZzdFdkI7O0FnQjE3RUE7O0VBQUE7QUFJQTtFQUNJLGlCZDFEa0I7RWMyRGxCLG9CZDNEa0I7QUZ1L0V0Qjs7QWdCejdFQTtBQUNBO0VBRUk7SUFDSSxrQmQ2ZmU7SWM1ZmYscUJkNGZlO0VGKzdEckI7QUFDRjtBZ0J0N0VBOztFQUFBO0FBSUE7RUFDSSxrQmRpZm1CO0VjaGZuQixxQmRnZm1CO0FGdThEdkI7O0FnQnA3RUE7QUFDQTtFQUVJO0lBQ0ksa0JkK3NCNEI7SWM5c0I1QixxQmQ4c0I0QjtFRnd1RGxDO0FBQ0Y7QWdCajdFQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQmR4RmdCO0FGeWdGcEI7O0FnQjc2RUE7O0VBQUE7QUFJQTtFQUNJLG1CZDNJc0I7QUYwakYxQjs7QWdCMzZFQTs7RUFBQTtBQUlBO0VBQ0ksbUJkL0l3QjtBRjRqRjVCOztBZ0JyNkVBOztFQUFBO0FBSUE7RUFDSSxnQmRuSDBCO0FGMGhGOUI7O0FnQi81RUE7NkVBQUE7QUFHQTs7O0VBQUE7QUNqS0E7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxpQmYyUWtCO0VlMVFsQjtFQUNBO0VBQ0Esa0JmNlEyQjtFZTVRM0IsbUJmNFEyQjtBRnd6RS9COztBaUJqa0ZBO0FBQ0E7RUFFSTtJQUNJLGtCZmxCUTtJZW1CUixtQmZuQlE7RUZzbEZkO0FBQ0Y7QWlCL2pGQTtBQUNBO0VBRUk7SUFDSSxrQmZ6QmU7SWUwQmYsbUJmMUJlO0VGMGxGckI7QUFDRjtBaUI1akZBOztFQUFBO0FBSUE7RUFBOEI7QWpCOGpGOUI7O0FpQjVqRkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWpCOGpGSjs7QWlCMWpGQTs2RUFBQTtBQUdBO0VBQXVCLGdCZjhOTTtBRisxRTdCOztBaUIzakZBO0VBQXNCLGdCZjZOTTtBRmsyRTVCOztBaUI3akZBO0VBQXNCLGlCZjROTTtBRnEyRTVCOztBaUIvakZBO0VBQXVCLGlCZjJOTTtBRncyRTdCOztBaUJqa0ZBO0VBQXVCO0FqQnFrRnZCOztBaUJsa0ZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUE0QjtBakJva0Y1Qjs7QWlCbmtGQTtFQUE2QjtBakJ1a0Y3Qjs7QWlCcmtGQTtBQUNBO0VBRUk7O0lBQ2lEO0VqQndrRm5EOztFaUJ0a0ZFOztJQUNnRDtFakIwa0ZsRDtBQUNGO0FpQnZrRkE7QUFDQTtFQUVJOztJQUM2QjtFakJ5a0YvQjs7RWlCdmtGRTs7SUFDaUQ7RWpCMmtGbkQ7O0VpQnprRkU7O0lBQ2dEO0VqQjZrRmxEOztFaUIza0ZFOztJQUNnRDtFakIra0ZsRDs7RWlCN2tGRTs7SUFDaUQ7RWpCaWxGbkQ7QUFDRjtBaUI3a0ZBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7O0VBQzBDO0FqQjhrRjFDOztBaUI1a0ZBO0VBQXlDO0FqQmdsRnpDOztBaUIva0ZBO0VBQTBDO0FqQm1sRjFDOztBaUJqbEZBO0FBQ0E7RUFFSTs7SUFDMEM7RWpCb2xGNUM7O0VpQmxsRkU7SUFBeUM7RWpCc2xGM0M7O0VpQnJsRkU7SUFBMEM7RWpCeWxGNUM7QUFDRjtBaUJ0bEZBO0FBQ0E7RUFFSTs7SUFDMEM7RWpCd2xGNUM7O0VpQnRsRkU7SUFBeUM7RWpCMGxGM0M7O0VpQnpsRkU7SUFBMEM7RWpCNmxGNUM7QUFDRjtBa0IzdEZBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0JoQjQ1QnNCO0VnQjM1QnRCLG1CaEIyNUJzQjtFZ0IxNUJ0QixpQmhCb0RtQjtFZ0JuRG5CLG9CaEJtRG1CO0FGeXFGdkI7O0FrQnh0RkE7QUFDQTtFQUVJO0lBQ0ksa0JoQmhDUTtJZ0JpQ1IsbUJoQmpDUTtFRjJ2RmQ7QUFDRjtBa0J0dEZBO0FBQ0E7RUFFSTtJQUNJLGtCaEJ2Q2U7SWdCd0NmLG1CaEJ4Q2U7SWdCeUNmLGlCaEJoQ2M7SWdCaUNkLG9CaEJqQ2M7RUZ3dkZwQjtBQUNGO0FrQm50RkE7O0VBQUE7QUFJQTtFQUF5QjtBbEJxdEZ6Qjs7QWtCbHRGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxpQmhCckdZO0VnQnNHWixvQmhCdEdZO0FGeXpGaEI7O0FrQmh0RkE7O0VBQUE7QUFJQTtFQUNJLGlCaEJDbUI7RWdCQW5CO0FsQmt0Rko7O0FrQi9zRkE7O0VBQUE7QUFJQTtFQUNJLGlCaEJ2RWtCO0VnQndFbEIsb0JoQnhFa0I7QUZ5eEZ0Qjs7QWtCOXNGQTtBQUNBO0VBRUk7SUFDSSxrQmhCZ2ZlO0lnQi9lZixxQmhCK2VlO0VGaXVFckI7QUFDRjtBa0Izc0ZBOztFQUFBO0FBSUE7RUFDSSxrQmhCb2VtQjtFZ0JuZW5CLHFCaEJtZW1CO0FGeXVFdkI7O0FrQnpzRkE7QUFDQTtFQUVJO0lBQ0ksa0JoQjQwQnlCO0lnQjMwQnpCLHFCaEIyMEJ5QjtFRmc0RC9CO0FBQ0Y7QWtCdHNGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQmhCckdnQjtBRjJ5RnBCOztBa0Jsc0ZBOztFQUFBO0FBSUE7RUFDSSxtQmhCeEpzQjtBRjQxRjFCOztBa0Joc0ZBOztFQUFBO0FBSUE7RUFDSSxtQmhCNUp3QjtBRjgxRjVCOztBa0IxckZBOztFQUFBO0FBSUE7RUFDSSxnQmhCaEkwQjtBRjR6RjlCOztBbUJueUZBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtFaEJ3YWdCO0FIODNFcEI7O0FtQmp5RkE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QW5CbXlGSjs7QW1CL3hGQTtFQUNJO0VBQ0E7QW5Ca3lGSjs7QW1COXhGQTtFQUNJO0VBQ0E7QW5CaXlGSjs7QW1CN3hGQTtBQUNBO0VBRUk7SUFBZ0I7RW5CZ3lGbEI7O0VtQjl4RkU7SUFBa0I7RW5Ca3lGcEI7O0VtQmh5RkU7SUFBa0I7RW5Cb3lGcEI7QUFDRjtBbUJqeUZBOztFQUFBO0FBSUE7OztFQUVnQztBbkJteUZoQzs7QW1CaHlGQTs2RUFBQTtBQUdBOzs7RUFBQTtBQTRCQTs2RUFBQTtBQUdBO0VBQ0ksaUJqQnpEcUI7RWlCMERyQixnQmpCNEVxQjtBRjZyRnpCOztBbUJwd0ZBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQSxTakIyRGE7RWlCMURiLFdqQjJEZTtFaUIxRGY7RUFDQTtFQUNBLFlqQnlEZ0I7RWlCeERoQixrQmpCeUQ0QjtFaUJ4RDVCLG1CakJ3RDRCO0VpQnZENUI7RUFDQSxtQmpCcEx3QjtFaUJxTHhCLFdqQm5NbUI7RWlCb01uQixtQmpCeEpxQjtFaUJ5SnJCO0VBQ0E7RUFDQTtFQUNBO0FuQnF3Rko7O0FtQmp3RkE7O0VBQUE7QUFJQTtFQUFpQztBbkJvd0ZqQzs7QW1CandGQTs2RUFBQTtBQUdBO0VBQ0ksZ0JqQnBLZ0I7RUNzZE0sMkNEc2dCQTtBRjQ4RDFCOztBbUIvdkZBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSSxnQmpCbExnQjtFaUJtTGhCLFdqQnpPVztFQzZnQmEsMENEb2dCRDtBRnk5RDNCOztBbUI3dkZBO0VBQ0ksV2pCaFBvQjtBRmcvRnhCOztBbUI1dkZBO0VBQ0ksc0JqQjdMZ0I7RUN5ZGMsMkNEbWdCUjtBRmkrRDFCOztBbUI1dkZBO0VoQnlSbUM7QUh1K0VuQzs7QW1CNXZGQTtFaEJzUm1DO0FIMCtFbkM7O0FtQjV2RkE7O0VBQUE7QUFJQTtFQUNJLG1CakJuUHdCO0VpQm9QeEIsV2pCbFFtQjtFQytnQkssMENEK2ZEO0FGbS9EM0I7O0FtQjN2RkE7RUFDSSxXakJ2UW1CO0FGcWdHdkI7O0FtQjF2RkE7RUFDSSx5QmpCOVB3QjtFQ21nQk0sMkNEOGZSO0FGMi9EMUI7O0FtQnB2RkE7O0VBQUE7QUFJQTtFQUNJLGdCakJwTzBCO0VpQnFPMUIsV2pCNVJtQjtFQ2toQk8sMENENGZIO0FGcWdFM0I7O0FtQm52RkE7RUFDSSxXakJqU21CO0FGdWhHdkI7O0FtQmx2RkE7RUFDSSxzQmpCL08wQjtFQzZkTSwyQ0QyZlY7QUY2Z0UxQjs7QW1CM3VGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQytCO0FuQjZ1Ri9COztBbUIzdUZBO0VBQWlDO0FuQit1RmpDOztBbUI5dUZBO0VBQWlDO0FuQmt2RmpDOztBbUJodkZBOztFQUFBO0FBSUE7QUFDQTtFQUVJOztJQUMrQjtFbkJrdkZqQzs7RW1CaHZGRTtJQUFpQztFbkJvdkZuQzs7RW1CbnZGRTtJQUFpQztFbkJ1dkZuQztBQUNGO0FHMWlGSTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBSDJpRlI7O0FHemlGSTtFQUNJO0VBQ0E7QUg0aUZSOztBR3ppRkk7OztFQUdJLGtCRDdnQlE7RUM4Z0JSLG1CRDlnQlE7QUYwakdoQjs7QUd6aUZJO0VBQThDO0FINmlGbEQ7O0FHMWlGSTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VINGlGVjs7RUcxaUZNO0lBQ0k7SUFDQTtFSDZpRlY7O0VHMWlGTTs7O0lBR0ksa0JEaGlCVztJQ2lpQlgsbUJEamlCVztFRjhrR3JCOztFRzFpRk07SUFBOEM7RUg4aUZwRDtBQUNGO0FHM2lGSTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBSDRpRlI7O0FHMWlGSTtFQUNJO0VBQ0E7QUg2aUZSOztBRzFpRkk7OztFQUdJLGtCRC9sQlE7RUNnbUJSLG1CRGhtQlE7QUY2b0doQjs7QUcxaUZJO0VBQStDO0FIOGlGbkQ7O0FHNWlGSTs7RUFBQTtBQUlBO0FBQ0E7RUFFSTtJQUFtQztFSDhpRnpDOztFRzdpRk07SUFBOEM7RUhpakZwRDs7RUcvaUZNOzs7SUFHSTtJQUNBO0VIa2pGVjs7RUcvaUZNO0lBQStDLGtCRGdDckI7RUZtaEZoQztBQUNGO0FvQjNwR0E7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJLFdsQmlDaUI7RUM2a0JqQjtFQUNBO0FIOGlGSjs7QW9CenBHQTtBQUNBOztFQUVJLFdsQnhCVztFa0J5Qlg7QXBCNHBHSjs7QXFCMXFHQTs7NkVBQUE7QUFJQTs7RUFBQTtBQVNBOzZFQUFBO0FBR0E7RUFBa0I7VUFBQTtBckJzcUdsQjs7QXFCcHFHQTtFQUNJO0lBQUs7RXJCd3FHUDtFcUJ2cUdFO0lBQU87RXJCMHFHVDtBQUNGOztBcUI3cUdBO0VBQ0k7SUFBSztFckJ3cUdQO0VxQnZxR0U7SUFBTztFckIwcUdUO0FBQ0Y7QXFCeHFHQTs7RUFBQTtBQUlBO0VBQ0ksc0JuQmswQm9CO0VtQmowQnBCO0VBQ0E7RUFDQTtVQUFBO0VBQ0EsZW5CNHpCbUI7RW1CM3pCbkI7QXJCeXFHSjs7QXFCdHFHQTtFQUNJO0lBQUssdUJuQnl6QmU7RUZpM0V0QjtFcUJ6cUdFO0lBQ0k7SUFDQTtFckIycUdOO0VxQnpxR0U7SUFDSSx1Qm5CbXpCZ0I7SW1CbHpCaEI7RXJCMnFHTjtBQUNGOztBcUJwckdBO0VBQ0k7SUFBSyx1Qm5CeXpCZTtFRmkzRXRCO0VxQnpxR0U7SUFDSTtJQUNBO0VyQjJxR047RXFCenFHRTtJQUNJLHVCbkJtekJnQjtJbUJsekJoQjtFckIycUdOO0FBQ0Y7QXNCdnRHQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0ksWXBCbTlCWTtFb0JsOUJaLFdwQjRCaUI7RUM0aEVBO0FIZ3FDckI7O0FzQnB0R0E7QUFDQTs7RUFFSSxXcEI3Qlc7RW9COEJYO0F0QnV0R0o7O0FzQm50R0E7QUFDQTtFQUNJLFdwQnRDb0I7QUY0dkd4Qjs7QXVCL3VHQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0ksWXJCc2xCYTtFcUJybEJiLGdCckJxQzBCO0VxQnBDMUIsV3JCbkJtQjtFQ3VuRG5CO0FINm9ESjs7QXVCN3VHQTtBQUNBOztFQUVJLFdyQjFCbUI7RXFCMkJuQjtBdkJndkdKOztBd0I3dUdBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxtQnRCOUNZO0VzQitDWjtFQUNBLG1CdEI3QnNCO0VzQjhCdEIsV3RCMUNXO0FGeXhHZjs7QXdCM3VHQTtBQUNBO0VBQWdCLGdCdEJ0REE7QUZxeUdoQjs7QXdCN3VHQTs7RUFBQTtBQUlBO0VBQTBCO0F4Qmd2RzFCOztBd0I3dUdBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxTdEIvQ2M7RXNCZ0RkLFd0QnREa0I7RUNtQmxCO0VBQ0EsWURnZ0NrQjtBRm14RXRCOztBd0I3dUdBOztFQUFBO0FBSUE7RUFBa0M7QXhCZ3ZHbEM7O0F3Qjl1R0E7O0VBQUE7QUFJQTs7RXJCN0NJO0VBQ0EsWUQ2L0J3QjtBRmt5RTVCOztBd0I3dUdBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLG1CdEJ6RXVCO0VzQjBFdkIsY3RCM0V3QjtBRnl6RzVCOztBd0IxdUdBOztFQUFBO0FBSUE7RUFDSSxtQnRCaEZ1QjtFc0JpRnZCLGN0QmxGd0I7QUY4ekc1Qjs7QXdCeHVHQTs7RUFBQTtBQUlBO0VBQ0ksbUJ0QnZGdUI7RXNCd0Z2QixjdEJ6RndCO0FGbTBHNUI7O0F3QnR1R0E7O0VBQUE7QUFJQTtFQUNJLG1CdEI5RnNCO0VzQitGdEIsY3RCaEd1QjtBRncwRzNCOztBR3p6R0k7O0VBQUE7QUFJQTs7Ozs7O0VBS2U7QUg0ekduQjs7QUcxekdJO0VBQ0k7RUFDQTtBSDZ6R1I7O0FHMXpHSTtFQUNJO0VBQ0E7QUg2ekdSOztBeUI5MkdBOzs2RUFBQTtBQUlBO0VBQ0ksbUJ2QnRCWTtFdUJ1Qlo7RUFDQSx1QnZCK3dCcUI7RUNzZ0NFO0FINGxEM0I7O0F5QjcyR0E7QUFDQTtFQUFzQixnQnZCN0JOO0FGODRHaEI7O0F5Qi8yR0E7O0VBQUE7QUFJQTtFQUFnQztBekJrM0doQzs7QTBCLzNHQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0EsZXhCa0NTO0V3QmpDVCxZeEJpQ1M7RXdCaENUO0VBQ0Esb0J4QmtDa0I7RXdCakNsQjtFQUNBO0VBQ0EsbUJ4QmZ3QjtFd0JnQnhCLFd4QjlCbUI7RXdCK0JuQixtQnhCYXFCO0V3QlpyQjtFQUNBO0VBQ0E7RUFDQTtBMUJnNEdKOztBMEI1M0dBOztFQUFBO0FBSUE7O0VBRUksV3hCN0NtQjtFd0I4Q25CO0VBQ0E7QTFCODNHSjs7QTJCejVHQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQSxtQnpCYndCO0V5QmN4QixnQnpCZ0RpQjtFeUIvQ2pCLG1CekJlcUI7RXlCZHJCLFd6QjlCbUI7RXlCK0JuQjtFQUNBO0V4QjJoREEsa0JEamVrQjtFQ2tlbEIseUJEamVtQjtBRmsyRXZCOztBMkJ4NUdBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLHlCekI1QndCO0V5QjZCeEIsV3pCOUNtQjtBRnU4R3ZCOztBMkJyNUdBOztFQUFBO0FBSUE7RUFDSSx5QnpCbkN3QjtFeUJvQ3hCLFd6QnhEbUI7QUYrOEd2Qjs7QTJCbjVHQTs7RUFBQTtBQUlBO0VBQ0kseUJ6QjFDdUI7RXlCMkN2QixXekJsRW1CO0FGdTlHdkI7O0E0Qng4R0E7OzZFQUFBO0FBSUE7RUFDSTtBNUIwOEdKOztBNEJ0OEdBOztFQUFBO0FBSUE7RUFBNEI7QTVCeThHNUI7O0E0QnQ4R0E7NkVBQUE7QUFRQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxvQzFCdXRCeUI7QUYwdUY3Qjs7QTRCNzdHQTs7RUFBQTtBQUlBO0VBQ0ksaUMxQitzQnlCO0FGZ3ZGN0I7O0E2QngrR0E7OzZFQUFBO0FBSUE7RUFDSTtBN0IwK0dKOztBNkJ0K0dBOztFQUFBO0FBSUE7RUFBNEI7QTdCeStHNUI7O0E2QnQrR0E7NkVBQUE7QUFHQTtFQUNJLGdCM0JHa0I7QUZxK0d0Qjs7QTZCbitHQTs2RUFBQTtBQUdBO0VBQ0kscUIzQkZzQjtFMkJHdEIsZ0IzQkZ3QjtBRnUrRzVCOztBNkJqK0dBO0FBQ0E7RUFFSTtJQUFvQixtQjNCWkc7RUZnL0d6QjtBQUNGO0E2QmgrR0E7NkVBQUE7QUFHQTtFQUNJLG1CM0JqQnFCO0UyQmtCckIsZ0IzQmhCdUI7RTJCaUJ2QixXM0JoQmlCO0FGaS9HckI7QUc3OUdJO0VBQUksV0RwQmE7QUZvL0dyQjtBRzk5R0k7RUFDSSxXRHpFTztFQzBFUDtBSGcrR1I7O0E4Qi9nSEE7OzZFQUFBO0FBU0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtBOUIyZ0hKOztBOEJ2Z0hBO0VBQ0k7RUFDQSxtQjVCdkRZO0FGaWtIaEI7O0E4QnRnSEE7O0VBQUE7QUFJQTs7RUFDbUM7QTlCeWdIbkM7O0E4QnRnSEE7NkVBQUE7QUFHQTtFQUNJLGtCNUJyRXNCO0U0QnNFdEIsZ0I1QnVPd0I7QUZpeUc1Qjs7QThCbmdIQTs2RUFBQTtBQUdBO0VBQ0ksbUI1QjNCcUI7RTRCNEJyQixnQjVCK051QjtFNEI5TnZCLFc1QjFCaUI7QUYraEhyQjs7QThCaGdIQTs2RUFBQTtBQVFBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0E5QjQvR0o7O0E4QnovR0E7QUFDQTtFQUNJLGdCNUIxRGtCO0FGc2pIdEI7O0E4QngvR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBLGtCNUIrTHdCO0U0QjlMeEI7QTlCMC9HSjs7QThCdC9HQTtBQUNBO0VBRUk7SUFBb0MsbUI1QndMVjtFRmkwRzVCO0FBQ0Y7QThCdC9HQTtBQUNBO0VBQ0ksZ0I1Qm5Ga0I7QUYya0h0Qjs7QThCbi9HQTs2RUFBQTtBQUdBO0UzQmdpQkksYUR2b0JZO0VDd29CWix5QkR6cEJzQjtBRittSDFCOztBK0Iva0hBOzs2RUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQmdsSEo7O0ErQjVrSEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOztFQUM4QztBL0I4a0g5Qzs7QStCNWtIQTs7RUFBQTtBQUlBO0VBQXFDO0EvQitrSHJDOztBK0I3a0hBOzs7Ozs7Ozs7O0VBQUE7QUFZQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFc3QmxIVztBRmlzSGY7O0ErQjNrSEE7RUFBeUI7QS9CK2tIekI7O0ErQjdrSEE7QUFDQTtFQUF5QztBL0JpbEh6Qzs7QStCaGxIQTtFQUFnQyxXN0J4RVg7QUY0cEhyQjs7QStCcGxIQTtFQUFnQyxXN0J4RVg7QUY0cEhyQjs7QStCamxIQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBd0I7QS9CbWxIeEI7O0ErQmpsSEE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzdCdEdpQjtBRnlySHJCOztBK0JobEhBOztFQUFBO0FBSUE7RUFBbUMsVzdCN0dkO0FGZ3NIckI7O0ErQmpsSEE7O0VBQUE7QUFJQTtFQUEyRDtBL0JvbEgzRDs7QStCbGxIQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBL0JvbEhKOztBK0JobEhBOzZFQUFBO0FBR0E7RUFBcUIsWTdCd25CRTtBRjI5RnZCOztBK0JqbEhBOztFQUFBO0FBSUE7RUFDSSxZN0J4Qm9CO0U2QnlCcEIsaUI3QmtuQmdDO0U2QmpuQmhDLGtCN0JpbkJnQztFNkJobkJoQyx1QjdCaW5Cd0I7RUNrZ0NRO0FIaStEcEM7O0ErQmhsSEE7QUFDQTtFQUNJLDZCN0IybUJ3QjtBRncrRjVCOztBK0Iva0hBOztFQUFBO0FBSUE7RUFBcUMsVzdCekNiO0FGMm5IeEI7O0ErQmhsSEE7RUFBa0Y7QS9Cb2xIbEY7O0ErQm5sSEE7RUFBNkQ7QS9CdWxIN0Q7O0ErQnBsSEE7NkVBQUE7QUFHQTtFQUFvQixZN0I2bEJFO0FGMC9GdEI7O0ErQnJsSEE7O0VBQUE7QUFJQTtFQUNJLFk3QnVsQm1CO0U2QnRsQm5CLHVCN0J1bEJ1QjtFNkJ0bEJ2QixpQjdCN0dxQjtBRm9zSHpCOztBK0JubEhBOztFQUFBO0FBSUE7RUFBb0MsVzdCZ2xCVDtBRnNnRzNCOztBK0JwbEhBO0VBQWlGO0EvQndsSGpGOztBK0J2bEhBO0VBQTREO0EvQjJsSDVEOztBK0J4bEhBOzZFQUFBO0FBR0E7RUFBbUIsWTdCd2tCRTtBRm1oR3JCOztBK0J6bEhBOztFQUFBO0FBSUE7RUFDSSxZN0Jra0JrQjtFNkJqa0JsQix1QjdCa2tCc0I7RTZCamtCdEIsbUI3QjdNdUI7QUZ3eUgzQjs7QStCdmxIQTs7RUFBQTtBQUlBO0VBQW1DLFc3QjJqQlQ7QUYraEcxQjs7QStCeGxIQTtFQUFnRjtBL0I0bEhoRjs7QStCM2xIQTtFQUEyRDtBL0IrbEgzRDs7QStCNWxIQTs2RUFBQTtBQUdBO0VBQ0ksVzdCeE5pQjtBRnN6SHJCOztBK0IxbEhBO0FBQ0E7O0VBRUksVzdCalJXO0FGODJIZjs7QWdDMzFIQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0E7QWhDNjFISjs7QWdDeDFIQTs2RUFBQTtBQUdBO0VBQ0ksZ0I5QnpDWTtBRm00SGhCOztBZ0NyMUhBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGtCOUJqRHNCO0U4QmtEdEIsZ0I5QmhEMEI7RThCaUQxQixXOUJoRG9CO0VDRHBCO0FIeTRISjtBR3Y0SEk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxpQkRzaENxQjtFQ3JoQ3JCO0VJbUJKO0VKakJJO0VBQ0E7QUh5NEhSO0FHdDRISTtFSWFBO0FQNDNISjs7QWdDajJIQTtBQUNBOztFQUVJLFc5QnJEVztFOEJzRFg7RUFDQTtBaENvMkhKOztBZ0MvMUhBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGdCOUJ4RVk7QUZ5NkhoQjs7QWdDNzFIQTs7RUFBQTtBQUlDO0VBQXNDO0FoQ2cySHZDOztBaUNyNUhBOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYS9Ca1VXO0UrQmpVWDtFQUNBO0VBQ0EsWS9CZ1VTO0FGc2xIYjs7QWlDbjVIQTtBQUNBO0VBQW1CO0FqQ3U1SG5COztBaUNwNUhBOzZFQUFBO0FBR0E7QUFDQTtFQUF5QjtBakN1NUh6Qjs7QWlDdDVIQTtFQUE0QixnQi9CekRaO0FGbTlIaEI7O0FpQ3o1SEE7RUFBMEI7QWpDNjVIMUI7O0FpQzU1SEE7RUFBMkIsaUIvQjNEWDtBRjI5SGhCOztBaUM3NUhBOzZFQUFBO0FBR0E7RUFBbUM7QWpDZzZIbkM7O0FrQzM3SEE7OzZFQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWhDeVRlO0VnQ3hUZjtFQUNBO0VBQ0EsZ0JoQ3VUaUI7RWdDdFRqQjtFQUNBLGFoQ3NUZTtFZ0NyVGYsZ0JoQ0NnQjtFZ0NBaEIsV2hDdERXO0VDb3lCUywwQ0RzU0Y7QUZ5NkZ0Qjs7QWtDejdIQTtBQUNBO0VBQXVCO0FsQzY3SHZCOztBa0MxN0hBOzs2RUFBQTtBQUlBO0VBQ0k7RS9Ca3VCd0IsbUJEdHZCSDtBRmk5SHpCOztBa0N6N0hBOztFQUFBO0FBSUE7RUFDSSxXaEMxQmlCO0FGcTlIckI7O0FrQ3Y3SEE7QUFDQTs7O0VBR0ksV2hDcEZXO0FGOGdJZjs7QWtDdDdIQTs7RUFBQTtBQUlBO0VBQ0ksV2hDL0ZvQjtBRnVoSXhCOztBa0NwN0hBOztFQUFBO0FBSUE7RUFDSTtBbENzN0hKOztBa0NsN0hBOztFQUFBO0FBSUE7RUFBaUMsV2hDNURaO0FGaS9IckI7O0FrQ243SEE7OztFQUVnRCxXaENsSGpDO0FGeWlJZjs7QWtDcDdIQTs2RUFBQTtBQUdBO0FBQ0E7RUFBNkI7QWxDdTdIN0I7O0FrQ3Q3SEE7RUFBZ0MsZ0JoQ1VWO0FGZzdIdEI7O0FrQ3o3SEE7RUFBOEI7QWxDNjdIOUI7O0FrQzU3SEE7RUFBK0IsaUJoQ1FUO0FGdzdIdEI7O0FrQzc3SEE7NkVBQUE7QUFHQTtFQUEyQztBbENnOEgzQzs7QW1DeGdJQTs7NkVBQUE7QUFJQTs7Ozs7OztFQUFBO0FBU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWpDaWlCWTtFaUNoaUJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDhCakMyaEJlO0VpQzFoQmY7RUFDQTtFQUNBO0FuQ3lnSUo7O0FtQ3JnSUE7QUFDQTtFQUVJO0lBQVk7RW5Dd2dJZDtBQUNGO0FtQ3JnSUE7QUFDQTtFQUVJO0lBQ0ksa0JqQ3pFZTtJaUMwRWYsbUJqQzFFZTtFRmdsSXJCO0FBQ0Y7QW1DbGdJQTs7RUFBQTtBQUlBO0VBQW9CO0FuQ29nSXBCOztBbUNqZ0lBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFpQjtBbkNtZ0lqQjs7QW1DaGdJQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZakNzZWlCO0VpQ3JlakI7RUFDQTtFQUNBO0VBQ0EsZ0JqQ2hHZ0I7RWlDaUdoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQ2lnSUo7O0FtQzcvSEE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QW5DKy9ISjs7QW1DMy9IQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQXVDLGFqQ3ljZjtBRm9qSHhCOztBbUMzL0hBOzs7O0VBQUE7QUFNQTtBQUNBO0VBQ0k7RUFDQTtBbkM2L0hKOztBbUMxL0hBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbkM2L0hKOztBbUN4L0hBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0FuQzAvSEo7O0FtQ3QvSEE7RUFDSTtFQUNBO0VBQ0EsZ0JqQy9KZ0I7RUM2bERRO0FINGpGNUI7O0FtQ3QvSEE7RUFDSTtFQUNBO0VBQ0EsZ0JqQ3RLZ0I7RUM4bERRO0FIa2tGNUI7O0FtQ3QvSEE7O0VBQUE7QUFJQTs7O0VBRWlDO0FuQ3kvSGpDOztBbUN0L0hBOzZFQUFBO0FBR0E7RUFDSSxlakNoSXNCO0VpQ2lJdEIsZ0JqQ3Nac0I7QUZrbUgxQjs7QW1Dbi9IQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0EsYWpDd1hZO0VpQ3ZYWixTakN0SGtCO0VpQ3VIbEIsV2pDdkhrQjtFaUN3SGxCLFlqQzBZa0I7QUYybUh0Qjs7QW1Dai9IQTs7RUFBQTtBQUlBO0VBQTZDO0FuQ28vSDdDOztBbUNsL0hBOztFQUFBO0FBUUE7O0VBQUE7QUFZQTs7O0VBQUE7QUFLQTtFQUNJLE1qQ3VXMkI7RWlDdFczQjtFQUNBO0VBQ0E7RUFDQSxZakNxV3dCO0FGaW9INUI7O0FtQ2wrSEE7RUFDSSxXakN0U21CO0FGMndJdkI7O0FtQ2orSEE7QUFDQTtFQUVJO0VBQ0E7SUFDSSxRakNxVnVCO0lpQ3BWdkI7RW5DbStITjtBQUNGO0FtQy85SEE7O0VBQUE7QUFJQTtFaENpMkNJO0VBQ0E7RUFDQSxhRHRxRFk7RUN1cURaLGdCRDFtRGdCO0FGMHVJcEI7O0FvQzN4SUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXBDNHhJSjs7QW9DdnhJQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ3d4SUo7O0FvQ3B4SUE7NkVBQUE7QUFHQTs7Ozs7OztFQUFBO0FBU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcENxeElKOztBb0NseElBO0FBQ0E7RUFBK0I7QXBDc3hJL0I7O0FvQ3B4SUE7O0VBQUE7QUFJQTtFQUF5QztBcEN1eEl6Qzs7QXFDeDFJQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBckN5MUlKOztBcUNwMUlBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUF1QjtBckNzMUl2Qjs7QXFDcDFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBckNzMUlKOztBcUNuMUlBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckNvMUlKOztBcUNqMUlBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDbTFJSjs7QXFDaDFJQTtFQUEyQjtBckNvMUkzQjs7QXFDajFJQTs2RUFBQTtBQUdBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDazFJSjs7QXFDLzBJQTtBQUNBO0VBQTRCO0FyQ20xSTVCOztBc0M1NklBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSSxZcENvMUJhO0VvQ24xQmI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM2NklKOztBc0MxNklBOztFQUFBO0FBSUE7RUFBcUMsZ0NwQ3kwQlQ7VW9DejBCUyx3QnBDeTBCVDtBRm9tSDVCOztBc0MzNklBO0VBQWtDLGdDcEN3MEJFO1VvQ3gwQkYsd0JwQ3cwQkU7QUZ1bUhwQzs7QXVDaDdJQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXJDK1NhO0FGa29JakI7O0F1Qzk2SUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXZDZzdJSjs7QXVDNTZJQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWXJDeXFCa0I7RXFDeHFCbEI7RUFDQSxnQnJDM0IwQjtFcUM0QjFCO0VBQ0E7RUFDQTtBdkM2NklKOztBdUN6NklBO0FBQ0E7RUFFSTtJQUNJO0lBQ0EsWXJDZ3FCZ0I7SXFDL3BCaEI7RXZDMjZJTjtBQUNGO0F1Q242SUE7QUFDQTtFQUNJO0VBQ0E7QXZDcTZJSjs7QXVDbDZJQTtBQUNBO0VBRUk7SUFBdUM7RXZDcTZJekM7QUFDRjtBdUNsNklBOztFQUFBO0FBSUE7RUFBK0I7QXZDbzZJL0I7O0F1Q242SUE7RUFDSTtFQUNBO0F2Q3M2SUo7O0F1Q242SUE7O0VBQUE7QUFJQTtFQUE4QjtBdkNzNkk5Qjs7QXVDcjZJQTtFQUFpRDtBdkN5NklqRDs7QXVDdjZJQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q3k2SUo7O0F1Q3Q2SUE7RUFDSTtFQUNBO0F2Q3k2SUo7O0F1Q3Q2SUE7RUFDSTtFQUNBO0VBQ0E7QXZDeTZJSjs7QXVDdDZJQTtFQUFrQyxZckNtbEJaO0FGdTFIdEI7O0F1Q3g2SUE7QUFDQTtFQUVJO0lBQWtDLFlyQ21sQmQ7RUZ3MUh0QjtBQUNGO0F1Q3g2SUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXZDeTZJSjs7QXVDcjZJQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0EsYXJDa0thO0VxQ2pLYixTckNpa0J1QjtFcUNoa0J2QixXckNna0J1QjtFcUMvakJ2QixZckNna0JzQjtBRnUySDFCOztBdUNsNklBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZDbTZJSjs7QXVDaDZJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsOEJyQytoQjJCO0VxQzloQjNCO0VBQ0E7RUFDQTtBdkNrNklKOztBdUM5NUlBO0VBQXdDO0F2Q2s2SXhDOztBdUMvNUlBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7O0VBQzBCO0F2Q2k2STFCOztBdUM5NUlBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkMrNUlKOztBdUM1NUlBOztFQUFBO0FBSUE7RUFBNEQsV3JDd2V0QztBRnU3SHRCOztBdUM3NUlBO0VBQXNEO0F2Q2k2SXREOztBdUMvNUlBO0FBQ0E7RUFFSTtJQUE0RCxXckNzZXhDO0VGNDdIdEI7O0V1Q2g2SUU7SUFBc0Q7RXZDbzZJeEQ7QUFDRjtBd0MvckpBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7QXhDK3JKSjs7QXdDM3JKQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBa0M7QXhDNnJKbEM7O0F3QzNySkE7O0VBQUE7QUFJQTtFQUFpQztBeEM4ckpqQzs7QXlDcnRKQTs7NkVBQUE7QUFJQTtFQUFhO0F6Q3d0SmI7O0F5Q3R0SkE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQSxpQnZDZmtCO0V1Q2dCbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q3d0Sko7O0F5Q3B0SkE7O0VBQUE7QUFJQTtFQUF3QztBekN1dEp4Qzs7QXlDcnRKQTs7RUFBQTtBQUlBO0VBQWtDO0F6Q3d0SmxDOztBeUN2dEpBO0VBQVE7QXpDMnRKUjs7QTBDbHVKQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQSxTeEMwckJvQjtFd0N6ckJwQixVeEN5ckJvQjtFd0N4ckJwQixheEN5ckJtQjtFd0N4ckJuQjtFQUNBO0VBQ0EsWXhDdXJCaUI7QUY0aUlyQjs7QTBDOXRKQTs0RUFBQTtBQUdBOztFQUVJO0VBQ0EsV3hDMHFCb0I7QUZzakl4Qjs7QTBDN3RKQTs7RUFFSTtFQUNBO0ExQ2d1Sko7O0EwQzd0SkE7OztFQUdJO0VBQ0EsWXhDNnBCb0I7QUZta0l4Qjs7QTBDNXRKQTs0RUFBQTtBQUdBO0FBQ0E7RUFFSTtJQUNJLFV4Q2twQmdCO0l3Q2pwQmhCLFd4Q2lwQmdCO0l3Q2hwQmhCO0lBQ0E7RTFDNnRKTjtBQUNGO0EwQ3h0SkE7NEVBQUE7QUFHQTtFQUNJO0VBQ0EsYXhDL0ZrQjtFd0NnR2xCLG1CeEM3RnNCO0V3QzhGdEIsV3hDMUdXO0V3QzJHWCxrQnhDaEhzQjtFd0NpSHRCLGdCeEN3b0IrQjtFd0N2b0IvQjtBMUN5dEpKOztBMENydEpBO0VBQStCLGdCeEM4bkJHO0FGMmxJbEM7O0EwQ3R0SkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0EsU3hDMG5CcUI7RXdDem5CckIsV3hDbkhrQjtBRjIwSnRCOztBMENwdEpBO0VBQXdEO0ExQ3d0SnhEOztBMENydEpBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGN4QzFId0I7QUZnMUo1Qjs7QTBDbHRKQTs7RUFBQTtBQUlBO0VBQ0ksY3hDaEl3QjtBRm8xSjVCOztBMENodEpBOztFQUFBO0FBSUE7RUFDSSxjeEN0SXdCO0FGdzFKNUI7O0EwQzlzSkE7O0VBQUE7QUFJQTtFQUNJLGN4QzVJdUI7QUY0MUozQjs7QTJDMzFKQTs7NkVBQUE7QUFJQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXpDbTdCYztFeUNsN0JkO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0J6Qys2QmdCO0V5Qzk2QmhCO0VBQ0E7RUFDQSxnQnpDKzZCaUI7RXlDOTZCakIsa0J6Qys2Qm9CO0V5Qzk2QnBCLFd6Q25EbUI7RXlDb0RuQixlekMrNkJnQjtBRjY2SHBCOztBMkN4MUpBO0FBQ0E7RUFBd0I7QTNDNDFKeEI7O0EyQ3oxSkE7NkVBQUE7QUFHQTtBQUNBO0VBQTRCO0EzQzQxSjVCOztBMkMzMUpBO0VBQStCLGdCekNtNkJkO0FGNDdIakI7O0EyQzkxSkE7RUFBNkI7QTNDazJKN0I7O0EyQ2oySkE7RUFBOEIsaUJ6Q2k2QmI7QUZvOEhqQjs7QTRDeDVKQTs7NkVBQUE7QUFJQTtFQUNJO0E1QzA1Sko7O0E0Q3Q1SkE7O0VBQUE7QUFJQTtFQUE2QjtBNUN5NUo3Qjs7QTRDdDVKQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0E1Q3c1Sko7O0E0Q241SkE7NkVBQUE7QUFHQTtFQUNJLFUxQ2t6QjJCO0UwQ2p6QjNCO0E1Q3E1Sko7O0E0Q2g1SkE7NkVBQUE7QUFHQTtFQUNJLGdCMUN5eUJvQjtBRnltSXhCOztBNEM3NEpBOzZFQUFBO0FBR0E7QUFDQTtFQUE0QjtBNUNnNUo1Qjs7QTZDbDhKQTs7NkVBQUE7QUFTQTs2RUFBQTtBQVNBOzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxlM0NzUXlCO0UyQ3JRekIsZ0IzQ29RMkI7QUZpckovQjs7QTZDajdKQTtBQUNBO0VBRUk7SUFBdUIsZTNDK1BJO0VGcXJKN0I7QUFDRjtBNkNqN0pBO0FBQ0E7RUFFSTtJQUF1QixlM0N5UEk7RUYwcko3QjtBQUNGO0E2Qy82SkE7NkVBQUE7QUFHQTtFQUNJLGUzQ2tQNEI7RTJDalA1QixnQjNDZ1A4QjtBRmdzSmxDOztBNkM1NkpBO0FBQ0E7RUFFSTtJQUEwQixlM0MyT0k7RUZvc0poQztBQUNGO0E2QzU2SkE7QUFDQTtFQUVJO0lBQTBCLGUzQ3FPSTtFRnlzSmhDO0FBQ0Y7QTZDMTZKQTs2RUFBQTtBQ3JEQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Q2krSko7O0E4Qzk5SkE7Ozs7RUFBQTtBQU1BO0VBQWU7QTlDaStKZjs7QThDLzlKQTs7RUFBQTtBQUlBO0VBQTZCO0E5Q2srSjdCOztBOEMvOUpBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtBQUNBO0VBQVc7QTlDaStKWDs7QThDaCtKQTtFQUFlLGtCNUN2REM7QUYyaEtoQjs7QThDbCtKQTtBQUNBOzs7RUFFc0IsZ0I1QzVETjtBRmtpS2hCOztBOENwK0pBO0FBQ0E7RUFFSTtFQUNBO0lBQVc7RTlDdStKYjs7RThDdCtKRTtJQUFlLGtCNUNoRUk7RUYwaUtyQjs7RThDeCtKRTtFQUNBOzs7SUFFc0IsZ0I1Q3JFSDtFRmlqS3JCO0FBQ0Y7QThDeitKQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3dCO0E5QzIrSnhCOztBOEMxK0pBOztFQUM2QixrQjVDeEdQO0FGc2xLdEI7O0E4QzUrSkE7QUFDQTs7Ozs7RUFJNEIsZ0I1Qy9HTjtBRitsS3RCOztBOEM5K0pBOztFQUFBO0FBSUE7QUFDQTs7RUFDeUI7QTlDaS9KekI7O0E4Q2gvSkE7O0VBQzZCLGtCNUNyR2I7QUZ5bEtoQjs7QThDbC9KQTtBQUNBOzs7OztFQUk2QixnQjVDNUdiO0FGa21LaEI7O0E4Q3AvSkE7O0VBQUE7QUFJQTtBQUNBOztFQUN3QjtBOUN1L0p4Qjs7QThDdC9KQTs7RUFDNEIsa0I1Q25ITDtBRjZtS3ZCOztBOEN4L0pBO0FBQ0E7Ozs7O0VBSTRCLGdCNUMxSEw7QUZzbkt2Qjs7QThDMS9KQTtBQUNBO0VBRUk7RUFDQTs7SUFDd0I7RTlDNi9KMUI7O0U4QzUvSkU7O0lBQzRCLGtCNUNpSFY7RUYrNEpwQjs7RThDOS9KRTtFQUNBOzs7OztJQUk0QixnQjVDMEdWO0VGdzVKcEI7QUFDRjtBOEMvL0pBOztFQUFBO0FBSUE7QUFDQTs7RUFDMkI7QTlDaWdLM0I7O0E4Q2hnS0E7O0VBQytCO0E5Q29nSy9COztBOENsZ0tBO0FBQ0E7Ozs7RUFHMEM7QTlDc2dLMUM7O0E4Q25nS0E7NkVBQUE7QUFHQTtFQUF1QjtBOUNzZ0t2Qjs7QThDcGdLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDdWdLSjs7QThDbmdLQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNzZ0tKOztBOENsZ0tBOztFQUFBO0FBSUE7QUFDQTtFQUFtQjtBOUNxZ0tuQjs7QThDcGdLQTtFQUF1QjtBOUN3Z0t2Qjs7QThDdGdLQTtFQUFvRCxVNUNsTXBDO0FGNHNLaEI7O0E4Q3hnS0E7QUFDQTtFQUFtRDtBOUM0Z0tuRDs7QThDMWdLQTtFQUNJO0VBQ0E7QTlDNmdLSjs7QThDMWdLQTtBQUNBO0VBRUk7RUFDQTtJQUFtQjtFOUM2Z0tyQjs7RThDNWdLRTtJQUF1QjtFOUNnaEt6Qjs7RThDOWdLRTtJQUFvRCxVNUNoTmpDO0VGa3VLckI7O0U4Q2hoS0U7RUFDQTtJQUFtRDtFOUNvaEtyRDs7RThDbGhLRTtJQUNJO0lBQ0E7RTlDcWhLTjtBQUNGO0E4Q2poS0E7O0VBQUE7QUFJQTtBQUNBOztFQUN3QztBOUNtaEt4Qzs7QThDbGhLQTs7RUFDNEM7QTlDc2hLNUM7O0E4Q3BoS0E7O0VBQ3lFLFU1QzlQbkQ7QUZzeEt0Qjs7QThDdGhLQTtBQUNBOztFQUNxRTtBOUMwaEtyRTs7QThDeGhLQTtFQUNJO0VBQ0E7QTlDMmhLSjs7QThDeGhLQTtFQUE2RTtBOUM0aEs3RTs7QThDM2hLQTtFQUFnRjtBOUMraEtoRjs7QThDN2hLQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3lDO0E5Q2dpS3pDOztBOEMvaEtBOztFQUM2QztBOUNtaUs3Qzs7QThDamlLQTs7RUFDMEUsVTVDblExRDtBRnd5S2hCOztBOENuaUtBO0FBQ0E7O0VBQ3NFO0E5Q3VpS3RFOztBOENyaUtBO0VBQ0k7RUFDQTtBOUN3aUtKOztBOENyaUtBO0VBQThFO0E5Q3lpSzlFOztBOEN4aUtBO0VBQWlGO0E5QzRpS2pGOztBOEMxaUtBOztFQUFBO0FBSUE7QUFDQTs7RUFDd0M7QTlDNmlLeEM7O0E4QzVpS0E7O0VBQzRDO0E5Q2dqSzVDOztBOEM5aUtBOztFQUN5RSxVNUN6UmxEO0FGMjBLdkI7O0E4Q2hqS0E7QUFDQTs7RUFDcUU7QTlDb2pLckU7O0E4Q2xqS0E7RUFDSTtFQUNBO0E5Q3FqS0o7O0E4Q2xqS0E7RUFBNkU7QTlDc2pLN0U7O0E4Q3JqS0E7RUFBZ0Y7QTlDeWpLaEY7O0E4Q3ZqS0E7QUFDQTtFQUVJO0VBQ0E7O0lBQ3dDO0U5QzBqSzFDOztFOEN6aktFOztJQUM0QztFOUM2aks5Qzs7RThDM2pLRTs7SUFDeUUsVTVDN0R2RDtFRjRuS3BCOztFOEM3aktFO0VBQ0E7O0lBQ3FFO0U5Q2lrS3ZFOztFOEMvaktFO0lBQ0k7SUFDQTtFOUNra0tOOztFOEMvaktFO0lBQTZFO0U5Q21rSy9FOztFOENsa0tFO0lBQWdGO0U5Q3NrS2xGO0FBQ0Y7QThDbGtLQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7O0VBRUk7RUFDQTtFQUNBO0E5Q2trS0o7O0E4Qy9qS0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUNra0tKOztBK0MxM0tBOzs2RUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7QUFDQTs7RUFFSTtFQUNBO0VBQ0E7QS9DMjNLSjs7QStDeDNLQTtBQUNBO0VBQ0k7RUFDQTtBL0MyM0tKOztBK0N4M0tBO0FBQ0E7RUFBdUI7QS9DNDNLdkI7O0ErQzEzS0E7OztFQUFBO0FBS0E7RUFBbUI7QS9DNjNLbkI7O0ErQzEzS0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0EvQzIzS0o7O0ErQ3YzS0E7O0VBQUE7QUFJQTtFQUFpQixrQjdDeWhCaUI7QUZpMkpsQzs7QStDeDNLQTs7RUFBQTtBQUlBO0VBQWdCO0EvQzIzS2hCOztBK0N4M0tBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLFk3QzZnQm9CO0U2QzVnQnBCLGE3QzRnQm9CO0U2QzNnQnBCO0V4Qy9HQTtFd0NpSEE7RUFDQTtBL0MwM0tKOztBK0N0M0tBO0V4Q3RISTtBUGcvS0o7O0ErQ3YzS0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0EseUI3Q2tnQndCO0U2Q2pnQnhCLG1CN0N2R3FCO0FGZytLekI7O0ErQ3IzS0E7RUFBbUMsZ0I3Q2pLbkI7QUYwaExoQjs7QStDdDNLQTs2RUFBQTtBQUdBO0VBQ0k7QS9DdzNLSjs7QStDbjNLQTs2RUFBQTtBQUdBO0U1QysvQzJCLG1CRHpuREY7QUZnL0t6Qjs7QStDbDNLQTs7RUFBQTtBQUlBO0VBQ0ksVzdDaElpQjtBRm8vS3JCOztBK0NoM0tBO0FBQ0E7O0VBRUksVzdDekxXO0FGNGlMZjs7QStDLzJLQTtBQUNBO0VBQ0ksVzdDak1vQjtBRm1qTHhCOztBK0M5MktBOztFQUFBO0FBSUE7RUFDSSxXN0MxTW9CO0FGMGpMeEI7O0ErQzUyS0E7O0VBQUE7QUFJQTtFQUNJO0EvQzgyS0o7O0ErQzEyS0E7O0VBQUE7QUFJQTtFQUFnQyxXN0N2S1g7QUZvaExyQjs7QStDMzJLQTs7RUFDc0MsVzdDNU52QjtBRjJrTGY7O0ErQzcyS0E7RUFBK0MsVzdDaE92QjtBRmlsTHhCOztBK0M5MktBOzZFQUFBO0FBT0E7O0VBQUE7QUFJQTtFQUNJLGlCN0M1SHFCO0U2QzZIckIsZ0I3Qy9KaUI7RTZDZ0tqQixXN0M3TGlCO0FGd2lMckI7O0ErQ3YyS0E7QUFDQTs7RUFFSSxXN0N0UFc7QUZnbUxmOztBK0N0MktBO0FBQ0E7RUFDSSxXN0M5UG9CO0FGdW1MeEI7O0ErQ3IyS0E7O0VBQUE7QUFJQTtFQUNJLFc3Q3ZRb0I7QUY4bUx4Qjs7QStDbjJLQTs7RUFBQTtBQUlBO0VBQ0k7QS9DcTJLSjs7QStDajJLQTs7RUFBQTtBQUlBO0VBQWdDLFc3Q3BPWDtBRndrTHJCOztBK0NsMktBOztFQUNzQyxXN0N6UnZCO0FGK25MZjs7QStDcDJLQTtFQUErQyxXN0M3UnZCO0FGcW9MeEI7O0ErQ3IyS0E7NkVBQUE7QUFHQTtFQUFpQjtBL0N3MktqQjs7QStDdDJLQTtBQUNBOztFQUNnQztBL0MwMktoQzs7QStDeDJLQTtBQUNBO0VBQTREO0EvQzQySzVEOztBZ0R4a0xBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7QWhEeWtMSjs7QWdEcGtMQTs2RUFBQTtBQUdBO0VBQ0ksbUI5Q3BGc0I7QUYwcEwxQjs7QWdEOWpMQTs7RUFBQTtBQUlBOztFQUNpQztBaERpa0xqQzs7QWdEOWpMQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBOzs7OztFQU1JO0VBQ0E7RUFDQTtBaEQ4akxKOztBZ0QzakxBOzs7Ozs7O0VBQUE7QUFTQTtFQUFtQjtBaEQ4akxuQjs7QWdENWpMQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRCtqTEo7O0FnRDVqTEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0FoRCtqTEo7O0FnRDVqTEE7QUFDQTs7RUFFRztFQUNBO0FoRCtqTEg7O0FnRDVqTEE7RUFBeUI7QWhEZ2tMekI7O0FnRC9qTEE7RUFBMEI7QWhEbWtMMUI7O0FnRGprTEE7RUFDSTtFQUFBO0VBQUE7RUFDQTtBaERva0xKOztBZ0Roa0xBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEaWtMSjs7QWdEOWpMQTs7O0VBQUE7QUFLQTs7O0VBRStCO0FoRGlrTC9COztBZ0QvakxBOzs7Ozs7RUFBQTtBQVFBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQjlDMGVxQjtFOEN6ZXJCO0VBQ0E7RUFDQSxtQjlDOUtxQjtFOEMrS3JCLGtNOUNwSmlCO0U4Q3FKakI7RUFDQTtBaERpa0xKOztBZ0Q5akxBOztFQUFBO0FBSUE7RUFDSSxXOUN0TGlCO0VDaXBEakIseUJEM2xCNkI7RUM0bEI3QjtFQUNBO0FIc21JSjs7QWdEL2pMQTs7O0VBQUE7QUFLQTs7O0VBR0ksVzlDcFBXO0U4Q3FQWDtBaERpa0xKOztBZ0Q3akxBO0FBQ0E7RUFDSSxXOUM3UG9CO0FGNnpMeEI7O0FnRDVqTEE7QUFDQTtFQUNJLFc5Q25Rb0I7QUZrMEx4Qjs7QWdEMWpMQTs2RUFBQTtBQUdBO0VBQ0ksVzlDMVFXO0FGczBMZjs7QWdEdmpMQTs2RUFBQTtBQUdBO0VBQ0ksVzlDak9pQjtBRjB4THJCOztBZ0RyakxBOzs7RUFHSSxXOUMxUlc7RThDMlJYO0VBQ0E7QWhEd2pMSjs7QWdEcGpMQTs7O0VBQUE7QUFTQTtBQU9BOzZFQUFBO0FBR0E7RUFDSSxtQjlDclFxQjtBRmd6THpCOztBZ0R0aUxBOzZFQUFBO0FBZ0JBOzZFQUFBO0FBR0E7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGE5Q3VYc0I7RThDdFh0QjtFQUNBO0VBQ0EsWTlDcVhvQjtFOENwWHBCO0VBQ0EsYTlDcVhzQjtFOENwWHRCLGdCOUN6U2dCO0U4QzBTaEIsVzlDaFdXO0VDbXREZ0IsMENEem1CRjtBRmd4SjdCOztBZ0R0aExBO0FBQ0E7RUFBOEI7QWhEMGhMOUI7O0FnRHhoTEE7O0VBQUE7QUFJQTtBQUNBO0VBQW9DO0FoRDJoTHBDOztBZ0QxaExBO0VBQXVDLGdCOUNxV2Q7QUZ5ckt6Qjs7QWdEN2hMQTtFQUFxQztBaERpaUxyQzs7QWdEaGlMQTtFQUFzQyxpQjlDbVdiO0FGaXNLekI7O0FnRGxpTEE7OztFQUFBO0FBS0E7QUFDQTtFQUEyQjtBaERxaUwzQjs7QWdEcGlMQTtFQUErQixrQjlDOFZVO0FGMHNLekM7O0FnRHRpTEE7QUFDQTtFQUE2QyxnQjlDMlZKO0FGK3NLekM7O0FnRHhpTEE7QUFDQTtFQUF5RDtBaEQ0aUx6RDs7QWdEMWlMQTs7RUFBQTtBQUlBO0VBQTZEO0FoRDZpTDdEOztBZ0Q1aUxBO0VBQTZEO0FoRGdqTDdEOztBZ0QvaUxBO0VBQTZEO0FoRG1qTDdEOztBZ0RsakxBO0VBQTZEO0FoRHNqTDdEOztBZ0RwakxBOztFQUFBO0FBSUE7RUFDSSxhOUMwVWlDO0U4Q3pVakMsZ0I5Q3lVaUM7RUM0L0JFO0FIa3ZJdkM7O0FnRGxqTEE7OzZFQUFBO0FBSUE7RTdDNnpDbUMsbUJEdHFEVjtBRjg1THpCOztBZ0RqakxBOztFQUFBO0FBSUE7RUFDSSxXOUMvV2lCO0FGazZMckI7O0FnRC9pTEE7QUFDQTs7RUFFSSxXOUN4YVc7QUYwOUxmOztBZ0Q5aUxBO0FBQ0E7RUFDSSxXOUNoYm9CO0FGaStMeEI7O0FnRDdpTEE7O0VBQUE7QUFJQTtFQUNJLFc5Q3pib0I7QUZ3K0x4Qjs7QWdEM2lMQTs7RUFBQTtBQUlBO0VBQ0k7QWhENmlMSjs7QWdEemlMQTs7RUFBQTtBQUlBO0VBQXdDLFc5Q3RabkI7QUZrOExyQjs7QWdEMWlMQTs7RUFDOEMsVzlDM2MvQjtBRnkvTGY7O0FnRDVpTEE7RUFBdUQsVzlDL2MvQjtBRisvTHhCOztBZ0Q3aUxBOzZFQUFBO0FBR0E7RUFDSSxnQjlDOVpnQjtBRjY4THBCOztBZ0QzaUxBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFk5Q3NRcUI7RThDclFyQjtFQUNBO0U3QzR2Q2dDLHlDRGpuQlI7QUZtNko1Qjs7QUcveUlJOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FIaXpJUjs7QUcveUlJO0VBQXdEO0FIbXpJNUQ7O0FHanpJSTs7RUFBQTtBQUlBO0VBQStCO0FIb3pJbkM7O0FHbHpJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHF6SVI7O0FHbHpJSTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsVUR2aUNpQztFQ3dpQ2pDO0VBQ0E7QUhxeklSOztBaURoaE1BOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEaWhNSjs7QWlEN2dNQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQi9DMHlCdUI7RStDenlCdkI7RUFDQTtBakQrZ01KOztBaUQzZ01BOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFcvQ3RDaUI7RUM0eURqQixtQkQveURxQjtFQ2d6RHJCLHlCRDN1QnlCO0VDNHVCekI7RUFDQTtBSHV3SUo7O0FpRDVnTUE7QUFDQTs7RUFFSSxXL0MvRlc7RStDZ0dYLHFCL0NpeEJnQztFK0NoeEJoQztBakQrZ01KOztBaUQzZ01BO0FBQ0E7RUFDSSxXL0N6R29CO0FGdW5NeEI7O0FpRHpnTUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQXFCO0FqRDJnTXJCOztBaUR6Z01BOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FqRDJnTUo7O0FpRHhnTUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBLGEvQyt1QjJCO0UrQzl1QjNCO0VBQ0Esa0IvQ3V1QnVCO0UrQ3R1QnZCO0FqRDBnTUo7O0FpRHZnTUE7QUFDQTtFQUNJLDBCL0NmWTtBRnloTWhCOztBaURyZ01BOzZFQUFBO0FBR0E7RUFDSTtFQUNBLHVCL0NrdUIwQjtFK0NqdUIxQixXL0N0R2lCO0FGNm1NckI7O0FpRG5nTUE7QUFDQTs7RUFFSSx5Qi9DbkpzQjtFK0NvSnRCLFcvQ2hLVztBRnNxTWY7O0FpRGxnTUE7QUFDQTtFQUNJLHlCL0MxSnNCO0UrQzJKdEIsVy9DdktXO0FGNHFNZjs7QWlEamdNQTtBQUNBO0VBQ0kseUIvQzVKd0I7RStDNkp4QixXL0MzS21CO0FGK3FNdkI7O0FpRC8vTEE7OzZFQUFBO0FBSUE7RUFDSSxXL0N0SWlCO0FGdW9NckI7O0FrRHZxTUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QWxEd3FNSjs7QWtEcHFNQTs7RUFBQTtBQUlBO0VBQXFCO0FsRHVxTXJCOztBa0RwcU1BOzZFQUFBO0FBR0E7RUFDSSxtQmhESXFCO0VnREhyQixXaERNaUI7QUZncU1yQjs7QWtEbHFNQTtBQUNBOztFQUVJLFdoRG5EVztFZ0RvRFgscUJoRHFHb0M7QUZna014Qzs7QWtEanFNQTtBQUtBO0FBQ0E7O0VBRUksV2hEaEVXO0FGZ3VNZjs7QWtENXBNQTs7Ozs7RUFBQTtBQU9BO0VBQ0ksWWhEK0VpQjtFZ0Q5RWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJoRGxDcUI7RWdEbUNyQixXaERoQ2lCO0FGOHJNckI7O0FtRDN0TUE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkQ0dE1KOztBbUR4dE1BOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGVqRDR0QjJCO0VpRDN0QjNCO0VBQ0E7QW5EMHRNSjs7QW1EdHRNQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXakR0QmlCO0VDMnVEVTtBSG1nSi9COztBbURwdE1BO0FBQ0E7O0VBRUksV2pEL0VXO0VpRGdGWCxxQmpEc3NCb0M7QUZpaEx4Qzs7QW1EbnRNQTtBQUNBO0VBQ0ksV2pEdEZXO0FGNHlNZjs7QW1EbHRNQTtBQUNBO0VBQ0ksV2pEMUNpQjtBRit2TXJCOztBb0QzeE1BOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpEaTFEQTtBSDQ4SUo7QUcxOElJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsVURoL0JnQjtFQ2kvQmhCO0VBQ0E7QUg0OElSOztBb0RqeU1BOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtCbER5MUJvQjtFa0R4MUJwQjtFQUNBO0FwRG15TUo7O0FvRC94TUE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV2xEekJpQjtFQ28xRGpCO0VBQ0EsbUJEeDFEcUI7RUN5MURyQix5QkQvd0JzQjtFQ2d4QnRCO0FIcytJSjs7QW9EaHlNQTtBQUNBOztFQUVJLFdsRGxGVztFa0RtRlgscUJsRGkwQjZCO0FGaytLakM7O0FvRC94TUE7QUFDQTtFQUNJLFdsRDNGb0I7RUM4NERPLHFCRDMzREg7QUYyMk01Qjs7QW9EL3hNQTtBQUNBO0VBQ0ksV2xEN0NpQjtBRiswTXJCOztBb0Q3eE1BOzZFQUFBO0FBR0E7O0VBQUE7QWpEeXlESTtFQUNJO0VBQ0E7QUh5L0lSOztBb0Q1eE1BO0VqRHd5REk7RUFDQTtBSHcvSUo7O0FvRDd4TUE7OztFQUFBO0FBS0E7O0VBRUk7RUFDQTtFQUNBO0FwRCt4TUo7O0FvRDV4TUE7QUFDQTs7RUFDb0I7QXBEZ3lNcEI7O0FHcmdKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHdnSlI7O0FHbGdKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHFnSlI7O0FvRHh5TUE7RUFDSTtFakR1eURBO0VBQ0E7QUhxZ0pKOztBb0R6eU1BO0VBQ0k7RWpEc3lEQTtFQUNBO0FIdWdKSjs7QUduZ0pJO0VBQXVCO0FIdWdKM0I7O0FxRDk2TUE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsK0JuRHd6QmE7RUM4K0JPO0FIMG9KeEI7O0FxRDU2TUE7QUFDQTs7RUFFSSwrQm5Ea3pCbUI7RW1EanpCbkI7QXJEKzZNSjs7QXFEMzZNQTtBQUNBO0VBQ0ksK0JuRDR5Qm9CO0FGa29MeEI7O0FxRHo2TUE7NkVBQUE7QUFHQTs7RUFBQTtBQVFBOztFQUFBO0FBU0E7NkVBQUE7QUFHQTtFQUNJO0FyRCs1TUo7O0FxRDE1TUE7NkVBQUE7QUFHQTtFQUNJO0FyRDQ1TUo7O0FzRDE5TUE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDI5TUo7O0FzRHY5TUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQnBEa1N1QjtBRnVyTTNCOztBc0RyOU1BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0EsV3BEcVJnQjtFb0RwUmhCLFlwRG9SZ0I7RW9EblJoQixrQnBEcVJ3QjtFb0RwUnhCLHVCcERxUnFCO0VvRHBSckI7RUFDQTtFQUNBO0VBQ0E7RW5Eb3JCQTtFQUNBO0VBQ0E7QUhteUxKOztBc0RyOU1BO0FBQ0E7O0VBRUksMENwRDJRMkI7RW9EMVEzQjtFbkRnckI2Qix5QkRtVU47QUZzK0szQjs7QXNEcjlNQTtBQUNBO0VBQ0ksMENwRHFRNkI7RUNzYUUseUJEbVVOO0FGMitLN0I7O0FzRHI5TUE7QUFDQTtFQUNJLDBDcERnUTRCO0VDc2FFLHlCRG1VTjtBRmcvSzVCOztBc0RwOU1BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHE5TUo7O0FzRGw5TUE7QUFDQTtFQUNJO0VBQ0EsaUJwRGdPdUI7QUZxdk0zQjs7QXVEaGtOQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEaWtOSjs7QXVEN2pOQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0Esa0JyRGs2QnlCO0FGNnBMN0I7O0F1RDNqTkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RXBEdytEQTtBSHFsSko7QUdubEpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0NEdjZCbUI7RUN3NkJuQjtBSHFsSlI7O0F1RG5rTkE7QUFDQTs7RUFFSTtBdkRza05KO0FHdGxKSTs7RUFBVyw2QkQ1NkJrQjtBRnNnTGpDOztBdUR0a05BO0FwRCsrREk7RUFBVyw2QkQ5NkJtQjtBRjBnTGxDOztBdURya05BOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RHNrTko7O0F1RG5rTkE7QUFDQTtFQUNJO0VBQ0EsaUJyRGszQnlCO0FGb3RMN0I7O0F3RDlvTkE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RCtvTko7O0F3RDNvTkE7OztFQUFBO0FBS0E7RUFDSTtFQUNBLGtCdERvRmtCO0FGeWpOdEI7O0F3RHpvTkE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxXdERmaUI7QUZ5cE5yQjs7QXdEdG9OQTtBQUNBOztFQUVJLFd0RHhFVztFc0R5RVg7QXhEeW9OSjs7QXdEcm9OQTtBQUNBO0VBQ0ksV3REL0VXO0FGdXROZjs7QXdEbm9OQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeERvb05KOztBd0Rqb05BO0FBQ0E7RUFDSTtFQUNBLGlCdEQ2QmtCO0FGdW1OdEI7O0F5RHJzTkE7OzZFQUFBO0FBSUE7Ozs7Ozs7O0VBQUE7QUFVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhdkRrZmU7RXVEamZmO0VBQ0EsZ0J2RGlma0I7RXVEaGZsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RHNzTko7O0F5RGxzTkE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0F6RG9zTko7O0F5RGhzTkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQW9CO0F6RGtzTnBCOztBeUQvck5BOzZFQUFBO0FBR0E7Ozs7Ozs7OztFQUFBO0FBV0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0J2RHdia0I7RXVEdmJsQjtFQUNBO0F6RGdzTko7O0F5RDVyTkE7QUFDQTtFQUNJLGdCdkRpYnNCO0V1RGhidEIsaUJ2RGlidUI7QUY4d00zQjs7QXlENXJOQTtBQUNBO0VBQThCO0F6RGdzTjlCOztBeUQ5ck5BO0VBQ0k7RUFDQTtBekRpc05KOztBeUQ5ck5BO0VBQWtDO0F6RGtzTmxDOztBeURoc05BOzZFQUFBO0FBR0E7RUFDSTtFQUNBLDhCdkRrYTBCO0V1RGphMUIsK0J2RGthcUI7QUZneU16Qjs7QXlEOXJOQTtFQUEyQiwrQnZEOFpGO0FGb3lNekI7O0F5RC9yTkE7NkVBQUE7QUFHQTtFQUNJLFl2RHdaNEI7RXVEdlo1QiwrQnZEd1owQjtBRnl5TTlCOztBeUQ3ck5BOztFQUFBO0FBSUE7RUFDSSxXdkRnWmdDO0FGK3lNcEM7O0F5RHpyTkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxXdkRrWW1CO0V1RGpZbkIsWXZEaVltQjtFdURoWW5CLDhCdkQyWDBCO0V1RDFYMUIsK0J2RGlZb0I7RXVEaFlwQjtFQUNBO0VBQ0E7RUFDQTtBekQwck5KOztBeUR0ck5BO0FBQ0E7O0VBRUksV3ZEdVgwQjtBRmswTTlCOztBeURyck5BO0FBTUE7NkVBQUE7QUFHQTtFQUE2QjtBekRtck43Qjs7QXlEaHJOQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBekRrck5KOztBMEQvMk5BOzs2RUFBQTtBQUlBO0VBQ0ksZ0N4REZpQjtVd0RFakIsd0J4REZpQjtFd0RHakI7VUFBQTtFQUNBO1VBQUE7QTFEaTNOSjs7QTBENzJOQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtVQUFBO0VBQ0EsZ0N4RGhCc0I7VXdEZ0J0Qix3QnhEaEJzQjtFd0RpQnRCO1VBQUE7QTFEODJOSjs7QTBEMzJOQTs7RUFBQTtBQUlBO0VBQXlCO1VBQUE7QTFEODJOekI7O0EwRDcyTkE7RUFBMkI7VUFBQTtBMURpM04zQjs7QTBELzJOQTs7RUFBQTtBQUlBO0VBQTBCO1VBQUE7QTFEazNOMUI7O0EwRGozTkE7RUFBNkI7VUFBQTtBMURxM043Qjs7QTBEcDNOQTtFQUEyQjtVQUFBO0ExRHczTjNCOztBMER2M05BO0VBQTRCO1VBQUE7QTFEMjNONUI7O0EwRHozTkE7O0VBQUE7QUFJQTtFQUFnQztVQUFBO0ExRDQzTmhDOztBMEQzM05BO0VBQW1DO1VBQUE7QTFEKzNObkM7O0EwRDkzTkE7RUFBaUM7VUFBQTtBMURrNE5qQzs7QTBEajROQTtFQUFrQztVQUFBO0ExRHE0TmxDOztBMERuNE5BOztFQUFBO0FBSUE7RUFBaUM7VUFBQTtBMURzNE5qQzs7QTBEcjROQTtFQUFvQztVQUFBO0ExRHk0TnBDOztBMER4NE5BO0VBQWtDO1VBQUE7QTFENDRObEM7O0EwRDM0TkE7RUFBbUM7VUFBQTtBMUQrNE5uQzs7QTBENzROQTs7RUFBQTtBQUlBO0VBQ0k7VUFBQTtFQUNBLCtCeEQxRDBCO1V3RDBEMUIsdUJ4RDFEMEI7QUZ5OE45Qjs7QTBENTROQTs7RUFBQTtBQUlBO0VBQXNCO1VBQUE7QTFEKzROdEI7O0EwRDc0TkE7Ozs7OztFQUFBO0FBUUE7RUFDSTtVQUFBO0VBQ0E7RUFDQSw4QnhEL0V3QjtVd0QrRXhCLHNCeEQvRXdCO0FGODlONUI7O0EwRDM0TkE7NkVBQUE7QUFHQztFQUNHO0VBQ0E7VUFBQTtBMUQ2NE5KOztBMER6NE5BOzZFQUFBO0FBR0M7RUFBcUIsZ0N4RDdGSTtVd0Q2Rkosd0J4RDdGSTtBRnkrTjFCOztBMER6NE5BOzRFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUF3RTtVQUFBO0ExRDI0TnhFOztBMER6NE5BOztFQUFBO0FBSUE7RUFDSTtFQUNBO0ExRDI0Tko7O0EwRHg0TkE7O0VBQUE7QUFJQTtFQUE2QjtBMUQyNE43Qjs7QTBEeDROQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtJQUFLO0UxRDA0TlA7RTBEejRORTtJQUFPO0UxRDQ0TlQ7QUFDRjtBMEQvNE5BO0VBQ0k7SUFBSztFMUQwNE5QO0UwRHo0TkU7SUFBTztFMUQ0NE5UO0FBQ0Y7QTBEMTROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRDI0Tk47RTBEejRORTtJQUNJO0lBQ0E7RTFEMjROTjtBQUNGO0EwRG41TkE7RUFDSTtJQUNJO0lBQ0E7RTFEMjROTjtFMER6NE5FO0lBQ0k7SUFDQTtFMUQyNE5OO0FBQ0Y7QTBEeDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHk0Tk47RTBEdjRORTtJQUNJO0lBQ0E7RTFEeTROTjtBQUNGO0EwRGo1TkE7RUFDSTtJQUNJO0lBQ0E7RTFEeTROTjtFMER2NE5FO0lBQ0k7SUFDQTtFMUR5NE5OO0FBQ0Y7QTBEdDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHU0Tk47RTBEcjRORTtJQUNJO0lBQ0E7RTFEdTROTjtBQUNGO0EwRC80TkE7RUFDSTtJQUNJO0lBQ0E7RTFEdTROTjtFMERyNE5FO0lBQ0k7SUFDQTtFMUR1NE5OO0FBQ0Y7QTBEcDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHE0Tk47RTBEbjRORTtJQUNJO0lBQ0E7RTFEcTROTjtBQUNGO0EwRDc0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEcTROTjtFMERuNE5FO0lBQ0k7SUFDQTtFMURxNE5OO0FBQ0Y7QTBEbDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRG00Tk47RTBEajRORTtJQUNJO0lBQ0E7RTFEbTROTjtBQUNGO0EwRDM0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEbTROTjtFMERqNE5FO0lBQ0k7SUFDQTtFMURtNE5OO0FBQ0Y7QTBEaDROQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRGk0Tk47RTBELzNORTtJQUNJO0lBQ0E7RTFEaTROTjtBQUNGO0EwRHo0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEaTROTjtFMEQvM05FO0lBQ0k7SUFDQTtFMURpNE5OO0FBQ0Y7QTBEOTNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRCszTk47RTBENzNORTtJQUNJO0lBQ0E7RTFEKzNOTjtBQUNGO0EwRHY0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEKzNOTjtFMEQ3M05FO0lBQ0k7SUFDQTtFMUQrM05OO0FBQ0Y7QTBENTNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRDYzTk47RTBEMzNORTtJQUNJO0lBQ0E7RTFENjNOTjtBQUNGO0EwRHI0TkE7RUFDSTtJQUNJO0lBQ0E7RTFENjNOTjtFMEQzM05FO0lBQ0k7SUFDQTtFMUQ2M05OO0FBQ0Y7QTBEMTNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRDIzTk47RTBEejNORTtJQUNJO0lBQ0E7RTFEMjNOTjtBQUNGO0EwRG40TkE7RUFDSTtJQUNJO0lBQ0E7RTFEMjNOTjtFMER6M05FO0lBQ0k7SUFDQTtFMUQyM05OO0FBQ0Y7QTBEeDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHkzTk47RTBEdjNORTtJQUNJO0lBQ0E7RTFEeTNOTjtBQUNGO0EwRGo0TkE7RUFDSTtJQUNJO0lBQ0E7RTFEeTNOTjtFMER2M05FO0lBQ0k7SUFDQTtFMUR5M05OO0FBQ0Y7QTBEdDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHUzTk47RTBEcjNORTtJQUNJO0lBQ0E7RTFEdTNOTjtBQUNGO0EwRC8zTkE7RUFDSTtJQUNJO0lBQ0E7RTFEdTNOTjtFMERyM05FO0lBQ0k7SUFDQTtFMUR1M05OO0FBQ0Y7QTBEcDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRHEzTk47RTBEbjNORTtJQUNJO0lBQ0E7RTFEcTNOTjtBQUNGO0EwRDczTkE7RUFDSTtJQUNJO0lBQ0E7RTFEcTNOTjtFMERuM05FO0lBQ0k7SUFDQTtFMURxM05OO0FBQ0Y7QTBEbDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRG0zTk47RTBEajNORTtJQUNJO0lBQ0E7RTFEbTNOTjtBQUNGO0EwRDMzTkE7RUFDSTtJQUNJO0lBQ0E7RTFEbTNOTjtFMERqM05FO0lBQ0k7SUFDQTtFMURtM05OO0FBQ0Y7QTBEaDNOQTs7RUFBQTtBQUlBO0VBQ0k7SUFDSTtJQUNBO0UxRGkzTk47RTBELzJORTtJQUNJO0lBQ0E7RTFEaTNOTjtBQUNGO0EwRHozTkE7RUFDSTtJQUNJO0lBQ0E7RTFEaTNOTjtFMEQvMk5FO0lBQ0k7SUFDQTtFMURpM05OO0FBQ0Y7QTBEOTJOQTs7RUFBQTtBQUlBO0VBQ0k7SUFBSztFMURnM05QO0UwRC8yTkU7SUFBTztFMURrM05UO0FBQ0Y7QTBEcjNOQTtFQUNJO0lBQUs7RTFEZzNOUDtFMEQvMk5FO0lBQU87RTFEazNOVDtBQUNGO0EwRGgzTkE7O0VBQUE7QUFJQTtFQUNJO0lBQVc7RTFEazNOYjtFMERqM05FO0lBQU07RTFEbzNOUjtFMERuM05FO0lBQU07RTFEczNOUjtFMERyM05FO0lBQU07RTFEdzNOUjtFMER2M05FO0lBQU07RTFEMDNOUjtFMER6M05FO0lBQU07RTFENDNOUjtFMEQzM05FO0lBQU07RTFEODNOUjtFMEQ3M05FO0lBQU07RTFEZzROUjtFMEQvM05FO0lBQU07RTFEazROUjtFMERqNE5FO0lBQU07RTFEbzROUjtBQUNGO0EwRC80TkE7RUFDSTtJQUFXO0UxRGszTmI7RTBEajNORTtJQUFNO0UxRG8zTlI7RTBEbjNORTtJQUFNO0UxRHMzTlI7RTBEcjNORTtJQUFNO0UxRHczTlI7RTBEdjNORTtJQUFNO0UxRDAzTlI7RTBEejNORTtJQUFNO0UxRDQzTlI7RTBEMzNORTtJQUFNO0UxRDgzTlI7RTBENzNORTtJQUFNO0UxRGc0TlI7RTBELzNORTtJQUFNO0UxRGs0TlI7RTBEajRORTtJQUFNO0UxRG80TlI7QUFDRjtBMERsNE5BOztFQUFBO0FBSUM7RUFDRztJQUFLO0UxRG80TlA7RTBEbjRORTtJQUFPO0UxRHM0TlQ7QUFDRjtBMER6NE5DO0VBQ0c7SUFBSztFMURvNE5QO0UwRG40TkU7SUFBTztFMURzNE5UO0FBQ0Y7QTJEeHhPQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBM0R1eE9KOztBMkRweE9BO0VBQTBCO0EzRHd4TzFCOztBMkR2eE9BO0VBQTBCO0EzRDJ4TzFCOztBMkQxeE9BO0VBQTBCO0EzRDh4TzFCOztBMkQ3eE9BO0VBQTBCO0EzRGl5TzFCOztBMkRoeU9BO0VBQTBCO0EzRG95TzFCOztBMkRseU9BO0VBQTJCO0EzRHN5TzNCOztBMkRweU9BOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7QTNEc3lPSjs7QTJEbnlPQTtBQUNBO0VBRUk7SUFBNkI7RTNEc3lPL0I7O0UyRHJ5T0U7SUFBNkI7RTNEeXlPL0I7O0UyRHh5T0U7SUFBNkI7RTNENHlPL0I7O0UyRDN5T0U7SUFBNkI7RTNEK3lPL0I7O0UyRDl5T0U7SUFBNkI7RTNEa3pPL0I7O0UyRGp6T0U7SUFBNkI7RTNEcXpPL0I7O0UyRG56T0U7SUFBOEI7RTNEdXpPaEM7O0UyRHR6T0U7SUFDSTtJQUNBO0UzRHl6T047QUFDRjtBMkRyek9BO0FBQ0E7RUFFSTtJQUE2QjtFM0R1ek8vQjs7RTJEdHpPRTtJQUE2QjtFM0Qwek8vQjs7RTJEenpPRTtJQUE2QjtFM0Q2ek8vQjs7RTJENXpPRTtJQUE2QjtFM0RnME8vQjs7RTJEL3pPRTtJQUE2QjtFM0RtME8vQjs7RTJEbDBPRTtJQUE2QjtFM0RzME8vQjs7RTJEcDBPRTtJQUE4QjtFM0R3ME9oQzs7RTJEdjBPRTtJQUNJO0lBQ0E7RTNEMDBPTjtBQUNGO0EyRHQwT0E7QUFDQTtFQUVJO0lBQTZCO0UzRHcwTy9COztFMkR2ME9FO0lBQTZCO0UzRDIwTy9COztFMkQxME9FO0lBQTZCO0UzRDgwTy9COztFMkQ3ME9FO0lBQTZCO0UzRGkxTy9COztFMkRoMU9FO0lBQTZCO0UzRG8xTy9COztFMkRuMU9FO0lBQTZCO0UzRHUxTy9COztFMkRyMU9FO0lBQThCO0UzRHkxT2hDOztFMkR4MU9FO0lBQ0k7SUFDQTtFM0QyMU9OO0FBQ0Y7QTJEdjFPQTtBQUNBO0VBRUk7SUFBOEI7RTNEeTFPaEM7O0UyRHgxT0U7SUFBOEI7RTNENDFPaEM7O0UyRDMxT0U7SUFBOEI7RTNEKzFPaEM7O0UyRDkxT0U7SUFBOEI7RTNEazJPaEM7O0UyRGoyT0U7SUFBOEI7RTNEcTJPaEM7O0UyRHAyT0U7SUFBOEI7RTNEdzJPaEM7O0UyRHQyT0U7SUFBK0I7RTNEMDJPakM7O0UyRHoyT0U7SUFDSTtJQUNBO0UzRDQyT047QUFDRjtBMkR2Mk9BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzRHUyT0o7O0EyRHAyT0E7QUFDQTtFQUFnQjtBM0R3Mk9oQjs7QTJEdDJPQTtBQUNBO0VBQWdCO0EzRDAyT2hCOztBMkR6Mk9BO0VBQWdCO0EzRDYyT2hCOztBMkQzMk9BO0FBQ0E7RUFBZ0I7QTNEKzJPaEI7O0EyRDkyT0E7RUFBZ0I7QTNEazNPaEI7O0EyRGgzT0E7QUFDQTtFQUFnQjtBM0RvM09oQjs7QTJEbjNPQTtFQUFnQjtBM0R1M09oQjs7QTJEdDNPQTtFQUFnQjtBM0QwM09oQjs7QTJEejNPQTtFQUFnQjtBM0Q2M09oQjs7QTJEMzNPQTtBQUNBO0VBQWdCO0EzRCszT2hCOztBMkQ5M09BO0VBQWdCO0EzRGs0T2hCOztBMkRoNE9BO0FBQ0E7RUFBa0IsWXpEeTNCRTtBRjJnTnBCOztBMkRuNE9BO0VBQW1CLFl6RHkzQkU7QUY4Z05yQjs7QTJEdDRPQTtFQUFrQixZekR5M0JFO0FGaWhOcEI7O0EyRHo0T0E7RUFBbUIsWXpEeTNCRTtBRm9oTnJCOztBMkQ1NE9BO0VBQW9CLFl6RHkzQkU7QUZ1aE50Qjs7QTJEMzRPQTtBQUNBO0VBQWlCO0EzRCs0T2pCOztBMkQ3NE9BO0FBQ0E7RUFDSTtFQUNBO0EzRGc1T0o7O0EyRDc0T0E7QUFDQTtFQUVJO0VBQ0E7SUFBbUI7RTNEZzVPckI7O0UyRDk0T0U7RUFDQTtJQUFtQjtFM0RrNU9yQjs7RTJEaDVPRTtFQUNBO0lBQW1CO0UzRG81T3JCOztFMkRuNU9FO0lBQW1CO0UzRHU1T3JCOztFMkRyNU9FO0VBQ0E7SUFBbUI7RTNEeTVPckI7O0UyRHg1T0U7SUFBbUI7RTNENDVPckI7O0UyRDE1T0U7RUFDQTtJQUFtQjtFM0Q4NU9yQjs7RTJENzVPRTtJQUFtQjtFM0RpNk9yQjs7RTJEaDZPRTtJQUFtQjtFM0RvNk9yQjs7RTJEbjZPRTtJQUFtQjtFM0R1Nk9yQjs7RTJEcjZPRTtFQUNBO0lBQW1CO0UzRHk2T3JCOztFMkR4Nk9FO0lBQW1CO0UzRDQ2T3JCOztFMkQxNk9FO0VBQ0E7SUFBcUIsWXpEMjBCTDtFRm1tTmxCOztFMkQ3Nk9FO0lBQXNCLFl6RDIwQkw7RUZzbU5uQjs7RTJEaDdPRTtJQUFxQixZekQyMEJMO0VGeW1ObEI7O0UyRG43T0U7SUFBc0IsWXpEMjBCTDtFRjRtTm5COztFMkR0N09FO0lBQXVCLFl6RDIwQkw7RUYrbU5wQjs7RTJEcjdPRTtFQUNBO0lBQW9CO0UzRHk3T3RCOztFMkR2N09FO0VBQ0E7SUFDSTtJQUNBO0UzRDA3T047QUFDRjtBMkR0N09BO0FBQ0E7RUFFSTtFQUNBO0lBQW1CO0UzRHc3T3JCOztFMkR0N09FO0VBQ0E7SUFBbUI7RTNEMDdPckI7O0UyRHg3T0U7RUFDQTtJQUFtQjtFM0Q0N09yQjs7RTJEMzdPRTtJQUFtQjtFM0QrN09yQjs7RTJENzdPRTtFQUNBO0lBQW1CO0UzRGk4T3JCOztFMkRoOE9FO0lBQW1CO0UzRG84T3JCOztFMkRsOE9FO0VBQ0E7SUFBbUI7RTNEczhPckI7O0UyRHI4T0U7SUFBbUI7RTNEeThPckI7O0UyRHg4T0U7SUFBbUI7RTNENDhPckI7O0UyRDM4T0U7SUFBbUI7RTNEKzhPckI7O0UyRDc4T0U7RUFDQTtJQUFtQjtFM0RpOU9yQjs7RTJEaDlPRTtJQUFtQjtFM0RvOU9yQjs7RTJEbDlPRTtFQUNBO0lBQXFCLFl6RDJ4Qkw7RUYyck5sQjs7RTJEcjlPRTtJQUFzQixZekQyeEJMO0VGOHJObkI7O0UyRHg5T0U7SUFBcUIsWXpEMnhCTDtFRmlzTmxCOztFMkQzOU9FO0lBQXNCLFl6RDJ4Qkw7RUZvc05uQjs7RTJEOTlPRTtJQUF1QixZekQyeEJMO0VGdXNOcEI7O0UyRDc5T0c7RUFDRDtJQUFvQjtFM0RpK090Qjs7RTJELzlPRTtFQUNBO0lBQ0k7SUFDQTtFM0RrK09OO0FBQ0Y7QTJEOTlPQTtBQUNBO0VBRUk7RUFDQTtJQUFtQjtFM0RnK09yQjs7RTJEOTlPRTtFQUNBO0lBQW1CO0UzRGsrT3JCOztFMkRoK09FO0VBQ0E7SUFBbUI7RTNEbytPckI7O0UyRG4rT0U7SUFBbUI7RTNEdStPckI7O0UyRHIrT0U7RUFDQTtJQUFtQjtFM0R5K09yQjs7RTJEeCtPRTtJQUFtQjtFM0Q0K09yQjs7RTJEMStPRTtFQUNBO0lBQW1CO0UzRDgrT3JCOztFMkQ3K09FO0lBQW1CO0UzRGkvT3JCOztFMkRoL09FO0lBQW1CO0UzRG8vT3JCOztFMkRuL09FO0lBQW1CO0UzRHUvT3JCOztFMkRyL09FO0VBQ0E7SUFBbUI7RTNEeS9PckI7O0UyRHgvT0U7SUFBbUI7RTNENC9PckI7O0UyRDEvT0U7RUFDQTtJQUFxQixZekQydUJMO0VGbXhObEI7O0UyRDcvT0U7SUFBc0IsWXpEMnVCTDtFRnN4Tm5COztFMkRoZ1BFO0lBQXFCLFl6RDJ1Qkw7RUZ5eE5sQjs7RTJEbmdQRTtJQUFzQixZekQydUJMO0VGNHhObkI7O0UyRHRnUEU7SUFBdUIsWXpEMnVCTDtFRit4TnBCOztFMkRyZ1BFO0VBQ0E7SUFBb0I7RTNEeWdQdEI7O0UyRHZnUEU7RUFDQTtJQUNJO0lBQ0E7RTNEMGdQTjtBQUNGO0EyRHRnUEE7QUFDQTtFQUVJO0VBQ0E7SUFBb0I7RTNEd2dQdEI7O0UyRHRnUEU7RUFDQTtJQUFvQjtFM0QwZ1B0Qjs7RTJEeGdQRTtFQUNBO0lBQW9CO0UzRDRnUHRCOztFMkQzZ1BFO0lBQW9CO0UzRCtnUHRCOztFMkQ3Z1BFO0VBQ0E7SUFBb0I7RTNEaWhQdEI7O0UyRGhoUEU7SUFBb0I7RTNEb2hQdEI7O0UyRGxoUEU7RUFDQTtJQUFvQjtFM0RzaFB0Qjs7RTJEcmhQRTtJQUFvQjtFM0R5aFB0Qjs7RTJEeGhQRTtJQUFvQjtFM0Q0aFB0Qjs7RTJEM2hQRTtJQUFvQjtFM0QraFB0Qjs7RTJEN2hQRTtFQUNBO0lBQW9CO0UzRGlpUHRCOztFMkRoaVBFO0lBQW9CO0UzRG9pUHRCOztFMkRsaVBFO0VBQ0E7SUFBc0IsWXpEMnJCTjtFRjIyTmxCOztFMkRyaVBFO0lBQXVCLFl6RDJyQk47RUY4Mk5uQjs7RTJEeGlQRTtJQUFzQixZekQyckJOO0VGaTNObEI7O0UyRDNpUEU7SUFBdUIsWXpEMnJCTjtFRm8zTm5COztFMkQ5aVBFO0lBQXdCLFl6RDJyQk47RUZ1M05wQjs7RTJEN2lQRTtFQUNBO0lBQXFCO0UzRGlqUHZCOztFMkQvaVBFO0VBQ0E7SUFDSTtJQUNBO0UzRGtqUE47QUFDRjtBNERsNVBBOzs2RUFBQTtBQUlBO0VBQXVCO0E1RG81UHZCOztBNERsNVBBOztFQUFBO0FBSUE7RUFBaUI7QTVEcTVQakI7O0E0RG41UEE7O0VBQUE7QUFJQTtFQUFzQjtBNURzNVB0Qjs7QTREcDVQQTs7O0VBQUE7QUFLQTtFQUFtQixhMUQ4ZEc7QUZ5N090Qjs7QTREdDVQQTtFQUFvQixhMUQ4ZEc7QUY0N092Qjs7QTREejVQQTtFQUFtQixhMUQ4ZEc7QUYrN090Qjs7QTREMzVQQTtFQUF1QixpQjFEMGREO0FGcThPdEI7O0E0RDk1UEE7RUFBd0IsaUIxRDBkRDtBRnc4T3ZCOztBNERqNlBBO0VBQXVCLGlCMUQwZEQ7QUYyOE90Qjs7QTZEOTZQQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQ0ksaUIzRDJFcUI7RTJEMUVyQixnQjNEODRCb0I7RTJENzRCcEIsVzNEMUNvQjtBRnc5UHhCOztBNkQxNlBBO0VBQ0ksbUIzREVxQjtFMkREckIsZ0IzRDA0Qm9CO0UyRHo0QnBCLFczREdpQjtBRjA2UHJCO0FHLzhMSTtFQUFJLFdEMzlEYTtBRjY2UHJCO0FHaDlMSTtFQUNJLFdEaGhFTztFQ2loRVA7QUhrOUxSOztBNkQvNlBBOzZFQUFBO0FBR0E7RUFDSSxtQjNEVHFCO0UyRFVyQixnQjNEazRCcUI7QUYraU96Qjs7QTZENzZQQTtFQUNJLGlCM0RtRHFCO0UyRGxEckIsZ0IzRDgzQnFCO0FGa2pPekI7O0E2RDU2UEE7RUFDSSxlM0RTZTtFMkRSZixnQjNEVWlCO0FGcTZQckI7O0E2RDM2UEE7NkVBQUE7QUFHQTtFQUFpQjtBN0Q4NlBqQjs7QTZENzZQQTtFQUFrQjtBN0RpN1BsQjs7QTZEaDdQQTtFQUFnQjtBN0RvN1BoQjs7QTZEbDdQQTtFQUFtQjtBN0RzN1BuQjs7QTZEcjdQQTtFQUFrQjtBN0R5N1BsQjs7QTZEdDdQQTs2RUFBQTtBQUdBO0VBQWtCO0E3RHk3UGxCOztBNkR0N1BBOzZFQUFBO0FBR0E7RUFBc0I7QTdEeTdQdEI7O0E2RHg3UEE7RUFBcUI7QTdENDdQckI7O0E2RDM3UEE7RUFBcUI7QTdEKzdQckI7O0E2RDU3UEE7NkVBQUE7QUFHQTtFQUFpQjtBN0QrN1BqQjs7QTZEOTdQQTtFQUFvQjtBN0RrOFBwQjs7QTZEajhQQTtFQUFtQjtBN0RxOFBuQjs7QTZEcDhQQTtFQUFxQjtBN0R3OFByQjs7QTZEdjhQQTtFQUFtQjtBN0QyOFBuQjs7QTZEMThQQTtFQUFtQjtBN0Q4OFBuQjs7QTZENzhQQTtFQUFrQjtBN0RpOVBsQjs7QTZEOThQQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEKzhQSjs7QTZENThQQTtFQUVJO0lBQ0kseUIzRG5Ib0I7STJEb0hwQjtFN0Q4OFBOO0FBQ0Y7QTZEeDhQQTs2RUFBQTtBQUdBO0VBQWdCO0E3RDA4UGhCOztBNkR6OFBBO0VBQWlCO0E3RDY4UGpCOztBNkQ1OFBBO0VBQWtCO0E3RGc5UGxCOztBNkQvOFBBO0VBQW1CO0E3RG05UG5COztBNkRqOVBBO0FBQ0E7RUFFSTtJQUFtQjtFN0RvOVByQjs7RTZEbjlQRTtJQUFvQjtFN0R1OVB0Qjs7RTZEdDlQRTtJQUFxQjtFN0QwOVB2QjtBQUNGO0E2RHY5UEE7QUFDQTtFQUVJO0lBQW1CO0U3RHk5UHJCOztFNkR4OVBFO0lBQW9CO0U3RDQ5UHRCOztFNkQzOVBFO0lBQXFCO0U3RCs5UHZCO0FBQ0Y7QTZENTlQQTtBQUNBO0VBRUk7SUFBbUI7RTdEODlQckI7O0U2RDc5UEU7SUFBb0I7RTdEaStQdEI7O0U2RGgrUEU7SUFBcUI7RTdEbytQdkI7QUFDRjtBNkRqK1BBO0FBQ0E7RUFFSTtJQUFvQjtFN0RtK1B0Qjs7RTZEbCtQRTtJQUFxQjtFN0RzK1B2Qjs7RTZEcitQRTtJQUFzQjtFN0R5K1B4QjtBQUNGO0E2RHQrUEE7O0VBQUE7QUFJQTtFQUFlO0E3RHcrUGY7O0E2RHYrUEE7RUFBa0I7QTdEMitQbEI7O0E2RDErUEE7RUFBa0I7QTdEOCtQbEI7O0E2RDcrUEE7RUFBb0I7QTdEaS9QcEI7O0E2RDkrUEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWtCO0E3RGcvUGxCOztBNkQ5K1BBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RnL1BKOztBNkQ3K1BBO0FBQ0E7O0VBQ3NCO0E3RGkvUHRCOztBNkQ5K1BBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdEZy9QSjs7QTZENytQQTtBQUNBOztFQUNtQjtBN0RpL1BuQjs7QThEbHRRQTs7NkVBQUE7QUFJQTtFQUF3QixxQjVEVVI7TzREVlEsZ0I1RFVSO0FGMnNRaEI7O0E4RG50UUE7QUFDQTtFQUVJO0lBQXdCLHFCNURRTDtTNERSSyxnQjVEUUw7RUY4c1FyQjtBQUNGO0E4RG50UUE7O0VBQUE7QUFJQTtFQUE0QjtBOURxdFE1Qjs7QThEbHRRQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtPQUFBO0VBQ0E7RUFDQTtPQUFBO0E5RG10UUo7O0E4RGh0UUE7QUFDQTtFQUVJO0lBQ0k7U0FBQTtFOURrdFFOO0FBQ0Y7QThEN3NRQTs2RUFBQTtBQUdBO0VBQWlCO09BQUE7QTlEK3NRakI7O0E4RDlzUUE7RUFBaUI7T0FBQTtBOURrdFFqQjs7QThEanRRQTtFQUFpQjtPQUFBO0E5RHF0UWpCOztBOERwdFFBO0VBQWlCO09BQUE7QTlEd3RRakI7O0E4RHZ0UUE7RUFBaUI7T0FBQTtBOUQydFFqQjs7QThEenRRQTtBQUNBO0VBRUk7SUFBb0I7U0FBQTtFOUQ0dFF0Qjs7RThEM3RRRTtJQUFvQjtTQUFBO0U5RCt0UXRCOztFOEQ5dFFFO0lBQW9CO1NBQUE7RTlEa3VRdEI7O0U4RGp1UUU7SUFBb0I7U0FBQTtFOURxdVF0Qjs7RThEcHVRRTtJQUFvQjtTQUFBO0U5RHd1UXRCO0FBQ0Y7QThEcnVRQTtBQUNBO0VBRUk7SUFBb0I7U0FBQTtFOUR1dVF0Qjs7RThEdHVRRTtJQUFvQjtTQUFBO0U5RDB1UXRCOztFOER6dVFFO0lBQW9CO1NBQUE7RTlENnVRdEI7O0U4RDV1UUU7SUFBb0I7U0FBQTtFOURndlF0Qjs7RThEL3VRRTtJQUFvQjtTQUFBO0U5RG12UXRCO0FBQ0Y7QThEaHZRQTtBQUNBO0VBRUk7SUFBb0I7U0FBQTtFOURrdlF0Qjs7RThEanZRRTtJQUFvQjtTQUFBO0U5RHF2UXRCOztFOERwdlFFO0lBQW9CO1NBQUE7RTlEd3ZRdEI7O0U4RHZ2UUU7SUFBb0I7U0FBQTtFOUQydlF0Qjs7RThEMXZRRTtJQUFvQjtTQUFBO0U5RDh2UXRCO0FBQ0Y7QThEM3ZRQTtBQUNBO0VBRUk7SUFBcUI7U0FBQTtFOUQ2dlF2Qjs7RThENXZRRTtJQUFxQjtTQUFBO0U5RGd3UXZCOztFOEQvdlFFO0lBQXFCO1NBQUE7RTlEbXdRdkI7O0U4RGx3UUU7SUFBcUI7U0FBQTtFOURzd1F2Qjs7RThEcndRRTtJQUFxQjtTQUFBO0U5RHl3UXZCO0FBQ0Y7QThEdHdRQTs7NkVBQUE7QUFJQTtFQUFrQjtPQUFBO0E5RHd3UWxCOztBK0R4M1FBOzs2RUFBQTtBQUlBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EeTNRSjs7QStEdDNRQTtFQUFrQjtBL0QwM1FsQjs7QStEdjNRQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9EdzNRSjs7QWdFdDVRQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQXlCLHNCOURvQ0w7QUZtM1FwQjs7QWdFdDVRQTtFQUF1Qix5QjlEUEc7QUZpNlExQjs7QWdFejVRQTtFQUF5Qix5QjlESEc7QUZnNlE1Qjs7QWdFNTVRQTtFQUEyQixzQjlEcUNHO0FGMjNROUI7O0FnRTc1UUE7NkVBQUE7QUFHQTs7OztFQUlJO0VBQ0E7QWhFKzVRSjs7QWdFNTVRQTtFQUF1QjtBaEVnNlF2Qjs7QWdFLzVRQTtFQUF5QjtBaEVtNlF6Qjs7QWdFbDZRQTtFQUEyQjtBaEVzNlEzQjs7QWdFcjZRQTtFQUE0QjtBaEV5NlE1Qjs7QWdFdDZRQTs2RUFBQTtBQUdBO0VBQTBCO0FoRXk2UTFCOztBZ0V4NlFBO0VBQTRCO0FoRTQ2UTVCOztBZ0UzNlFBO0VBQTJCO0FoRSs2UTNCOztBZ0U5NlFBO0VBQTZCO0FoRWs3UTdCOztBZ0VqN1FBO0VBQStCO0FoRXE3US9COztBZ0VwN1FBO0VBQThCO0FoRXc3UTlCOztBZ0V2N1FBO0VBQTZCO0FoRTI3UTdCOztBZ0UxN1FBO0VBQStCO0FoRTg3US9COztBZ0U3N1FBO0VBQThCO0FoRWk4UTlCOztBZ0U5N1FBOzZFQUFBO0FBR0E7RUFBMEI7QWhFaThRMUI7O0FnRTk3UUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO1VBQUE7QWhFKzdRSjs7QWdFNTdRQTs7RUFBQTtBQUlBO0VBQ0k7SUFBdUI7RWhFKzdRekI7QUFDRjtBZ0U1N1FBOzZFQUFBO0FBR0E7QUFDQTtFQUVJO0lBQTBCO0VoRTY3UTVCO0FBQ0Y7QWdFMTdRQTtBQUNBO0VBRUk7SUFBMEI7RWhFNDdRNUI7QUFDRjtBZ0V6N1FBO0FBQ0E7RUFFSTtJQUEwQjtFaEUyN1E1QjtBQUNGO0FnRXg3UUE7QUFDQTtFQUVJO0lBQTBCO0VoRTA3UTVCO0FBQ0Y7QWdFdDdRQTs2RUFBQTtBQUdBO0VBQWdDO0FoRXc3UWhDOztBZ0V2N1FBO0VBQThCO0FoRTI3UTlCOztBZ0UxN1FBO0VBQStCO0FoRTg3US9COztBZ0U3N1FBO0VBQThCO0FoRWk4UTlCOztBZ0VoOFFBO0VBQStCO0FoRW84US9COztBZ0VuOFFBO0VBQW1DO0FoRXU4UW5DOztBZ0V0OFFBO0VBQWtDO0FoRTA4UWxDOztBZ0V6OFFBO0VBQWtDO0FoRTY4UWxDOztBZ0U1OFFBO0VBQWtDO0FoRWc5UWxDOztBZ0UvOFFBO0VBQWtDO0FoRW05UWxDOztBZ0VsOVFBO0VBQWlDO0FoRXM5UWpDOztBZ0VyOVFBO0VBQTJCO0FoRXk5UTNCOztBZ0V4OVFBO0VBQWtDO0FoRTQ5UWxDOztBZ0UzOVFBO0VBQTZCO0FoRSs5UTdCOztBZ0U5OVFBO0VBQWtDO0FoRWsrUWxDOztBaUUxbFJBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBLG1CL0RPWTtBRm9sUmhCOztBaUV4bFJBO0VBQTBCLGdCL0RJVjtBRndsUmhCOztBaUUxbFJBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FqRTRsUko7O0FpRXpsUkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0Esa0IvRGJZO0UrRGNaO0FqRTJsUko7O0FpRXhsUkE7RUFDSTtFQUNBLGlCL0RuQlk7RStEb0JaO0FqRTJsUko7O0FpRXhsUkE7QUFDQTtFQUVJO0lBQ0k7SUFDQSxrQi9ENUJRO0krRDZCUjtFakUwbFJOOztFaUV2bFJFO0lBQ0k7SUFDQSxpQi9EbENRO0krRG1DUjtFakUwbFJOO0FBQ0Y7QWlFdGxSQTtBQUNBO0VBRUk7SUFDSTtJQUNBLGtCL0Q3Q1E7SStEOENSO0VqRXVsUk47O0VpRXBsUkU7SUFDSTtJQUNBLGlCL0RuRFE7SStEb0RSO0VqRXVsUk47QUFDRjtBaUVubFJBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RWpFb2xSTjs7RWlFamxSRTtJQUNJO0lBQ0E7RWpFb2xSTjs7RWlFamxSRTs7OztJQUdvQixrQi9EdEVEO0VGMnBSckI7O0VpRW5sUkU7Ozs7SUFHcUIsaUIvRDNFRjtFRmtxUnJCO0FBQ0Y7QWlFcGxSQTtBQUNBO0VBRUk7SUFDSTtJQUNBLGtCL0RwRmU7SStEcUZmO0VqRXFsUk47O0VpRWxsUkU7SUFDSTtJQUNBLGlCL0QxRmU7SStEMkZmO0VqRXFsUk47QUFDRjtBa0VodFJBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0FBQ0E7O0VBRTBEO0FsRWd0UjFEOztBa0Uvc1JBO0VBQTREO0FsRW10UjVEOztBa0VqdFJBOztFQUFBO0FBSUE7RUFBVTtBbEVvdFJWOztBbUV0clJBOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7QW5Fc3JSSjs7QW1FbnJSQTs7RUFBQTtBQUlBO0VBQTBCO0FuRXNyUjFCOztBbUVuclJBOztFQUFBO0FBSUE7RUFDSSxhakV3NkJzQjtFaUV2NkJ0QixhakV3NkJ1QjtFaUV2NkJ2QjtFQUNBO0VBQ0E7RUFDQTtBbkVxclJKOztBbUVoclJBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0FBQ0E7RUFDSTtFQUNBO0FuRWlyUko7O0FtRTlxUkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBbkVpclJKOztBbUU3cVJBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFpQjtBbkUrcVJqQjs7QW1FOXFSQTtFQUFrQjtBbkVrclJsQjs7QW1FaHJSQTtBQUNBO0VBQXVCO0FuRW9yUnZCOztBbUVqclJBOzZFQUFBO0FBR0E7RUFBc0I7QW5Fb3JSdEI7O0FtRWxyUkE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0FuRW9yUko7O0FtRWpyUkE7RUFBa0M7QW5FcXJSbEM7O0FtRWxyUkE7NkVBQUE7QUFHQTtFQUFhO0FuRXFyUmI7O0FtRXByUkE7RUFBc0I7QW5Fd3JSdEI7O0FtRXJyUkE7NkVBQUE7QUFHQTtFQUFvQjtBbkV3clJwQjs7QW1FdnJSQTtFQUFxQjtBbkUyclJyQjs7QW1FMXJSQTtFQUEyQjtBbkU4clIzQjs7QW1FM3JSQTs2RUFBQTtBQUdBOzs7Ozs7OztFQUFBO0FBVUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkU0clJKOztBbUV6clJBO0VBQ0k7RUFDQTtBbkU0clJKOztBbUV4clJBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBSTJCO0FuRTByUjNCOztBbUV4clJBOzs7RUFBQTtBQUtBOztFQUN3QjtBbkUyclJ4Qjs7QW1FenJSQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuRTJyUko7O0FtRXhyUkE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRTByUko7O0FtRXRyUkE7NkVBQUE7QUFHQTtFQUFvQjtBbkV5clJwQjs7QW1FeHJSQTtFQUFrQjtBbkU0clJsQjs7QW1FM3JSQTtFQUFxQixrQmpFcXdCVTtBRjA3UC9COztBbUU3clJBOztFQUFBO0FBSUE7RUFBdUM7QW5FZ3NSdkM7O0FtRTdyUkE7NkVBQUE7QUFHQTtFQUF1Qix5Q2pFaXhCRztBRis2UDFCOztBbUUvclJBO0VBQXdCLDBDakVpeEJHO0FGazdQM0I7O0FtRWxzUkE7RUFBdUIsMkNqRWl4Qkc7QUZxN1AxQjs7QW1FcnNSQTtFQUF3QiwyQ2pFaXhCRztBRnc3UDNCOztBbUV2c1JBOztFQUFBO0FBSUE7RUFBaUM7QW5FMHNSakM7O0FtRXhzUkE7RUFBbUMseUNqRXN3QlQ7QUZzOFAxQjs7QW1FM3NSQTtFQUFvQywwQ2pFc3dCVDtBRnk4UDNCOztBbUU5c1JBO0VBQW1DLDJDakVzd0JUO0FGNDhQMUI7O0FtRWp0UkE7RUFBb0MsMkNqRXN3QlQ7QUYrOFAzQjs7QW1FbHRSQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFFSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VuRWt0Uk47O0VtRS9zUkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFlqRStzQm1CO0lpRTlzQm5CLG1CakUrc0IwQjtJaUU5c0IxQixnQmpFK3NCdUI7SWlFOXNCdkI7RW5Fa3RSTjs7RW1FOXNSRTtFQUNBO0lBQTRCO0VuRWt0UjlCO0FBQ0Y7QW1FOXNSQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTs7RUFHSTtFQUNBLGtCakVzckJtQjtFaUVyckJuQjtFQUNBLGdCakVxckJnQjtFaUVwckJoQjtFaEUrd0RBO0FIKzdOSjs7QW1FMXNSQTtBQUNBO0VBRUU7O0lBQzhDO0VuRTZzUjlDO0FBQ0Y7QW1FMXNSQTtBQUNBO0VBRUU7SUFBOEM7RW5FNHNSOUM7QUFDRjtBbUV4c1JBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGlCakV0UHFCO0VpRXVQckIsa01qRTlSaUI7RWlFK1JqQixXakV6V1c7RWlFMFdYO0VBQ0E7QW5Fd3NSSjs7QW1FcHNSQTtBQUNBOztFQUVJLFdqRWxYVztFaUVtWFg7RUFDQTtFQUNBO0FuRXVzUko7O0FtRW5zUkE7RUFBbUI7QW5FdXNSbkI7O0FtRXBzUkE7NkVBQUE7QUFHQTtFQUFlO0FuRXVzUmY7O0FtRXBzUkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7RUFFYTtBbkVxc1JiOztBbUVuc1JBO0FBQ0E7RUFBa0I7QW5FdXNSbEI7O0FtRXBzUkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWUsNkNqRTJtQk87QUYybFF0Qjs7QW1FbnNSQTs2RUFBQTtBQUdBO0VBQXFCO0FuRXNzUnJCOztBbUVyc1JBO0VBQW1CO0FuRXlzUm5COztBbUV4c1JBO0VBQW9CO0FuRTRzUnBCOztBbUUzc1JBO0VBQW1CO0FuRStzUm5COztBbUU5c1JBO0VBQW9CO0FuRWt0UnBCOztBbUVqdFJBO0VBQXdCO0FuRXF0UnhCOztBbUVwdFJBO0VBQXVCO0FuRXd0UnZCOztBbUV2dFJBO0VBQXVCO0FuRTJ0UnZCOztBbUUxdFJBO0VBQXVCO0FuRTh0UnZCOztBbUU3dFJBO0VBQXVCO0FuRWl1UnZCOztBbUVodVJBO0VBQXNCO0FuRW91UnRCOztBbUVudVJBO0VBQWdCO0FuRXV1UmhCOztBbUV0dVJBO0VBQXVCO0FuRTB1UnZCOztBbUV6dVJBO0VBQWtCO0FuRTZ1UmxCOztBbUU1dVJBO0VBQXVCO0FuRWd2UnZCOztBbUU3dVJBOzRFQUFBO0FBR0E7RUFBdUI7QW5FZ3ZSdkI7O0FtRTd1UkE7NEVBQUE7QUFHQTtFQUFnQztBbkVndlJoQzs7QW1FL3VSQTtFQUFrQztBbkVtdlJsQzs7QW1FbHZSQTtFQUFpQztBbkVzdlJqQzs7QW1FcnZSQTtFQUFtQztBbkV5dlJuQzs7QW1FeHZSQTtFQUFvQztBbkU0dlJwQzs7QW1FM3ZSQTtFQUFtQztBbkUrdlJuQzs7QW1FOXZSQTtFQUFxQztBbkVrd1JyQzs7QW1FandSQTtFQUFvQztBbkVxd1JwQzs7QW9FcHNTQTs7NkVBQUE7QUFJQTtFQUFXO0FwRXVzU1g7O0FvRXRzU0E7RUFBa0I7QXBFMHNTbEI7O0FvRXhzU0E7O0VBQUE7QUFJQTs7OztFQUd5QjtBcEUyc1N6Qjs7QW9FeHNTQTs2RUFBQTtBQUdBOzs7RUFBQTtBQU1BO0VBQWdCO0FwRXlzU2hCOztBb0V4c1NBO0VBQWtCO0FwRTRzU2xCOztBb0Uzc1NBO0VBQWlCO0FwRStzU2pCOztBb0U5c1NBO0VBQW1CO0FwRWt0U25COztBb0VqdFNBO0VBQWtCO0FwRXF0U2xCOztBb0VsdFNBO0FBQ0E7RUFFSTtJQUFtQjtFcEVxdFNyQjs7RW9FcHRTRTtJQUFxQjtFcEV3dFN2Qjs7RW9FdnRTRTtJQUFvQjtFcEUydFN0Qjs7RW9FMXRTRTtJQUFzQjtFcEU4dFN4Qjs7RW9FN3RTRTtJQUFxQjtFcEVpdVN2QjtBQUNGO0FvRTl0U0E7QUFDQTtFQUVJO0lBQW1CO0VwRWd1U3JCOztFb0UvdFNFO0lBQXFCO0VwRW11U3ZCOztFb0VsdVNFO0lBQW9CO0VwRXN1U3RCOztFb0VydVNFO0lBQXNCO0VwRXl1U3hCOztFb0V4dVNFO0lBQXFCO0VwRTR1U3ZCO0FBQ0Y7QW9FenVTQTtBQUNBO0VBRUk7SUFBbUI7RXBFMnVTckI7O0VvRTF1U0U7SUFBcUI7RXBFOHVTdkI7O0VvRTd1U0U7SUFBb0I7RXBFaXZTdEI7O0VvRWh2U0U7SUFBc0I7RXBFb3ZTeEI7O0VvRW52U0U7SUFBcUI7RXBFdXZTdkI7QUFDRjtBb0VwdlNBO0FBQ0E7RUFFSTtJQUFvQjtFcEVzdlN0Qjs7RW9FcnZTRTtJQUFzQjtFcEV5dlN4Qjs7RW9FeHZTRTtJQUFxQjtFcEU0dlN2Qjs7RW9FM3ZTRTtJQUF1QjtFcEUrdlN6Qjs7RW9FOXZTRTtJQUFzQjtFcEVrd1N4QjtBQUNGO0FvRS92U0E7OztFQUFBO0FBTUE7RUFBbUI7QXBFZ3dTbkI7O0FvRS92U0E7RUFBZTtBcEVtd1NmOztBb0Vsd1NBO0VBQWtCO0FwRXN3U2xCOztBb0Vyd1NBO0VBQWtCO0FwRXl3U2xCOztBb0V0d1NBOzZFQUFBO0FBSUE7RUFBZTtBcEV3d1NmOztBb0V2d1NBO0VBQXVCO0FwRTJ3U3ZCOztBb0Uxd1NBO0VBQWtCO0FwRTh3U2xCOztBb0U3d1NBO0VBQTBCO0FwRWl4UzFCOztBb0U5d1NBOzZFQUFBO0FBSUE7RUFBa0I7QXBFZ3hTbEI7O0FvRS93U0E7RUFBZ0I7QXBFbXhTaEI7O0FvRWx4U0E7RUFBd0I7QXBFc3hTeEI7O0FvRXB4U0E7OztFQUFBO0FBTUE7RUFBd0I7QXBFc3hTeEI7O0FvRXJ4U0E7RUFBb0I7QXBFeXhTcEI7O0FvRXh4U0E7RUFBdUI7QXBFNHhTdkI7O0FvRTN4U0E7RUFBdUI7QXBFK3hTdkI7O0FvRTl4U0E7RUFBd0I7QXBFa3lTeEI7O0FvRWp5U0E7RUFBdUI7QXBFcXlTdkI7O0FvRWx5U0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWlCO0FwRW95U2pCOztBb0VueVNBO0VBQWdCO0FwRXV5U2hCOztBb0VweVNBO0FBQ0E7RUFFSTtJQUFvQjtFcEV1eVN0Qjs7RW9FdHlTRTtJQUFtQjtFcEUweVNyQjtBQUNGO0FvRXZ5U0E7QUFDQTtFQUVJO0lBQW9CO0VwRXl5U3RCOztFb0V4eVNFO0lBQW1CO0VwRTR5U3JCO0FBQ0Y7QW9FenlTQTtBQUNBO0VBRUk7SUFBb0I7RXBFMnlTdEI7O0VvRTF5U0U7SUFBbUI7RXBFOHlTckI7QUFDRjtBb0UzeVNBO0FBQ0E7RUFFSTtJQUFxQjtFcEU2eVN2Qjs7RW9FNXlTRTtJQUFvQjtFcEVnelN0QjtBQUNGO0FvRTV5U0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7O0VBQUE7QUFLQTtFQUFnQjtBcEU0eVNoQjs7QW9FMXlTQTs7O0VBQUE7QUFLQTtFQUFnQjtBcEU2eVNoQjs7QW9FM3lTQTs7O0VBQUE7QUFLQTtFQUFhO0FwRTh5U2I7O0FxRXg5U0E7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUFhLG1CbkV0Q0c7QUZnZ1RoQjs7QXFFejlTQTtFQUFpQjtBckU2OVNqQjs7QXFFMzlTQTtFQUFpQjtBckUrOVNqQjs7QXFFOTlTQTtFQUFvQjtBckVrK1NwQjs7QXFFaitTQTtFQUFrQjtBckVxK1NsQjs7QXFFcCtTQTtFQUFtQjtBckV3K1NuQjs7QXFFcitTQTs2RUFBQTtBQUdBO0VBQW1CLG1CbkV5Rkc7QUYrNFN0Qjs7QXFFditTQTtFQUF1QjtBckUyK1N2Qjs7QXFFeitTQTtFQUF1QjtBckU2K1N2Qjs7QXFFNStTQTtFQUEwQjtBckVnL1MxQjs7QXFFLytTQTtFQUF3QjtBckVtL1N4Qjs7QXFFbC9TQTtFQUF5QjtBckVzL1N6Qjs7QXFFbi9TQTs2RUFBQTtBQUdBO0VBQW9CLG1CbkVpREc7QUZxOFN2Qjs7QXFFci9TQTtFQUF3QjtBckV5L1N4Qjs7QXFFdi9TQTtFQUF3QjtBckUyL1N4Qjs7QXFFMS9TQTtFQUEyQjtBckU4L1MzQjs7QXFFNy9TQTtFQUF5QjtBckVpZ1R6Qjs7QXFFaGdUQTtFQUEwQjtBckVvZ1QxQjs7QXFFamdUQTs2RUFBQTtBQUdBO0VBQW1CLG1CbkVxQ0k7QUYrOVN2Qjs7QXFFbmdUQTtFQUF1QjtBckV1Z1R2Qjs7QXFFcmdUQTtFQUF1QjtBckV5Z1R2Qjs7QXFFeGdUQTtFQUEwQjtBckU0Z1QxQjs7QXFFM2dUQTtFQUF3QjtBckUrZ1R4Qjs7QXFFOWdUQTtFQUF5QjtBckVraFR6Qjs7QXFFaGhUQTtBQUNBO0VBRUk7SUFBbUIsbUJuRXJDRDtFRndqVHBCOztFcUVsaFRFO0lBQXVCO0VyRXNoVHpCOztFcUVwaFRFO0lBQXVCO0VyRXdoVHpCOztFcUV2aFRFO0lBQTBCO0VyRTJoVDVCOztFcUUxaFRFO0lBQXdCO0VyRThoVDFCOztFcUU3aFRFO0lBQXlCO0VyRWlpVDNCO0FBQ0Y7QXFFN2hUQTs2RUFBQTtBQUdBO0VBQW9CLG1CbkVuREU7QUZrbFR0Qjs7QXFFOWhUQTtFQUF3QjtBckVraVR4Qjs7QXFFaGlUQTtFQUF3QjtBckVvaVR4Qjs7QXFFbmlUQTtFQUEyQjtBckV1aVQzQjs7QXFFdGlUQTtFQUF5QjtBckUwaVR6Qjs7QXFFemlUQTtFQUEwQjtBckU2aVQxQjs7QXFFM2lUQTtBQUNBO0VBRUk7SUFBb0Isb0JuRWlnQkQ7RUY2aVNyQjs7RXFFN2lURTtJQUF3QjtFckVpalQxQjs7RXFFL2lURTtJQUF3QjtFckVtalQxQjs7RXFFbGpURTtJQUEyQjtFckVzalQ3Qjs7RXFFcmpURTtJQUF5QjtFckV5alQzQjs7RXFFeGpURTtJQUEwQjtFckU0alQ1QjtBQUNGO0FxRXhqVEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QXJFeWpUSjs7QXFFdGpUQTtFQUFzQjtBckUwalR0Qjs7QXFFempUQTtFQUF5QjtBckU2alR6Qjs7QXFFNWpUQTtFQUF1QjtBckVna1R2Qjs7QXFFL2pUQTtFQUF3QjtBckVta1R4Qjs7QXFFamtUQTtFQUNJO0VBQ0E7QXJFb2tUSjs7QXFFamtUQTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VyRW1rVE47O0VxRWhrVEU7SUFBMEI7RXJFb2tUNUI7O0VxRW5rVEU7SUFBMkI7RXJFdWtUN0I7QUFDRjtBcUVwa1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXJFcWtUTjs7RXFFbGtURTtJQUEwQjtFckVza1Q1Qjs7RXFFcmtURTtJQUEyQjtFckV5a1Q3QjtBQUNGO0FxRXRrVEE7QUFDQTtFQUVJO0lBQ0k7SUFDQTtFckV1a1ROOztFcUVwa1RFO0lBQTBCO0VyRXdrVDVCOztFcUV2a1RFO0lBQTJCO0VyRTJrVDdCO0FBQ0Y7QXFFeGtUQTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VyRXlrVE47O0VxRXRrVEU7SUFBMkI7RXJFMGtUN0I7O0VxRXprVEU7SUFBNEI7RXJFNmtUOUI7QUFDRjtBcUV6a1RBOzZFQUFBO0FBR0M7RUFBb0I7QXJFMmtUckI7O0FxRTFrVEM7RUFBd0I7QXJFOGtUekI7O0FxRTdrVEM7RUFBMkI7QXJFaWxUNUI7O0FxRWhsVEM7RUFBeUI7QXJFb2xUMUI7O0FxRW5sVEM7RUFBMEI7QXJFdWxUM0I7O0FxRXJsVEM7RUFDSTtFQUNBO0FyRXdsVEw7O0FxRXJsVEM7O0VBQytDO0FyRXlsVGhEOztBcUV4bFRDO0VBQTZDO0FyRTRsVDlDOztBcUUxbFRBO0FBQ0E7RUFFSTtJQUE0QjtFckU2bFQ5Qjs7RXFFNWxURTtJQUE2QjtFckVnbVQvQjtBQUNGO0FxRTdsVEE7QUFDQTtFQUVJO0lBQTRCO0VyRStsVDlCOztFcUU5bFRFO0lBQTZCO0VyRWttVC9CO0FBQ0Y7QXFFL2xUQTtBQUNBO0VBRUk7SUFBNEI7RXJFaW1UOUI7O0VxRWhtVEU7SUFBNkI7RXJFb21UL0I7QUFDRjtBcUVqbVRBO0FBQ0E7RUFFSTtJQUE2QjtFckVtbVQvQjs7RXFFbG1URTtJQUE4QjtFckVzbVRoQztBQUNGO0FzRS96VEE7OzZFQUFBO0FBSUE7RUFBYyxhcEVVRTtBRnV6VGhCOztBc0UvelRBO0FBQ0E7RUFFSTtJQUFjLGFwRVFLO0VGMHpUckI7QUFDRjtBc0U5elRBOzZFQUFBO0FBR0E7RUFBb0IsYXBFdkJFO0FGdTFUdEI7O0FzRTd6VEE7NkVBQUE7QUFHQTtFQUFvQixhcEVUSjtBRnkwVGhCOztBc0U5elRBO0FBQ0E7RUFFSTtJQUFvQixhcEV5T0Y7RUZ3bFRwQjtBQUNGO0FzRTd6VEE7NkVBQUE7QUFHQTtFQUFxQjtBdEUrelRyQjs7QXNFOXpUQTtFQUF5QjtBdEVrMFR6Qjs7QXNFajBUQTtFQUE0QjtBdEVxMFQ1Qjs7QXNFcDBUQTtFQUEwQjtBdEV3MFQxQjs7QXNFdjBUQTtFQUEyQjtBdEUyMFQzQjs7QXNFejBUQTtFQUNJO0VBQ0E7QXRFNDBUSjs7QXNFejBUQTtFQUNJO0VBQ0E7QXRFNDBUSjs7QXVFOTJUQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7O0VBS0k7RUFDQTtFQUNBO0F2RTYyVEo7O0F1RXoyVEE7NkVBQUE7QUFHQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0F2RTIyVEo7O0F1RXgyVEE7RUFDSTtFQUNBO0VBQ0E7QXZFMjJUSjs7QXVFeDJUQTtFQUNJO0VBQ0E7RUFDQTtBdkUyMlRKOztBdUV4MlRBO0VBQ0k7RUFDQTtFQUNBO0F2RTIyVEo7O0F1RXYyVEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTtFQUNJO0VBQ0E7QXZFeTJUSjs7QXVFdDJUQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtBdkV3MlRKOztBdUVyMlRBO0FBQ0E7O0VBRUk7RUFDQTtBdkV3MlRKOztBdUVyMlRBO0VBQTJCO0F2RXkyVDNCOztBdUV4MlRBO0VBQTRCO0F2RTQyVDVCOztBdUUxMlRBO0VBQ0k7RUFDQTtFQUFBO0VBQUE7QXZFNjJUSjs7QXVFMTJUQTtFQUNJO0VBQ0E7RUFBQTtFQUFBO0F2RTYyVEo7O0F1RTEyVEE7QUFDQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0F2RTYyVEo7O0F1RTEyVEE7RUFBMEI7QXZFODJUMUI7O0F1RTcyVEE7RUFBNkI7QXZFaTNUN0I7O0F1RTkyVEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZFZzNUSjs7QXVFNTJUQTs2RUFBQTtBQUdBO0VBQXdCO0F2RSsyVHhCOztBdUU3MlRBO0VBQXdCO0F2RWkzVHhCOztBdUUvMlRBO0VBQXFCO0F2RW0zVHJCOztBdUVqM1RBO0VBQXVCO0F2RXEzVHZCOztBdUVsM1RBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsWXJFbkxrQjtBRnNpVXRCOztBdUVoM1RBO0VBQXdDO0F2RW8zVHhDOztBdUVsM1RBOztFQUN3RDtBdkVzM1R4RDs7QXVFcDNUQTs7RUFDK0M7QXZFdzNUL0M7O0F1RXQzVEE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsWXJFaExZO0FGd2lVaEI7O0F1RXIzVEE7RUFBeUM7QXZFeTNUekM7O0F1RXYzVEE7O0VBQ3lEO0F2RTIzVHpEOztBdUV6M1RBOztFQUNnRDtBdkU2M1RoRDs7QXVFMzNUQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxZckVqTVk7QUY4alVoQjs7QXVFMTNUQTtFQUF3QztBdkU4M1R4Qzs7QXVFNTNUQTs7RUFDd0Q7QXZFZzRUeEQ7O0F1RTkzVEE7O0VBQytDO0F2RWs0VC9DOztBdUVoNFRBO0FBQ0E7RUFFSTtJQUNJO0lBQ0EsWXJFc2pCa0I7RUY0MFN4Qjs7RXVFLzNURTtJQUF3QztFdkVtNFQxQzs7RXVFajRURTs7SUFDd0Q7RXZFcTRUMUQ7O0V1RW40VEU7O0lBQytDO0V2RXU0VGpEO0FBQ0Y7QXdFbG1VQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0F4RWdtVUo7O0F3RTdsVUE7O0VBQUE7QUFJQTtFQUE4QjtBeEVnbVU5Qjs7QXdFN2xVQTs2RUFBQTtBQUdBOzs7Ozs7OztFQUFBO0FBVUE7OztFQUdJO0VBQ0E7RUFDQTtBeEU4bFVKOztBd0UzbFVBOztFQUFBO0FBSUE7OztFQUVzRDtBeEU4bFV0RDs7QXdFNWxVQTs7RUFBQTtBQUlBO0VBQTBCO0F4RStsVTFCOztBd0U5bFVBO0VBQTRCO0F4RWttVTVCOztBd0VobVVBO0FBQ0E7OztFQUdJO0VBQ0E7QXhFbW1VSjs7QXdFaG1VQTs7O0VBR0k7RUFDQTtBeEVtbVVKOztBd0VobVVBOztFQUFBO0FBSUE7RUFBMkI7QXhFbW1VM0I7O0F3RWxtVUE7RUFBOEI7QXhFc21VOUI7O0F3RXJtVUE7RUFBNEI7QXhFeW1VNUI7O0F3RXhtVUE7RUFBNkI7QXhFNG1VN0I7O0F3RTFtVUE7RUFBaUM7QXhFOG1VakM7O0F3RTdtVUE7RUFBb0M7QXhFaW5VcEM7O0F3RWhuVUE7RUFBa0M7QXhFb25VbEM7O0F3RW5uVUE7RUFBbUM7QXhFdW5VbkM7O0F3RXJuVUE7RUFBa0M7QXhFeW5VbEM7O0F3RXhuVUE7RUFBcUM7QXhFNG5VckM7O0F3RTNuVUE7RUFBbUM7QXhFK25VbkM7O0F3RTluVUE7RUFBb0M7QXhFa29VcEM7O0F3RWhvVUE7QUFDQTs7O0VBR0k7RUFDQTtBeEVtb1VKOztBd0UvblVBOzZFQUFBO0FBR0E7RUFBd0I7QXhFa29VeEI7O0F3RS9uVUE7NkVBQUE7QUFHQTtFQUFzQix5QnRFczJCSztBRjR4UzNCOztBeUV2d1VBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBOztFQUNhO0F6RXl3VWI7O0F5RXZ3VUE7QUFDQTtFQUVJO0lBQWdCO0V6RTB3VWxCO0FBQ0Y7QXlFdndVQTtBQUNBO0VBRUk7SUFBZ0I7RXpFeXdVbEI7QUFDRjtBeUV0d1VBO0FBQ0E7RUFFSTtJQUFnQjtFekV3d1VsQjtBQUNGO0F5RXJ3VUE7QUFDQTtFQUVJO0lBQWlCO0V6RXV3VW5CO0FBQ0Y7QXlFcHdVQTs7RUFBQTtBQUlBO0FBQ0E7RUFFSTtJQUFpQjtFekVxd1VuQjtBQUNGO0F5RWx3VUE7QUFDQTtFQUVJO0lBQWlCO0V6RW93VW5CO0FBQ0Y7QXlFandVQTtBQUNBO0VBRUk7SUFBaUI7RXpFbXdVbkI7QUFDRjtBeUVod1VBO0FBQ0E7RUFFSTtJQUFrQjtFekVrd1VwQjtBQUNGO0F5RTl2VUE7NkVBQUE7QUFHQTtFQUFnQjtBekVnd1VoQjs7QXlFN3ZVQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpFOHZVSjs7QXlFM3ZVQTs7RUFBQTtBQUlBO0FBQ0E7RUFDSTtFQUNBO0F6RTZ2VUo7O0F5RTF2VUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXpFNHZVSjs7QXlFenZVQTs7RUFBQTtBQUlBO0VBQTJCO0F6RTR2VTNCOztBeUV6dlVBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtJQUFtQjtFekUydlVyQjtBQUNGO0F5RXp2VUE7Ozs7RUFBQTtBQU1BO0FBQ0E7RUFBcUI7QXpFMnZVckI7O0F5RXp2VUE7RUFDSTtJQUFxQjtFekU2dlV2QjtBQUNGO0EwRTE0VUE7OzZFQUFBO0FBTUE7Ozs7RUFBQTtBQU00QztFdkVxSXhDLCtCRDdKbUI7QUZpNlV2QjtBRzN2VUk7Ozs7Ozs7Ozs7OztFQUVJLFdEM0tlO0FGazdVdkI7QUdud1VJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBSUksV0RuTGU7QUZzOVV2QjtBRzN4VUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksK0JEM0xlO0VDK0luQixvQ0Q2UjhCO0FGaWtVbEM7QUcxeVVJO0VBQUssV0R0TWM7QUZtL1V2QjtBR3Z5VUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVdJLFdEdk5lO0FGb21WdkI7QUc3MlVJO0VBNUZtQyxXRDNKaEI7QUZ1bVZ2QjtBRzUyVUk7RUEvRjBDLCtCRHpKdkI7QUZ1bVZ2QjtBR3YyVUk7RUFDSSwwQ0RuSGdCO0FGNDlVeEI7QUdqaFRJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQ3aUNxQjtBRjBrVjdCO0FHemhUSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlJLCtCRG5tQ2U7QUY0cFZ2QjtBR3JqVEk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJSSwrQkQ3akNxQjtBRmtwVjdCO0FHamxUSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlJLFdEdG5DZTtBRnV1VnZCO0FHenZUSTtFQUNJLDZDRDkxQmdCO0FGeWxWeEI7QUd2dlRJO0VBQ0ksMkNEbjJCZ0I7QUY0bFZ4QjtBR3J2VEk7Ozs7Ozs7Ozs7OztFQUVJLDZDRHoyQmdCO0FGMG1WeEI7QUd2aFVJO0VJaHRCQTtBUDB1Vko7QUdyaFVJOzs7Ozs7Ozs7Ozs7RUFFSSw2Q0QxbEJnQjtBRjJuVnhCO0FHN2hVSTtFQUNJLDBDRC9sQmdCO0FGOG5WeEI7QUczaFVJO0VBQ0ksMkNEcG1CZ0I7QUZpb1Z4QjtBR3JwVEk7RUFBNEI7QUh3cFRoQztBR3ZwVEk7RUFBK0I7QUgwcFRuQztBR3pwVEk7RUFBOEI7QUg0cFRsQztBRzNwVEk7RUFBZ0M7QUg4cFRwQztBRzVwVEk7RUk5bUNBO0FQNndWSjtBRzNwVEk7RUFDSSwwQ0R0L0JnQjtBRm1wVnhCO0FHcnJTSTtFQUNJLDBDRC85Q2dCO0VDZytDaEIsNkNEaCtDZ0I7QUZ1cFZ4QjtBR3pwVEk7RUFBdUMsMENEaHVCVDtBRjQzVWxDO0FHcnhUSTtFQUNJLCtCRHQrQnFCO0FGNnZWN0I7QUdueFRJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQxaENlO0FGeXpWdkI7QUczeFRJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkRoaUNlO0FGdTBWdkI7QUcveFRJO0VBQ0ksMENEN25CMEI7RUM4bkIxQiwrQkQ1L0JxQjtBRjZ4VjdCO0FHN3hUSTs7Ozs7Ozs7Ozs7O0VBRUksMENEcGlCK0I7RUNxaUIvQiwrQkRqakNlO0FGMDFWdkI7QUdyeVRJO0VBQ0ksMENEeGlCZ0M7RUN5aUJoQywrQkR2akNlO0FGODFWdkI7QUd6Z1VJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLDBDRDVhMEI7RUM2YTFCLCtCRHoxQmU7RUMwMUJmO0VBZG9CLHNDRDlyQko7QUY0dVZ4QjtBRzdoVVE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQ0ksMENEbGJzQjtFQ21idEIsK0JELzFCVztFQzYwQlcsc0NENzBCWDtBRnE1VnZCO0FHNWlVSTtFQUF5QiwrQkQzekJBO0FGNjJWN0I7QUdsalVJO0VBQXlCLCtCRDN6QkE7QUY2MlY3QjtBR2xqVUk7RUFBeUIsK0JEM3pCQTtBRjYyVjdCO0FHL2lVSTtFQUE0QiwrQkQ5ekJIO0FGbTNWN0I7QUdyalVJO0VBQTRCLCtCRDl6Qkg7QUZtM1Y3QjtBR3JqVUk7RUFBNEIsK0JEOXpCSDtBRm0zVjdCO0FHL2lVSTtFSWoyQkE7QVBtNVZKO0FHNWlVSTs7Ozs7Ozs7Ozs7O0VJdjJCQTtBUGk2Vko7QUdualVJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0Q3Y3dCO0VDMFpFLHNDRGhzQlY7QUZtelZ4QjtBRzNqVUk7Ozs7Ozs7Ozs7OztFQXZEb0Msc0NELzBCakI7QUYrOFZ2QjtBR25rVUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksc0JEbDVCZTtFQ20xQm1CLHNDRGgxQm5CO0FGeStWdkI7QUdybFVJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLHlCRGhlc0M7QUYya1Y5QztBR3RtVUk7RUkzNEJBO0FQby9WSjtBR3htVUk7RUk1NEJBO0FQdS9WSjtBRzFtVUk7RUk3NEJBO0FQMC9WSjtBRzFtVUk7RUEvRThCLFdEcjFCWDtBRmloV3ZCO0FHeG1VSTtFQUFnQiwrQkR4M0JTO0FGbStWN0I7QUcxbVVJO0VBQXNCLCtCRHY2Qkg7QUZvaFd2QjtBRy9uVkk7RUFDSSw2QkR6TTRCO0VDME01QixXRDFaZTtFQ21ZZSxzQ0RoWWY7QUZ5aFd2QjtBRzluVkk7Ozs7Ozs7Ozs7OztFQUVJLDZCRDlNa0M7RUMrTWxDLFdEamFlO0VDb1lxQixrQkRwWXJCO0FGNGlXdkI7QUd2b1ZJOzs7Ozs7Ozs7Ozs7RUFFSSw2QkRuTm1DO0VDb05uQyxXRHhhZTtFQ3FZc0Isa0JEcll0QjtBRjRqV3ZCO0FHNW9WSTtFQUNJLHNCRGpiZTtFQ2tiZixXRHJiTztBRm1rV2Y7QUcxb1ZJOzs7Ozs7Ozs7Ozs7RUFFSSx5QkRoT2tDO0VDaU9sQyxXRDViTztBRmtsV2Y7QUdscFZJOzs7Ozs7Ozs7Ozs7RUFFSSx5QkRyT21DO0VDc09uQyxXRG5jTztBRmltV2Y7QUd0cFZJO0VBQ0ksc0JEemNlO0VDMGNmLFdEN2NPO0FGcW1XZjtBR3BwVkk7Ozs7Ozs7Ozs7OztFQUVJLHlCRGxQb0M7RUNtUHBDLFdEcGRPO0FGb25XZjtBRzVwVkk7Ozs7Ozs7Ozs7OztFQUVJLHlCRHZQcUM7RUN3UHJDLFdEM2RPO0FGbW9XZjtBR2hxVkk7RUFDSSxXRGplZTtBRm1vV3ZCO0FHdHZWSTtFQUFZLHlCRDdZTztBRnNvV3ZCO0FHanFWSTs7Ozs7Ozs7Ozs7O0VBRUksV0R2ZWU7QUZvcFd2QjtBR3pxVkk7RUFDSSwrQkQzYnFCO0FGc21XN0I7QUducVZJO0VBQ0ksK0JEcGNxQjtBRnltVzdCO0FHanFWSTs7Ozs7Ozs7Ozs7O0VBQ3dCLCtCRHZmTDtBRnFxV3ZCO0FHcHZVSTtFQUNJLDJDRHB5QmdCO0FGMGhXeEI7QUdsdlVJO0VBQ0ksMENEenlCZ0I7QUY2aFd4QjtBR3ppVkk7RUFDSSwrQkRybEJxQjtBRmdvVzdCO0FHdmlWSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEem9CZTtBRjRyV3ZCO0FHM2lVSTtFQUNJLCtCRHBtQ3FCO0FGaXBXN0I7QUd6aVVJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkR4cENlO0FGNnNXdkI7QUdqalVJO0VBQ0ksV0RocUNlO0FGbXRXdkI7QUdqbldJO0VBQ0ksc0JEbkdlO0VDb0dmLFdEdkdPO0FGMHRXZjtBRy9tV0k7Ozs7Ozs7Ozs7OztFQUVJLFdEN0dPO0FGd3VXZjtBRzlqVUk7RUFDSSxzQkR4cUNlO0VDeXFDZixXRDVxQ087QUY0dVdmO0FHcnBXSTtFQUNJLCtCRHBDcUI7QUYyclc3QjtBR3hqVUk7RUFBbUIsK0JEanJDQTtBRjR1V3ZCO0FHempVSTtFQUF5QztBSDRqVTdDO0FHM2pVSTtFQUFnQywrQkR0b0NQO0FGb3NXN0I7QUc5alVJO0VBQWdDLCtCRHRvQ1A7QUZvc1c3QjtBR3ZqVUk7RUFBNkIsK0JEN29DSjtBRnVzVzdCO0FHempVSTtFQUFtQywrQkQ5b0NWO0FGMHNXN0I7QUd0alVJO0VBQ0ksNkJEeFk0QjtFQ3UvQlEsc0NEcHFEcEI7QUY4bVd4QjtBR3JqVUk7RUFDSSw2QkQ3WTRCO0FGbzhVcEM7QUdualVJO0VBQ0ksNkJEaFoyQjtBRnE4VW5DO0FHampVSTtFQUNJLDZCRHBaMEI7QUZ1OFVsQztBRzNpVUk7RUFDSSwrQkQ3cUNxQjtBRjB0VzdCO0FHemlVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEanVDZTtBRnN4V3ZCO0FHMWlVSTtFSTN0Q0E7QVB3d1dKO0FHeGlVSTtFSWh1Q0E7QVAyd1dKO0FHcmlVSTtFQUNJLCtCRDFzQ3FCO0FGaXZXN0I7QUduaVVJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQ5dkNlO0FGNnlXdkI7QUczaVVJO0VBQ0ksV0R0d0NlO0FGbXpXdkI7QUd6aVVJO0VBQ0ksV0Qzd0NlO0FGc3pXdkI7QUd2aVVJO0VBQ0ksMENEL25DZ0I7QUZ3cVd4QjtBR3JpVUk7RUFBZ0MsK0JEbnVDUDtBRjJ3VzdCO0FHdGlVSTs7Ozs7Ozs7Ozs7O0VBQ3NDLCtCRHB4Q25CO0FGdTBXdkI7QUdqalVJO0VBQStDLFdEenhDNUI7QUY2MFd2QjtBRzlpVUk7RUFDSSwrQkQvdUNxQjtBRit4VzdCO0FHNWlVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEbnlDZTtBRjIxV3ZCO0FHcGpVSTtFQUNJLFdEM3lDZTtBRmkyV3ZCO0FHbGpVSTtFQUNJLFdEaHpDZTtBRm8yV3ZCO0FHaGpVSTtFQUNJLDBDRHBxQ2dCO0FGc3RXeEI7QUc5aVVJO0VBQWdDLCtCRHh3Q1A7QUZ5elc3QjtBRy9pVUk7Ozs7Ozs7Ozs7OztFQUNzQywrQkR6ekNuQjtBRnEzV3ZCO0FHMWpVSTtFQUErQyxXRDl6QzVCO0FGMjNXdkI7QUd4alVJO0VBQ0ksK0JEbnhDcUI7QUY2MFc3QjtBR3RqVUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksK0JEeDBDZTtBRm81V3ZCO0FHeGtVSTtFQUNJLFdEaDFDZTtBRjA1V3ZCO0FHdGtVSTtFQUNJLFdEcjFDZTtBRjY1V3ZCO0FHcGtVSTtFQUNJLCtCRHYxQ2U7QUY2NVd2QjtBR2xrVUk7RUFDSSwrQkQ5eUNxQjtBRmszVzdCO0FHaGtVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSwrQkRuMkNlO0FGeTdXdkI7QUcva1VJO0VBQ0ksK0JEN3pDcUI7QUY4NFc3QjtBRzdrVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRGozQ2U7QUYwOFd2QjtBR3JsVUk7RUFDSSxXRHozQ2U7QUZnOVd2QjtBRy9rVUk7RUFDSSwyQ0RqdkNnQjtBRmswV3hCO0FHemtVSTtFQUNJLDZCRHhnQjhCO0VDeWdCOUIsK0JEMzFDcUI7QUZzNlc3QjtBR3ZrVUk7Ozs7Ozs7Ozs7OztFQUVJLDBDRG4rQjBCO0VDbytCMUIsK0JEaDVDZTtBRm0rV3ZCO0FHL2tVSTtFQUNJLDBDRHorQjBCO0VDMCtCMUIsK0JEdDVDZTtBRnUrV3ZCO0FHN2tVSTtFQUNJLHNCRDk1Q2U7RUMrNUNmLFdEbDZDTztBRmkvV2Y7QUd2a1VJO0VBQ0ksK0JEdjNDcUI7QUZnOFc3QjtBRzF0V0k7RUFDSSwrQkR2T3FCO0FGbThXN0I7QUd4dFdJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQzUmU7QUYrL1d2QjtBRzN0V0k7RUFDSSwrQkRyU2U7QUZrZ1h2QjtBR3J0V0k7RUFDSSwrQkRoUXFCO0FGdTlXN0I7QUd6bFVJO0VBQ0ksK0JELzNDcUI7QUYwOVc3QjtBR3ZsVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRG43Q2U7QUZzaFh2QjtBRy9sVUk7RUFDSSwrQkR4N0NlO0FGeWhYdkI7QUc3bFVJO0VBQ0ksK0JELzRDcUI7QUY4K1c3QjtBR2ptVEk7RUFBWSxzQ0Q3eURRO0FGaTVXeEI7QUd2bFVJO0VBQ0ksK0JEMzVDcUI7QUZvL1c3QjtBR3JsVUk7Ozs7Ozs7Ozs7OztFQUVJLCtCRC84Q2U7QUZnalh2QjtBRzdsVUk7RUFDSSxXRHY5Q2U7RUNtOERnQixrQkRuOERoQjtBRnVqWHZCO0FHNWxVSTtFQUNJLCtCRDM2Q3FCO0FGeWdYN0I7QUd2bFVJO0VBQ0ksK0JEM29CaUI7QUZvdVZ6QjtBR3JsVUk7Ozs7Ozs7Ozs7OztFQUVJLGdDRGhwQnVCO0FGaXZWL0I7QUc3bFVJO0VBQ0ksK0JEcHBCd0I7QUZtdlZoQztBR3AwVkk7RUFDSSw2QkQ5YXlCO0VDdWFFO0FIODBWbkM7QUduMFZJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0RuYitCO0VDdWFFO0FINDFWekM7QUc1MFZJO0VBQ0ksMENEdmJpQztFQ3VhRTtBSCsxVjNDO0FHMzBWSTtFQUNJLDBDRDNiZ0M7RUN1YUU7QUhrMlYxQztBR3ZsWEk7RUlFQTtBUHdsWEo7QUd4bFhJO0VJQUE7QVAybFhKO0FHdGlWSTtFQUNJLCtCRHpoQ3FCO0FGaWtYN0I7QUdwaVZJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQ3a0NlO0FGNm5YdkI7QUc1aVZJO0VBQ0ksK0JEbGxDZTtBRmdvWHZCO0FHN29VSTtFQUNJLCtCRHAvQ2U7QUZtb1h2QjtBRzNvVUk7RUFDSSwrQkQzOENxQjtBRndsWDdCO0FHem9VSTtFQUFpQjtBSDRvVXJCO0FHM29VSTtFQUFvQjtBSDhvVXhCO0FHN29VSTtFQUFtQjtBSGdwVXZCO0FHL29VSTtFQUFxQjtBSGtwVXpCO0FHamdXSTtFQUFxQixnRERuZ0JEO09DbWdCQywyQ0RuZ0JEO0FGdWdYeEI7QUczb1VJO0VBQ0ksK0JEM2dEZTtBRndwWHZCO0FHem9VSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEamhEZTtBRnNxWHZCO0FHanBVSTtFQUF1RDtBSG9wVTNEO0FHbnBVSTtFQUFtQjtBSHNwVXZCOztBMkUvcVhBOzs2RUFBQTtBQUlBO0VBRUk7OztJQUdJO0lBQ0E7SUFDQTtJQUNBO0UzRWdyWE47O0UyRTdxWEU7O0lBQ1k7RTNFaXJYZDs7RTJFL3FYRTs7SUFFSTtJQUNBO0UzRWtyWE47O0UyRS9xWEU7SUFBUTtFM0VtclhWOztFMkVqclhFOztJQUNNO0UzRXFyWFI7O0UyRW5yWEU7SUFBTTtFM0V1clhSOztFMkVyclhFO0lBQVE7RTNFeXJYVjtFMkV2clhFOzs7SUFHSTtJQUNBO0UzRXlyWE47O0UyRXRyWEU7O0lBQ0s7RTNFMHJYUDtBQUNGO0E0RTN0WEE7RUFDSSxpQkFsQmM7RUFtQmQ7RUFDQTtFQUNBO0E1RTZ0WEo7O0E0RTF0WEE7RUFDSSxpQkF4Qm9CO0VBeUJwQjtFQUNBO0VBQ0E7QTVFNnRYSjs7QTRFMXRYQTs7RUFDSSxrQ0FsQ1c7RUFtQ1g7RUFDQTtFQUNBO0VBQ0EsYzVFcENJO0FBa3dYUjs7QTRFM3RYQTtFQUNJLGtDQTFDVztFQTJDWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RTh0WEo7QTRFNXRYSTtFQVJKO0lBU1E7SUFDQTtFNUUrdFhOO0FBQ0Y7QTRFN3RYSTtFQWJKO0lBY1E7SUFDQTtFNUVndVhOO0FBQ0Y7QTRFOXRYSTtFQWxCSjtJQW1CUTtJQUNBO0U1RWl1WE47QUFDRjs7QTRFOXRYQTtFQUNJLGtDQWxFVztFQW1FWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFaXVYSjtBNEUvdFhJO0VBVEo7SUFVUTtJQUNBO0U1RWt1WE47QUFDRjtBNEVodVhJO0VBZEo7SUFlUTtJQUNBO0U1RW11WE47QUFDRjs7QTRFaHVYQTtFQUNJLGtDQXRGVztFQXVGWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RW11WEo7QTRFanVYSTtFQVJKO0lBU1E7SUFDQTtFNUVvdVhOO0FBQ0Y7QTRFbHVYSTtFQWJKO0lBY1E7SUFDQTtFNUVxdVhOO0FBQ0Y7O0E0RWx1WEE7RUFDSSxrQ0F6R1c7RUEwR1g7RUFDQTtFQUNBO0VBQ0E7QTVFcXVYSjs7QTRFbHVYQTtFQUNJLGtDQWpIVztFQWtIWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzVFakhJO0FBczFYUjs7QTZFNTFYQTtFQUNJO0E3RSsxWEo7O0E2RTUxWEE7O0VBR0ksYzdFTEk7QUFtMlhSOztBNkUzMVhBO0VBQ0k7QTdFODFYSjs7QTZFMzFYQTtFQUNJO0E3RTgxWEo7O0E2RTMxWEE7RUFDSTtBN0U4MVhKOztBNkUzMVhBO0VBRUksYzdFdEJJO0FBbTNYUjs7QTZFMTFYQTtFQUVJLGM3RTFCSTtBQXMzWFI7O0E2RXoxWEE7RUFFSSxjN0VoQ0k7QUEyM1hSOztBNkV4MVhBO0VBRUksYzdFckNJO0FBKzNYUjs7QTZFdjFYQTtFQUVJLGM3RTFDSTtBQW00WFI7O0E2RXQxWEE7RUFFSSxjN0UvQ0k7QUF1NFhSOztBNkV6MFhBO0VBQ0k7QTdFNDBYSjs7QTZFejBYQTtFQUNJLGM3RW5FSTtBQSs0WFI7O0E2RXowWEE7RUFDSTtFQUNBO0VBQ0EsYzdFckVJO0FBaTVYUjs7QTZFejBYQTtFQUNJO0E3RTQwWEo7O0E2RXgwWEE7RUFDSTtBN0UyMFhKOztBNkV4MFhBO0VBQ0k7QTdFMjBYSjs7QTZFeDBYQTtFQUNJLG1CN0UxRkk7RTZFMkZKO0VBQ0E7QTdFMjBYSjs7QTZFeDBYQTtFQUNJLG1CN0U1Rkk7QUF1NlhSOztBOEU3NlhBO0VBQ0k7RUFDQTtBOUVnN1hKOztBOEU3NlhBO0VBQ0k7RUFDQTtFQUNBO0E5RWc3WEo7QThFOTZYSTtFQUNJO0E5RWc3WFI7O0E4RTU2WEE7RUFDSSx5QjlFVkk7RThFV0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RSs2WEo7QThFNzZYSTtFQUNJLGM5RXRCQTtBQXE4WFI7QThFNTZYSTtFQUNJO0E5RTg2WFI7QThFNTZYUTtFQUNJO0VBQ0EseUI5RTNCSjtFOEU0QkksYzlFL0JKO0U4RWdDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFODZYWjtBOEU1NlhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlFODZYaEI7QThFejZYSTtFQUNJO0E5RTI2WFI7QThFeDZYSTtFQUNJO0VBQ0E7RUFDQTtBOUUwNlhSO0E4RXg2WFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFMDZYWjs7QThFcjZYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RXc2WEo7O0E4RXI2WEE7RUFDSTtFQUNBO0VBQ0E7QTlFdzZYSjtBOEV0NlhJO0VBQ0k7RUFDQTtBOUV3NlhSOztBOEVwNlhBO0VBQ0k7RUFDQTtBOUV1NlhKOztBOEVwNlhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUI5RWxHSTtBQXlnWVI7QThFcDZYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUI5RTFHSjtFOEUyR0k7RUFDQTtFQUNBO0E5RXM2WFo7QThFbDZYSTtFQUNJO0E5RW82WFI7O0E4RWg2WEE7RUFDSTtFQUNBO0E5RW02WEo7O0E4RWg2WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUVtNlhKO0E4RWo2WEk7RUFDSTtFQUNBO0E5RW02WFI7QThFajZYUTtFQUNJO0E5RW02WFo7QThFaDZYUTtFQUNJO0E5RWs2WFo7QThFaDZYWTtFQUNJO0E5RWs2WGhCO0E4RS81WFk7RUFDSTtFQUNBO0E5RWk2WGhCO0E4RS81WGdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWk2WHBCO0E4RTc1WFk7RUFDSTtBOUUrNVhoQjtBOEU3NVhnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjlFdktaO0U4RXdLWTtFQUNBO0E5RSs1WHBCO0E4RTE1WGdCO0VBQ0k7QTlFNDVYcEI7QThFejVYZ0I7RUFDSTtBOUUyNVhwQjtBOEV0NVhRO0VBQ0ksYzlFN0xKO0FBcWxZUjs7QThFbDVYSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjlFck1BO0U4RXNNQTtFQUNBO0E5RXE1WFI7QThFajVYUTtFQUNJO0E5RW01WFo7O0E4RS80WEE7RUFDSTtFQUNBO0E5RWs1WEo7O0E4RS80WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBOUVrNVhKO0E4RWg1WEk7RUFDSTtBOUVrNVhSOztBOEU5NFhBO0VBQ0k7RUFDQTtFQUNBO0E5RWk1WEo7O0E4RTk0WEE7RUFDSTtFQUNBO0VBQ0E7QTlFaTVYSjtBOEUvNFhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWk1WFI7O0E4RTc0WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCOUU5UFM7RThFK1BUO0VBQ0E7QTlFZzVYSjtBOEU5NFhJO0VBQ0k7QTlFZzVYUjtBOEU3NFhJO0VBQ0ksYzlFN1FBO0FBNHBZUjs7QThFejRYSTtFQUNJO0E5RTQ0WFI7QThFejRYSTtFQUNJO0VBQ0E7QTlFMjRYUjs7QThFdjRYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFMDRYSjtBOEV4NFhJO0VBQ0k7QTlFMDRYUjs7QThFcDRYQTtFQUNJO0VBQ0E7QTlFdTRYSjtBOEVyNFhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsYzlFOVNEO0U4RStTQztBOUV1NFhSO0E4RXI0WFE7RUFDSTtFQUNBLHlCOUV4VEo7RThFeVRJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUV1NFhaO0E4RXA0WFE7RUFDSSxjOUVqVUo7RThFa1VJO0E5RXM0WFo7QThFbjRYUTtFQUNJO0VBQ0EsYzlFdlVKO0FBNHNZUjtBOEVqNFhJO0VBQ0k7QTlFbTRYUjtBOEVqNFhRO0VBQ0k7RUFDQSx5QjlFalZKO0U4RWtWSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFbTRYWjs7QThFOTNYQTtFQUNJO0E5RWk0WEo7O0E4RTkzWEE7RUFDSTtFQUNBO0VBQ0E7QTlFaTRYSjs7QThFOTNYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RWk0WEo7O0E4RTkzWEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCOUVsWEk7QUFtdllSOztBOEU5M1hBO0VBQ0k7RUFDQTtBOUVpNFhKOztBOEU5M1hBO0VBQ0k7RUFDQTtBOUVpNFhKOztBOEU5M1hBO0VBQ0k7RUFDQTtBOUVpNFhKOztBOEU5M1hBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQjlFMVlZO0U4RTJZWjtFQUNBO0VBQ0E7QTlFaTRYSjtBOEUvM1hJO0VBQ0k7QTlFaTRYUjs7QThFNzNYQTtFQUNJLGM5RW5aSTtFOEVvWko7RUFDQTtBOUVnNFhKO0E4RTkzWEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUVnNFhSO0E4RTczWEk7RUFDSTtFQUNBO0VBQ0E7QTlFKzNYUjtBOEU3M1hRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUUrM1haO0E4RTMzWEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RTYzWFI7QThFMzNYUTtFQUNJO0E5RTYzWFo7QThFMzNYWTtFQUNJO0E5RTYzWGhCO0E4RTEzWFk7RUFDSSxjOUV6Y1I7RThFMGNRLHlCOUV6Y1I7RThFMGNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFNDNYaEI7QThFMTNYZ0I7RUFDSSx5QjlFNWNQO0FBdzBZYjtBOEV2M1hRO0VBQ0kseUI5RXZkSjtFOEV3ZEk7QTlFeTNYWjtBOEVwM1hRO0VBQ0k7QTlFczNYWjtBOEVuM1hRO0VBQ0k7RUFDQTtBOUVxM1haOztBOEU5MlhRO0VBQ0k7QTlFaTNYWjtBOEU3MlhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUI5RW5mQTtFOEVvZkE7RUFDQTtFQUNBO0E5RSsyWFI7QThFNzJYUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjlFM2ZKO0U4RTRmSTtBOUUrMlhaO0E4RTUyWFE7RUFDSTtFQUNBO0VBQ0E7QTlFODJYWjtBOEU1MlhZO0VBQ0k7RUFDQTtFQUNBO0E5RTgyWGhCO0E4RTUyWGdCO0VBQ0kseUI5RXhnQlA7QUFzM1liOztBOEV2MlhBO0VBQ0k7RUFDQTtBOUUwMlhKOztBOEV2MlhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlFMDJYSjs7QThFdjJYQTtFQUNJO0E5RTAyWEo7QThFeDJYSTtFQUNJLGM5RXJpQkE7QUErNFlSO0E4RXgyWFE7RUFDSTtBOUUwMlhaO0E4RXYyWFE7RUFDSTtBOUV5MlhaO0E4RXYyWFk7RUFDSTtBOUV5MlhoQjs7QThFbDJYQTtFQUNJO0lBQ0k7RTlFcTJYTjtBQUNGO0E4RWoyWEE7RUFDSTtJQUNJO0U5RW0yWE47QUFDRjtBOEVoMlhBO0VBQ0k7SUFDSTtFOUVrMlhOOztFOEUvMVhFO0lBQ0k7SUFDQTtFOUVrMlhOOztFOEUvMVhFO0lBQ0k7RTlFazJYTjs7RThFLzFYRTtJQUNJO0U5RWsyWE47O0U4RS8xWEU7SUFDSTtJQUNBO0U5RWsyWE47O0U4RS8xWEU7SUFDSTtFOUVrMlhOO0FBQ0Y7QThFLzFYQTtFQUNJO0lBQ0k7RTlFaTJYTjs7RThFOTFYRTtJQUNFO0U5RWkyWEo7O0U4RTkxWEU7SUFDSTtFOUVpMlhOOztFOEU5MVhFO0lBQ0k7RTlFaTJYTjs7RThFOTFYRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSx5QjlFcm5CQTtJOEVzbkJBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUVpMlhOO0U4RS8xWE07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFaTJYVjtFOEU3MVhNO0lBQ0k7RTlFKzFYVjs7RThFMzFYRTtJQUNJO0lBQ0E7RTlFODFYTjtFOEU1MVhNO0lBQ0k7SUFDQTtFOUU4MVhWO0U4RTMxWE07SUFDSTtJQUNBLGM5RTNwQko7RUF3L1lOOztFOEV6MVhFO0lBQ0k7RTlFNDFYTjtFOEUxMVhNO0lBQ0k7SUFDQTtJQUNBO0U5RTQxWFY7RThFMTFYVTtJQUNJO0U5RTQxWGQ7RThFejFYVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFMjFYZDtFOEV6MVhjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFMjFYbEI7O0U4RXIxWEU7SUFDSTtJQUNBO0lBQ0EseUI5RXBzQkE7SThFcXNCQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFdzFYTjtFOEV0MVhNO0lBQ0k7RTlFdzFYVjs7RThFcDFYRTtJQUNJO0lBQ0E7SUFDQTtJQUNBLHlCOUV6dEJBO0k4RTB0QkE7SUFDQTtJQUNBLGM5RTN0QkE7SThFNHRCQTtJQUNBO0lBQ0E7SUFDQTtFOUV1MVhOO0U4RXIxWE07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXUxWFY7RThFcjFYVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXUxWGQ7O0U4RWwxWEU7SUFDSTtJQUNBO0U5RXExWE47RThFbjFYTTtJQUNJO0lBQ0E7SUFDQTtFOUVxMVhWO0U4RW4xWFU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXExWGQ7O0U4RWgxWEU7SUFDSTtFOUVtMVhOOztFOEVoMVhFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQSxzQjlFeHhCUTtJOEV5eEJSO0lBQ0E7SUFDQTtFOUVtMVhOO0U4RWoxWE07SUFDSTtFOUVtMVhWOztFOEUvMFhFO0lBQ0k7SUFDQTtFOUVrMVhOO0U4RWgxWE07SUFDSTtJQUNBO0U5RWsxWFY7O0U4RTkwWEU7SUFDSTtJQUNBO0U5RWkxWE47O0U4RTkwWEU7SUFDSTtJQUNBO0U5RWkxWE47O0U4RTkwWEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFOUVpMVhOOztFOEU1MFhVO0lBQ0k7RTlFKzBYZDtBQUNGO0E4RTEwWEE7RUFDSTtJQUNJO0U5RTQwWE47QUFDRjtBOEV6MFhBO0VBRVE7SUFDSTtFOUUwMFhWOztFOEV0MFhFO0lBQ0k7RTlFeTBYTjs7RThFdDBYRTtJQUNJO0U5RXkwWE47RThFdjBYTTtJQUNJO0U5RXkwWFY7RThFcjBYTTtJQUNJO0lBQ0EseUI5RTUxQko7SThFNjFCSSxjOUVoMkJKO0k4RWkyQkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXUwWFY7RThFcjBYVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0U5RXUwWGQ7O0U4RWwwWEU7SUFDSTtFOUVxMFhOOztFOEVsMFhFO0lBQ0k7SUFDQTtJQUNBO0U5RXEwWE47O0U4RWwwWEU7SUFDSTtJQUNBO0lBQ0E7RTlFcTBYTjs7RThFbDBYRTtJQUNJO0lBQ0E7RTlFcTBYTjs7RThFbDBYRTtJQUNJO0U5RXEwWE47O0U4RWwwWEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXEwWE47RThFbjBYTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RXEwWFY7O0U4RWowWEU7SUFDSTtFOUVvMFhOOztFOEVqMFhFO0lBQ0k7SUFDQTtFOUVvMFhOOztFOEVqMFhFO0lBQ0k7RTlFbzBYTjs7RThFajBYRTtJQUNJO0U5RW8wWE47O0U4RWowWEU7SUFDSTtJQUNBO0lBQ0E7RTlFbzBYTjs7RThFajBYRTtJQUNJO0U5RW8wWE47QUFDRjtBOEVqMFhBO0VBQ0k7SUFDRTtFOUVtMFhKO0FBQ0Y7QStFcHdaQTtFQUNJO0VBQ0E7QS9Fc3daSjs7QStFbndaQTtFQUNJO0VBQ0EseUIvRUNTO0FBcXdaYjs7QStFbndaQTtFQUNJO0VBQ0E7RUFDQTtBL0Vzd1pKO0ErRXB3Wkk7RUFDSTtBL0Vzd1pSOztBK0Vsd1pBO0VBQ0k7RUFDQTtBL0Vxd1pKO0ErRW53Wkk7RUFDSTtFQUNBO0EvRXF3WlI7O0ErRWp3WkE7RUFDSTtBL0Vvd1pKOztBK0Vqd1pBO0VBQ0k7RUFDQTtFQUNBO0EvRW93Wko7O0ErRWp3WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Vvd1pKO0ErRWx3Wkk7RUFDSTtBL0Vvd1pSOztBK0Vod1pBO0VBQ0kseUIvRXJESTtFK0VzREo7RUFDQSxjL0V0REk7RStFdURKO0EvRW13Wko7QStFandaSTtFQUNJLGMvRTFEQTtBQTZ6WlI7O0ErRS92WkE7RUFDSTtFQUNBO0VBQ0E7QS9Fa3daSjs7QStFL3ZaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGMvRXhFSTtBQTAwWlI7QStFaHdaSTtFQUNJO0VBQ0EseUIvRXpFQTtFK0UwRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRWt3WlI7O0ErRTl2WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0Vpd1pKO0ErRS92Wkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5Qi9FN0ZBO0UrRThGQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRWl3WlI7QStFOXZaSTtFQUNJO0EvRWd3WlI7QStFN3ZaSTtFQUNJO0VBQ0E7QS9FK3ZaUjtBK0UzdlpRO0VBQ0k7QS9FNnZaWjtBK0UxdlpRO0VBQ0k7QS9FNHZaWjs7QStFdnZaQTtFQUNJLGMvRTFISTtFK0UySEo7RUFDQTtBL0UwdlpKOztBK0V2dlpBO0VBQ0k7QS9FMHZaSjs7QStFdnZaQTtFQUNJLGMvRXBJSTtFK0VxSUo7RUFDQTtFQUNBO0EvRTB2Wko7O0ErRXZ2WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0UwdlpKO0ErRXh2Wkk7RUFDSTtBL0UwdlpSO0ErRXh2WlE7RUFDSTtBL0UwdlpaO0ErRXJ2WlE7RUFDSTtBL0V1dlpaO0ErRXJ2Wlk7RUFDSTtFQUNBO0EvRXV2WmhCO0ErRXJ2WmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0V1dlpwQjtBK0VudlpZO0VBQ0ksYy9FaExSO0FBcTZaUjs7QStFOXVaSTtFQUNJO0EvRWl2WlI7QStFOXVaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvRWd2WlI7QStFOXVaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FZ3ZaWjtBK0U1dVpZO0VBQ0k7RUFDQTtFQUNBO0EvRTh1WmhCO0ErRTN1Wlk7RUFDSTtBL0U2dVpoQjtBK0V4dVpZO0VBQ0k7RUFDQTtFQUNBO0EvRTB1WmhCO0ErRXZ1Wlk7RUFDSTtBL0V5dVpoQjtBK0VwdVpZO0VBQ0k7RUFDQTtFQUNBO0EvRXN1WmhCO0ErRW51Wlk7RUFDSTtBL0VxdVpoQjtBK0VodVpZO0VBQ0k7RUFDQTtFQUNBO0EvRWt1WmhCO0ErRS90Wlk7RUFDSTtBL0VpdVpoQjtBK0U1dFpZO0VBQ0k7RUFDQTtFQUNBO0EvRTh0WmhCO0ErRTN0Wlk7RUFDSTtBL0U2dFpoQjs7QStFdHRaQTtFQUNJO0EvRXl0Wko7O0ErRXR0WkE7RUFDSTtBL0V5dFpKOztBK0V0dFpBO0VBQ0k7QS9FeXRaSjtBK0V2dFpJO0VBQ0k7QS9FeXRaUjs7QStFcnRaQTtFQUNJO0EvRXd0Wko7O0ErRXJ0WkE7RUFDSTtFQUNBO0VBQ0E7QS9Fd3RaSjs7QStFcnRaQTtFQUNJO0VBQ0E7RUFDQTtBL0V3dFpKO0ErRXR0Wkk7RUFDSTtBL0V3dFpSO0ErRW50WlE7RUFDSTtBL0VxdFpaO0ErRWx0WlE7RUFDSTtFQUNBO0tBQUE7RUFDQTtBL0VvdFpaOztBK0Uvc1pBO0VBQ0k7QS9Fa3RaSjs7QStFL3NaQTtFQUNJO0VBQ0E7RUFDQTtBL0VrdFpKOztBK0Uvc1pBO0VBQ0k7SUFDSTtFL0VrdFpOO0FBQ0Y7QStFL3NaQTtFQUNJO0lBQ0k7RS9FaXRaTjs7RStFOXNaRTtJQUNJO0UvRWl0Wk47O0UrRTlzWkU7SUFDSTtFL0VpdFpOOztFK0U5c1pFO0lBQ0k7RS9FaXRaTjs7RStFOXNaRTtJQUNJO0UvRWl0Wk47O0UrRTlzWkU7SUFDSTtJQUNBO0UvRWl0Wk47QUFDRjtBK0U5c1pBO0VBQ0k7SUFDSTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7SUFDQTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7RS9FZ3RaTjs7RStFN3NaRTtJQUNJO0UvRWd0Wk47O0UrRTdzWkU7SUFDSTtJQUNBO0UvRWd0Wk47O0UrRTdzWkU7SUFDSTtFL0VndFpOOztFK0U3c1pFO0lBQ0k7RS9FZ3RaTjs7RStFN3NaRTtJQUNJO0lBQ0E7SUFDQTtFL0VndFpOO0UrRTlzWk07SUFDSTtJQUNBO0UvRWd0WlY7QUFDRjtBK0U1c1pBO0VBQ0k7SUFDSTtFL0U4c1pOOztFK0Uzc1pFO0lBQ0k7RS9FOHNaTjs7RStFM3NaRTtJQUNJO0UvRThzWk47O0UrRTNzWkU7SUFDSTtFL0U4c1pOOztFK0Uzc1pFO0lBQ0k7RS9FOHNaTjs7RStFM3NaRTtJQUNJO0lBQ0E7RS9FOHNaTjtFK0U1c1pNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0U4c1pWO0UrRTNzWk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0U2c1pWO0UrRTFzWk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtFL0U0c1pWO0UrRTFzWlU7SUFDSTtFL0U0c1pkO0UrRXpzWlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRTJzWmQ7RStFdHNaVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0V3c1pkO0UrRXJzWlU7SUFDSTtFL0V1c1pkOztFK0Vsc1pFO0lBQ0k7SUFDQTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtJQUNBO0lBQ0E7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0lBQ0E7SUFDQTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtFL0Vxc1pOOztFK0Vsc1pFO0lBQ0k7RS9FcXNaTjs7RStFbHNaRTtJQUNJO0UvRXFzWk47O0UrRWxzWkU7SUFDSTtFL0Vxc1pOO0UrRW5zWk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRXFzWlY7O0UrRWhzWkU7SUFDSTtFL0Vtc1pOOztFK0UvclpFO0lBQ0k7SUFDQTtFL0Vrc1pOOztFK0UvclpFO0lBQ0k7RS9Fa3NaTjtBQUNGO0FnRnZ2YUE7RUFDSSx5QmhGQ0k7RWdGQUosY2hGQ0k7RWdGQUo7QWhGeXZhSjs7QWdGdHZhQTtFQUNJO0VBQ0E7RUFDQSxjaEZGRztFZ0ZHSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnl2YUo7QWdGdnZhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnl2YVI7QWdGdHZhSTtFQUNJO0VBQ0EseUJoRjVCQTtFZ0Y2QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBaEZ3dmFSO0FnRnJ2YUk7RUFDSSxjaEYxQ0E7QUFpeWFSO0FnRnJ2YVE7RUFDSTtBaEZ1dmFaOztBZ0ZsdmFBO0VBQ0ksY2hGcERJO0FBeXlhUjtBZ0ZudmFJO0VBQ0k7QWhGcXZhUjs7QWdGanZhQTtFQUNJO0VBQ0E7RUFDQTtBaEZvdmFKOztBZ0ZqdmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGb3ZhSjtBZ0ZsdmFJO0VBQ0k7QWhGb3ZhUjs7QWdGaHZhQTtFQUNJO0VBQ0E7QWhGbXZhSjs7QWdGaHZhQTtFQUNJO0VBQ0E7RUFDQTtBaEZtdmFKO0FnRmp2YUk7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7QWhGbXZhUjs7QWdGL3VhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZrdmFKOztBZ0YvdWFBO0VBQ0k7QWhGa3ZhSjtBZ0ZodmFJO0VBQ0k7RUFDQSx5QmhGdkdLO0VnRndHTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGa3ZhUjs7QWdGOXVhQTtFQUVJLGNoRnhISTtFZ0Z5SEo7RUFDQTtFQUNBO0VBQ0E7QWhGZ3ZhSjtBZ0Y5dWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRnRJQTtFZ0Z1SUE7QWhGZ3ZhUjtBZ0Y3dWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGM0lBO0VnRjRJQTtFQUNBO0VBQ0M7QWhGK3VhVDtBZ0Y1dWFJO0VBQ0k7RUFDQTtBaEY4dWFSOztBZ0YxdWFBO0VBQ0ksY2hGM0pJO0FBdzRhUjtBZ0YzdWFJO0VBQ0ksY2hGM0pBO0FBdzRhUjs7QWdGenVhQTtFQUNJLGNoRm5LSTtBQSs0YVI7O0FnRnp1YUE7RUFDSSxjaEZwS0k7RWdGcUtKO0FoRjR1YUo7O0FnRnp1YUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEY0dWFKO0FnRjF1YUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZuTEE7RWdGb0xBO0VBQ0E7QWhGNHVhUjs7QWdGeHVhQTtFQUNJO0FoRjJ1YUo7O0FnRnh1YUE7RUFDSTtBaEYydWFKOztBZ0Z4dWFBO0VBQ0ksY2hGbE1JO0VnRm1NSjtBaEYydWFKOztBZ0Z4dWFBO0VBQ0k7QWhGMnVhSjs7QWdGeHVhQTtFQUNFO0VBQ0E7QWhGMnVhRjs7QWdGeHVhQTtFQUNJO0FoRjJ1YUo7O0FnRnh1YUE7RUFDSTtFQUNBO0FoRjJ1YUo7QWdGenVhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEY5TkE7RWdGK05BO0FoRjJ1YVI7QWdGeHVhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEY3T0E7RWdGOE9BO0FoRjB1YVI7O0FnRnR1YUE7RUFDSTtFQUNBLHlCaEZoUEk7RWdGaVBKLGNoRnBQSTtBQTY5YVI7QWdGdnVhSTtFQUNJO0FoRnl1YVI7O0FnRnJ1YUE7RUFDSTtFQUNBO0VBQ0E7QWhGd3VhSjtBZ0Z0dWFJO0VBQ0ksY2hGalFBO0VnRmtRQTtBaEZ3dWFSOztBZ0ZwdWFBO0VBQ0k7RUFDQTtBaEZ1dWFKO0FnRnJ1YUk7RUFDSTtFQUNBO0FoRnV1YVI7QWdGcnVhUTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QWhGdXVhWjtBZ0ZudWFJO0VBQ0kseUJoRnZSQTtFZ0Z3UkE7RUFDQSxjaEYxUkE7RWdGMlJBO0FoRnF1YVI7QWdGbnVhUTtFQUNJO0FoRnF1YVo7O0FnRmh1YUE7RUFDSTtBaEZtdWFKOztBZ0Y5dGFJO0VBQ0k7QWhGaXVhUjs7QWdGN3RhQTtFQUNJO0VBQ0E7QWhGZ3VhSjtBZ0Y5dGFJO0VBQ0k7QWhGZ3VhUjs7QWdGNXRhQTtFQUNJO0FoRit0YUo7O0FnRjV0YUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTs7Ozs7Ozs7O0lBQUE7RUFXQTs7Ozs7Ozs7O0lBQUE7QWhGc3VhSjtBZ0YzdGFJO0VBQ0k7RUFDQTtBaEY2dGFSOztBZ0Z6dGFBO0VBQ0k7RUFDQSxjaEY3Vkk7RWdGOFZKO0VBQ0E7QWhGNHRhSjtBZ0YxdGFJO0VBQ0ksY2hGbFdBO0VnRm1XQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjR0YVI7QWdGenRhSTtFQUNJLHlCaEY1V0E7QUF1a2JSO0FnRnh0YUk7RUFDSSx5QmhGNVdBO0FBc2tiUjtBZ0Z2dGFJO0VBQ0k7RUFDQTtBaEZ5dGFSO0FnRnZ0YVE7RUFDSTtFQUNBO0VBQ0E7QWhGeXRhWjtBZ0ZydGFJO0VBQ0k7QWhGdXRhUjs7QWdGbHRhSTtFQUNJO0FoRnF0YVI7QWdGanRhUTtFQUNJO0VBQ0E7QWhGbXRhWjtBZ0ZodGFRO0VBQ0k7RUFDQTtBaEZrdGFaO0FnRjdzYVk7RUFDSTtFQUNBO0FoRitzYWhCO0FnRjNzYVE7RUFDSTtBaEY2c2FaOztBZ0Z2c2FJO0VBQ0k7RUFDQTtBaEYwc2FSOztBZ0Z0c2FBO0VBQ0kseUJoRm5hUztFZ0ZvYVQ7RUFDQTtFQUVBOzs7Ozs7Ozs7SUFBQTtBaEZpdGFKO0FnRnRzYUk7RUFDSTtFQUNBO0FoRndzYVI7O0FnRnBzYUE7RUFDSTtFQUNBO0FoRnVzYUo7O0FnRnBzYUE7RUFDSTtBaEZ1c2FKO0FnRnJzYUk7RUFDSTtFQUNBO0FoRnVzYVI7O0FnRm5zYUE7RUFFSTtBaEZxc2FKO0FnRm5zYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZxc2FSO0FnRm5zYVE7RUFDSTtFQUNBO0FoRnFzYVo7O0FnRmhzYUE7RUFDSTtBaEZtc2FKO0FnRmpzYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZoZUQ7RWdGaWVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGbXNhUjs7QWdGL3JhQTtFQUNJO0FoRmtzYUo7O0FnRi9yYUE7RUFDSTtFQUNBO0FoRmtzYUo7O0FnRi9yYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoRnZmRztBQXlyYlA7QWdGaHNhSTtFQUNJLGNoRi9mQTtFZ0ZnZ0JBO0FoRmtzYVI7O0FnRjlyYUE7RUFDSTtBaEZpc2FKOztBZ0Y5cmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGaXNhSjtBZ0YvcmFJO0VBQ0k7RUFDQSx5QmhGNWdCQTtFZ0Y2Z0JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmlzYVI7O0FnRjFyYVE7RUFDSSx5QmhGM2hCSjtBQXd0YlI7QWdGeHJhUTtFQUNJO0VBQ0E7QWhGMHJhWjtBZ0Z2cmFRO0VBQ0k7RUFDQTtFQUNBO0FoRnlyYVo7QWdGdnJhWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeXJhaEI7O0FnRmxyYUk7RUFDSTtBaEZxcmFSOztBZ0ZqcmFBO0VBQ0k7QWhGb3JhSjs7QWdGanJhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGb3JhSjtBZ0ZscmFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGb3JhUjs7QWdGaHJhQTtFQUNJO0FoRm1yYUo7QWdGanJhSTtFQUNJO0FoRm1yYVI7QWdGaHJhSTtFQUNJO0VBQ0E7RUFDQTtBaEZrcmFSO0FnRmhyYVE7RUFDSTtFQUNBO0FoRmtyYVo7QWdGaHJhWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZrcmFoQjs7QWdGNXFhQTtFQUNJO0VBQ0E7QWhGK3FhSjs7QWdGNXFhQTtFQUNJO0FoRitxYUo7QWdGN3FhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRitxYVI7QWdGN3FhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRitxYVo7QWdGM3FhWTtFQUNJO0FoRjZxYWhCO0FnRnpxYVE7RUFDSTtFQUNBO0FoRjJxYVo7O0FnRnRxYUE7RUFDSTtBaEZ5cWFKOztBZ0Z0cWFBO0VBQ0k7QWhGeXFhSjs7QWdGdHFhQTtFQUNJO0FoRnlxYUo7O0FnRnRxYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeXFhSjtBZ0Z2cWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnlxYVI7O0FnRnJxYUE7RUFDSTtBaEZ3cWFKOztBZ0ZycWFBO0VBQ0k7RUFDQTtBaEZ3cWFKOztBZ0ZycWFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEY1c0JJO0VnRjZzQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1cWFKOztBZ0ZwcWFBO0VBRUk7RUFDQTtFQUNBO0FoRnNxYUo7O0FnRm5xYUE7RUFFSTtBaEZxcWFKOztBZ0ZscWFBO0VBQ0k7QWhGcXFhSjtBZ0ZucWFJO0VBQ0k7QWhGcXFhUjtBZ0ZscWFJO0VBQ0k7QWhGb3FhUjs7QWdGaHFhQTtFQUNJO0VBQ0E7RUFDQTtBaEZtcWFKO0FnRmpxYUk7RUFDSTtBaEZtcWFSO0FnRmhxYUk7RUFDSTtFQUNBO0FoRmtxYVI7O0FnRjlwYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZpcWFKOztBZ0Y5cGFBO0VBQ0k7RUFDQTtBaEZpcWFKO0FnRi9wYUk7RUFDSTtBaEZpcWFSOztBZ0Y1cGFJO0VBQ0k7RUFDQTtBaEYrcGFSO0FnRjVwYUk7RUFDSTtFQUNBO0FoRjhwYVI7QWdGNXBhUTtFQUNJO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QWhGOHBhWjtBZ0Z6cGFRO0VBQ0k7QWhGMnBhWjs7QWdGdHBhQTtFQUNJLHlCaEZ6eUJTO0VnRjB5QlQ7QWhGeXBhSjtBZ0Z2cGFJO0VBQ0k7RUFDQTtBaEZ5cGFSO0FnRnRwYUk7RUFDSSxjaEZuekJEO0FBMjhiUDs7QWdGcHBhQTtFQUNJO0VBQ0E7QWhGdXBhSjs7QWdGbnBhSTtFQUNJO0VBQ0E7QWhGc3BhUjs7QWdGbHBhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjUwQkk7RWdGNjBCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGcXBhSjtBZ0ZucGFJO0VBQ0k7RUFDQTtFQUNBO0FoRnFwYVI7O0FnRmpwYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRm9wYUo7QWdGbHBhSTtFQUNJO0FoRm9wYVI7QWdGanBhSTtFQUNJO0FoRm1wYVI7O0FnRi9vYUE7RUFDSTtBaEZrcGFKO0FnRmhwYUk7RUFDSTtFQUNBO0VBQ0E7S0FBQTtBaEZrcGFSOztBZ0Y5b2FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGaXBhSjtBZ0Yvb2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZpcGFSOztBZ0Y3b2FBO0VBQ0k7RUFDQTtFQUNBO0FoRmdwYUo7QWdGOW9hSTtFQUNJO0VBQ0E7RUFDQTtBaEZncGFSOztBZ0Y1b2FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQmhGMTVCWTtFZ0YyNUJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGK29hSjtBZ0Y3b2FJO0VBQ0k7RUFDQTtFQUNBO0FoRitvYVI7O0FnRjFvYUE7RUFDSSxjaEZ4NkJJO0VnRnk2Qko7QWhGNm9hSjs7QWdGdG9hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hGeDdCSTtBQWlrY1I7QWdGdm9hSTtFQUNJLHlCaEZyN0JJO0VnRnM3QkosY2hGNTdCQTtBQXFrY1I7O0FnRnJvYUE7RUFDSTtFQUNBO0FoRndvYUo7O0FnRnJvYUE7RUFDSSx5QmhGajhCUztFZ0ZrOEJUO0VBQ0E7QWhGd29hSjs7QWdGcm9hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCaEY3OEJLO0VnRjg4QkwsY2hGaDlCSTtFZ0ZpOUJKO0VBQ0E7RUFDQTtBaEZ3b2FKOztBZ0Zwb2FJO0VBQ0k7QWhGdW9hUjs7QWdGbG9hSTtFQUNJO0VBQ0E7RUFDQTtBaEZxb2FSOztBZ0Zob2FJO0VBQ0kseUJoRnQrQkE7RWdGdStCQTtBaEZtb2FSOztBZ0YvbmFBO0VBQ0kseUJoRjUrQkk7QUE4bWNSOztBZ0YvbmFBO0VBQ0kseUJoRjcrQkk7RWdGOCtCSjtFQUNBO0FoRmtvYUo7QWdGaG9hSTtFQUNJO0VBQ0EseUJoRnYvQkE7RWdGdy9CQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGa29hUjs7QWdGOW5hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRmlvYUo7QWdGL25hSTtFQUNJO0VBQ0EseUJoRnhnQ0E7RWdGeWdDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGaW9hUjs7QWdGN25hQTtFQUNJO0VBQ0E7RUFDQSxjaEZyaENJO0VnRnNoQ0o7RUFDQTtFQUNBO0FoRmdvYUo7QWdGOW5hSTtFQUNJLGNoRnhoQ0E7QUF3cGNSO0FnRjduYUk7RUFDSSxjaEYvaENBO0FBOHBjUjs7QWdGM25hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjhuYUo7O0FnRjFuYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGNm5hUjs7QWdGem5hQTtFQUNJO0VBQ0E7QWhGNG5hSjs7QWdGem5hQTtFQUNJO0FoRjRuYUo7QWdGMW5hSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCaEYvakNLO0VnRmdrQ0w7RUFDQTtFQUNBO0VBQ0E7QWhGNG5hUjs7QWdGeG5hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGMm5hSjs7QWdGeG5hQTtFQUNJO0VBQ0E7RUFDQTtBaEYybmFKOztBZ0Z4bmFBO0VBQ0k7RUFDQTtFQUNBLHlCaEY3bENJO0VnRjhsQ0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYybmFKO0FnRnpuYUk7RUFDSSxjaEZsbUNBO0FBNnRjUjtBZ0Z4bmFJO0VBQ0ksY2hGdG1DQTtFZ0Z1bUNBO0FoRjBuYVI7O0FnRnRuYUE7RUFDSTtBaEZ5bmFKOztBZ0Z0bmFBO0VBQ0kseUJoRnBuQ0k7RWdGcW5DSjtFQUNBO0VBQ0EsY2hGdG5DSTtFZ0Z3bkNKOzs7Ozs7Ozs7O0lBQUE7QWhGa29hSjtBZ0Z0bmFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGd25hUjtBZ0ZybmFJO0VBQ0k7RUFDQTtBaEZ1bmFSO0FnRnBuYUk7RUFDSSxjaEZqcENBO0FBdXdjUjtBZ0ZubmFJO0VBQ0ksY2hGeHBDQTtBQTZ3Y1I7O0FnRmpuYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZvbmFKO0FnRmxuYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZwcUNBO0VnRnFxQ0E7RUFDQTtBaEZvbmFSOztBZ0ZobmFBO0VBQ0kseUJoRi9xQ0k7RWdGZ3JDSjtFQUNBO0VBQ0E7RUFDQTtBaEZtbmFKO0FnRmpuYUk7RUFDSTtBaEZtbmFSO0FnRmhuYUk7RUFDSTtBaEZrbmFSO0FnRi9tYUk7RUFDSTtFQUNBO0FoRmluYVI7QWdGOW1hSTtFQUNJO0VBQ0EsY2hGbnNDQTtFZ0Zvc0NBO0VBQ0E7QWhGZ25hUjtBZ0Y5bWFRO0VBQ0ksY2hGeHNDSjtBQXd6Y1I7QWdGN21hUTtFQUNJO0VBQ0E7RUFDQTtBaEYrbWFaO0FnRjdtYVk7RUFDSTtFQUNBO0FoRittYWhCO0FnRjdtYWdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRittYXBCOztBZ0Z4bWFBO0VBQ007RUFDQTtFQUNBO0VBQ0E7QWhGMm1hTjs7QWdGeG1hQTtFQUNJLHlCaEZ2dUNTO0VnRnd1Q1QsY2hGOXVDSTtBQXkxY1I7QWdGem1hSTtFQUNJLGNoRmp2Q0E7QUE0MWNSO0FnRnhtYUk7RUFDSTtBaEYwbWFSOztBZ0Z0bWFBO0VBQ0kseUJoRjF2Q0k7RWdGMnZDSixjaEYxdkNJO0VnRjJ2Q0o7QWhGeW1hSjtBZ0Z2bWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnltYVI7QWdGdG1hSTtFQUNJO0VBQ0E7QWhGd21hUjtBZ0ZybWFJO0VBQ0ksY2hGL3dDQTtBQXMzY1I7O0FnRm5tYUE7RUFDSSxjaEZyeENJO0VnRnN4Q0o7QWhGc21hSjs7QWdGbm1hQTtFQUNJLHlCaEZweENTO0VnRnF4Q1Q7RUFDQTtBaEZzbWFKOztBZ0ZubWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjaEZ2eUNJO0FBNjRjUjtBZ0ZwbWFJO0VBQ0k7QWhGc21hUjtBZ0ZubWFJO0VBQ0k7QWhGcW1hUjtBZ0Y3bGFBO0VBQ0k7RUFDQTtFQUNBLGNoRnJ6Q0k7QUFvNWNSOztBZ0Y1bGFBO0VBQ0k7QWhGK2xhSjs7QWdGNWxhQTtFQUNJO0FoRitsYUo7O0FnRjVsYUE7RUFDSTtBaEYrbGFKOztBZ0Y1bGFBO0VBQ0kseUJoRngwQ0k7RWdGeTBDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYrbGFKOztBZ0Y1bGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYrbGFKO0FnRjdsYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGK2xhUjs7QWdGM2xhQTtFQUNJO0VBQ0E7QWhGOGxhSjs7QWdGM2xhQTtFQUNJLHlCaEZ2MkNTO0VnRncyQ1Q7QWhGOGxhSjs7QWdGM2xhQTtFQUNJO0FoRjhsYUo7O0FnRjNsYUE7RUFDSTtFQUNBO0FoRjhsYUo7QWdGNWxhSTtFQUNJO0VBQ0E7RUFDQTtBaEY4bGFSOztBZ0Z4bGFJO0VBQ0k7QWhGMmxhUjtBZ0Z4bGFJO0VBQ0k7RUFDQSx5QmhGcDRDQTtBQTg5Y1I7O0FnRnRsYUE7RUFDSTtBaEZ5bGFKO0FnRnRsYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRndsYVI7O0FnRnBsYUE7RUFDSTtFQUNBO0VBQ0E7QWhGdWxhSjtBZ0ZybGFJO0VBQ0ksY2hGbDZDQTtFZ0ZtNkNBO0VBQ0E7RUFDQTtFQUNBO0FoRnVsYVI7QWdGcmxhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1bGFaO0FnRnBsYVE7RUFDSTtBaEZzbGFaO0FnRm5sYVE7RUFDSTtFQUNBO0FoRnFsYVo7QWdGamxhWTtFQUNJO0FoRm1sYWhCO0FnRmhsYVk7RUFDSTtBaEZrbGFoQjtBZ0Y5a2FRO0VBQ0k7RUFDQSxjaEZyOENKO0FBcWhkUjs7QWdGM2thQTtFQUNJO0FoRjhrYUo7QWdGM2thSTtFQUNJO0FoRjZrYVI7QWdGMWthSTtFQUNJO0VBQ0E7QWhGNGthUjtBZ0Yxa2FRO0VBQ0ksY2hGdjlDSjtBQW1pZFI7QWdGeGthSTtFQUNJO0FoRjBrYVI7O0FnRnRrYUE7RUFDSTtFQUNBO0VBQ0E7QWhGeWthSjtBZ0Z2a2FJO0VBQ0k7RUFDQTtFQUNBO0FoRnlrYVI7QWdGdGthSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRndrYVI7QWdGcmthSTtFQUNJO0FoRnVrYVI7O0FnRm5rYUE7RUFDSTtBaEZza2FKO0FnRnBrYUk7RUFDSTtFQUNBO0FoRnNrYVI7QWdGbmthSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZxa2FSO0FnRm5rYVE7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QmhGMWdETDtFZ0YyZ0RLO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGcWthWjtBZ0Zsa2FRO0VBQ0k7QWhGb2thWjtBZ0Zqa2FRO0VBQ0k7RUFDQTtBaEZta2FaO0FnRi9qYVk7RUFDSTtBaEZpa2FoQjtBZ0Y5amFZO0VBQ0k7QWhGZ2thaEI7O0FnRnhqYUE7RUFDSTtFQUNBLHlCaEYxaURTO0VnRjJpRFQ7QWhGMmphSjs7QWdGeGphQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYyamFKOztBZ0Z4amFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGMmphSjtBZ0Z6amFJO0VBQ0k7RUFDQSx5QmhGMWtEQTtFZ0Yya0RBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYyamFSO0FnRnhqYUk7RUFDSTtBaEYwamFSOztBZ0Z0amFBO0VBQ0k7QWhGeWphSjs7QWdGdGphQTtFQUNJO0VBQ0E7RUFDQTtBaEZ5amFKO0FnRnZqYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0FoRnlqYVI7O0FnRnJqYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZ3amFKOztBZ0ZwamFJO0VBQ0k7RUFDQTtBaEZ1amFSO0FnRnJqYVE7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0FoRnVqYVo7QWdGamphUTtFQUNJO0FoRm1qYVo7O0FnRjdpYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZnamFKOztBZ0Y3aWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmdqYUo7O0FnRjVpYUE7RUFDSTtFQUNBO0FoRitpYUo7QWdGN2lhSTtFQUNJO0FoRitpYVI7O0FnRjNpYUE7RUFDSTtFQUNBO0VBQ0EsY2hGL3BERztBQTZzZFA7O0FnRjNpYUE7RUFDSTtBaEY4aWFKOztBZ0YzaWFBO0VBQ0k7RUFDQSx5QmhGdnFEUztBQXF0ZGI7O0FnRjNpYUE7RUFDSSx5QmhGanJESTtFZ0ZrckRKO0VBQ0EsY2hGbHJESTtFZ0ZtckRKO0VBQ0E7QWhGOGlhSjtBZ0Y1aWFJO0VBQ0k7QWhGOGlhUjtBZ0YzaWFJO0VBQ0ksY2hGM3JEQTtFZ0Y0ckRBO0VBQ0E7RUFDQTtFQUNBO0FoRjZpYVI7QWdGMWlhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjRpYVI7QWdGMWlhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEY0aWFaO0FnRnppYVE7RUFDSTtBaEYyaWFaO0FnRnZpYUk7RUFDSTtFQUNBO0VBQ0E7QWhGeWlhUjtBZ0Z2aWFRO0VBQ0k7QWhGeWlhWjtBZ0ZyaWFJO0VBQ0k7QWhGdWlhUjtBZ0ZyaWFRO0VBQ0k7RUFDQTtFQUNBO0tBQUE7RUFDQTtBaEZ1aWFaOztBZ0ZsaWFBO0VBQ0kseUJoRmh2REk7RWdGaXZESjtBaEZxaWFKO0FnRm5pYUk7RUFDSTtBaEZxaWFSO0FnRm5pYVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZxaWFaO0FnRmppYUk7RUFDSSxjaEYzdkREO0VnRjR2REM7RUFDQTtFQUNBO0VBQ0E7QWhGbWlhUjtBZ0ZoaWFJO0VBQ0k7QWhGa2lhUjs7QWdGOWhhQTtFQUNJO0FoRmlpYUo7QWdGL2hhSTtFQUNJO0VBQ0E7QWhGaWlhUjtBZ0Y5aGFJO0VBQ0k7RUFDQTtFQUNBO0FoRmdpYVI7QWdGOWhhUTtFQUNJO0VBQ0E7RUFDQTtBaEZnaWFaOztBZ0YzaGFBOzs7RUFHSTtBaEY4aGFKOztBZ0YzaGFBOzs7RUFHSTtFQUNBO0VBQ0E7QWhGOGhhSjs7QWdGM2hhQTs7O0VBR0k7RUFDQTtFQUNBO0FoRjhoYUo7O0FnRjNoYUE7RUFDSTtBaEY4aGFKOztBZ0YzaGFBO0VBQ0k7QWhGOGhhSjtBZ0Y1aGFJO0VBQ0k7RUFDQTtBaEY4aGFSOztBZ0YxaGFBO0VBQ0ksY2hGaDBERztBQTYxZFA7O0FnRjFoYUE7RUFDSTtBaEY2aGFKOztBZ0Z4aGFBO0VBQ0k7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0FoRjJoYUo7O0FnRnhoYUE7RUFDSTtFQUNBO0VBQ0E7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjJoYUo7O0FnRnhoYUE7RUFDSTtFQUNBO0VBQ0E7QWhGMmhhSjs7QWdGeGhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjJoYUo7O0FnRnhoYUE7RUFDSSx5QmhGajNESTtFZ0ZrM0RKLGNoRmozREk7RWdGazNESjtFQUNBO0FoRjJoYUo7O0FnRnZoYUE7RUFDSTtFQUNBO0FoRjBoYUo7O0FnRnZoYUE7RUFDSTtFQUNBO0VBQ0E7QWhGMGhhSjs7QWdGdmhhQTtFQUNJLGNoRm40REk7RWdGbzRESjtBaEYwaGFKOztBZ0Z2aGFBO0VBQ0k7QWhGMGhhSjs7QWdGdmhhQTs7RUFFSTtBaEYwaGFKOztBZ0Z2aGFBO0VBQ0k7QWhGMGhhSjs7QWdGdmhhQTs7RUFFSTtBaEYwaGFKOztBZ0Z2aGFBO0VBQ0kseUJoRjE1REk7QUFvN2RSOztBZ0Z2aGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGbDZESTtFZ0ZtNkRKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGMGhhSjtBZ0Z4aGFJO0VBQ0k7RUFDQTtFQUNBO0FoRjBoYVI7O0FnRnRoYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnloYUo7QWdGdmhhSTtFQUNJO0FoRnloYVI7QWdGdGhhSTtFQUNJO0FoRndoYVI7O0FnRnBoYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCaEYxOERZO0VnRjI4RFo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1aGFKO0FnRnJoYUk7RUFDSTtFQUNBO0VBQ0E7QWhGdWhhUjs7QWdGbGhhSTtFQUNJO0VBQ0E7RUFDQSxjaEYxOURBO0FBKytkUjtBZ0ZuaGFRO0VBQ0k7QWhGcWhhWjtBZ0ZqaGFJO0VBQ0k7RUFDQTtFQUNBO0FoRm1oYVI7QWdGamhhUTtFQUNJO0VBQ0E7QWhGbWhhWjtBZ0ZoaGFRO0VBQ0ksY2hGNytESjtBQSsvZFI7QWdGOWdhSTtFQUNJLGNoRmovREE7QUFpZ2VSO0FnRjdnYUk7RUFDSTtFQUNBO0FoRitnYVI7QWdGNWdhSTtFQUNJO0FoRjhnYVI7QWdGM2dhSTtFQUNJLGNoRjkvREE7RWdGKy9EQTtFQUNBO0VBQ0E7QWhGNmdhUjs7QWdGemdhQTtFQUNJLHlCaEZuZ0VJO0VnRm9nRUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hGaGhFSTtFZ0ZpaEVKO0VBQ0E7RUFDQTtFQUNBO0FoRjRnYUo7QWdGMWdhSTtFQUNJLHlCaEZ4aEVBO0FBb2llUjtBZ0Z6Z2FJO0VBQ0ksY2hGM2hFQTtFZ0Y0aEVBO0FoRjJnYVI7O0FnRnZnYUE7RUFDSTtFQUNBLHlCaEYvaEVJO0FBeWllUjtBZ0Z4Z2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjaEZ6aUVBO0FBbWplUjtBZ0Z4Z2FRO0VBQ0ksY2hGNWlFSjtBQXNqZVI7QWdGdmdhUTtFQUNJLGNoRmpqRUo7QUEwamVSO0FnRnJnYUk7RUFDSTtBaEZ1Z2FSOztBZ0ZuZ2FBO0VBQ0k7RUFFQTtFQUNBO0FoRnFnYUo7QWdGbmdhSTtFQUNJO0FoRnFnYVI7QWdGbGdhSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCaEZ4a0VBO0VnRnlrRUE7RUFDQTtFQUNBO0VBQ0E7QWhGb2dhUjtBZ0ZqZ2FJO0VBQ0k7RUFDQTtFQUNBO0FoRm1nYVI7QWdGamdhUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGbWdhWjtBZ0YvL1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGaWdhUjtBZ0YvL1pRO0VBQ0k7RUFDQSx5QmhGMW1FSjtFZ0YybUVJO0VBQ0EsY2hGN21FSjtFZ0Y4bUVJO0FoRmlnYVo7QWdGLy9aWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRmpuRVI7RWdGa25FUSxjaEZybkVSO0VnRnNuRVE7RUFDQTtFQUNBO0VBQ0E7QWhGaWdhaEI7QWdGLy9aZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEZpZ2FwQjtBZ0Y3L1pZO0VBQ0k7QWhGKy9aaEI7QWdGNS9aWTtFQUNJO0VBQ0E7QWhGOC9aaEI7QWdGMS9aUTtFQUNJO0VBQ0E7QWhGNC9aWjtBZ0Z6L1pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYyL1paO0FnRnovWlk7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0FoRjIvWmhCO0FnRnQvWlk7RUFDSTtBaEZ3L1poQjs7QWdGbC9aQTtFQUNJO0FoRnEvWko7QWdGbi9aSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRnEvWlI7QWdGai9aUTtFQUNJO0FoRm0vWlo7QWdGaC9aUTtFQUNJO0FoRmsvWlo7QWdGLytaUTtFQUNJO0VBQ0EseUJoRi9yRUo7QUFncmVSO0FnRjkrWlE7RUFDSSx5QmhGbnNFSjtBQW1yZVI7O0FnRjMrWkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjlzRUk7RWdGK3NFSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjYrWko7QWdGMytaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjYrWlI7O0FnRnorWkE7RUFFSTtFQUNBO0VBQ0E7QWhGMitaSjs7QWdGeCtaQTtFQUVJO0FoRjArWko7O0FnRnYrWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGMCtaSjs7QWdGditaQTtFQUNJLHlCaEYxdkVTO0VnRjJ2RVQ7RUFDQTtFQUNBO0VBQ0E7QWhGMCtaSjtBZ0Z4K1pJO0VBQ0k7QWhGMCtaUjtBZ0Z2K1pJO0VBQ0k7RUFDQTtFQUNBO0FoRnkrWlI7QWdGdCtaSTtFQUNJO0FoRncrWlI7QWdGcitaSTtFQUNJO0VBQ0E7QWhGdStaUjtBZ0ZwK1pJO0VBQ0k7QWhGcytaUjtBZ0ZwK1pRO0VBQ0k7QWhGcytaWjtBZ0ZuK1pRO0VBQ0k7QWhGcStaWjtBZ0ZoK1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJoRnR5RUE7RWdGdXlFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGaytaUjtBZ0ZoK1pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmsrWlo7QWdGLzlaUTtFQUNJLHlCaEZsMEVKO0FBbXllUjs7QWdGNTlaQTtFQUNJLGtDSjEwRVc7RUkyMEVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRis5Wko7QWdGNzlaSTtFQUNJO0FoRis5WlI7QWdGNTlaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGODlaUjs7QWdGMTlaQTtFQUNJO0FoRjY5Wko7QWdGMzlaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoRjY5WlI7QWdGMzlaUTtFQUNJO0FoRjY5Wlo7QWdGejlaSTtFQUNJO0VBQ0E7QWhGMjlaUjtBZ0Z4OVpJO0VBQ0k7QWhGMDlaUjs7QWdGdDlaQTtFQUNJLGNoRnozRUk7RWdGMDNFSjtFQUNBO0VBQ0E7QWhGeTlaSjtBZ0Z2OVpJO0VBQ0k7RUFDQTtBaEZ5OVpSO0FnRnQ5Wkk7RUFDSSx5QmhGcjRFQTtBQTYxZVI7QWdGcjlaSTtFQUNJLGNoRno0RUE7QUFnMmVSO0FnRnI5WlE7RUFDSTtBaEZ1OVpaO0FnRnA5WlE7RUFDSSx5QmhGLzRFSjtBQXEyZVI7O0FnRmo5WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGMzVFSTtFZ0Y0NUVKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRm85Wko7QWdGbDlaSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGbzlaUjtBZ0ZqOVpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZtOVpSO0FnRmo5WlE7RUFDSTtBaEZtOVpaO0FnRi84Wlk7RUFDSTtBaEZpOVpoQjtBZ0YzOFpJO0VBQ0k7RUFDQTtFQUNBO0FoRjY4WlI7QWdGMzhaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoRjU4RUo7RWdGNjhFSTtFQUNBO0VBQ0E7QWhGNjhaWjtBZ0YxOFpRO0VBQ0k7QWhGNDhaWjtBZ0Z2OFpJO0VBQ0k7QWhGeThaUjs7QWdGcjhaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnc4Wko7QWdGdDhaSTtFQUNJO0VBQ0E7QWhGdzhaUjs7QWdGcDhaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGdThaSjs7QWdGcDhaQTtFQUNJO0FoRnU4Wko7QWdGcjhaSTtFQUNJO0FoRnU4WlI7QWdGbjhaSTtFQUNJO0FoRnE4WlI7QWdGbjhaUTtFQUNJO0VBQ0E7QWhGcThaWjtBZ0ZqOFpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGbThaUjtBZ0ZqOFpRO0VBQ0k7QWhGbThaWjtBZ0YvN1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGOWhGQTtFZ0YraEZBLGNoRmhpRkE7RWdGaWlGQTtBaEZpOFpSO0FnRi83WlE7RUFDSTtFQUNBLHlCaEZqaUZKO0VnRmtpRkksY2hGcmlGSjtFZ0ZzaUZJO0FoRmk4Wlo7QWdGOTdaUTtFQUNJO0FoRmc4Wlo7QWdGNzdaUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmhGdGpGSjtBQXEvZVI7QWdGNzdaWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRis3WmhCOztBZ0Z6N1pBO0VBQ0k7QWhGNDdaSjtBZ0YxN1pJO0VBQ0k7RUFDQTtBaEY0N1pSO0FnRno3Wkk7RUFDSTtBaEYyN1pSOztBZ0Z2N1pBO0VBQ0k7RUFDQTtBaEYwN1pKO0FnRng3Wkk7RUFDSTtBaEYwN1pSOztBZ0Z0N1pBO0VBQ0k7QWhGeTdaSjs7QWdGdDdaQTtFQUNJO0VBQ0E7QWhGeTdaSjtBZ0Z2N1pJO0VBQ0ksa0NKdm1GTztFSXdtRlA7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoRjFtRkE7RWdGMm1GQTtFQUNBLHlCaEYxbUZDO0VnRjJtRkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGeTdaUjtBZ0Z0N1pJO0VBQ0k7QWhGdzdaUjs7QWdGcDdaQTtFQUNJO0VBQ0EseUJoRjduRkk7QUFvamZSO0FnRnA3WlE7RUFDSTtFQUNBLHlCaEY3bkZDO0FBbWpmYjtBZ0ZuN1pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY2hGMW9GSjtFZ0Yyb0ZJO0FoRnE3Wlo7O0FnRmg3WkE7RUFDSTtFQUNBO0VBQ0E7QWhGbTdaSjtBZ0ZqN1pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGbTdaUjtBZ0ZqN1pRO0VBQ0k7RUFDQSx5QmhGNXBGSjtBQStrZlI7O0FpRmxsZkE7RUFDSTtFQUNBO0FqRnFsZko7O0FpRmxsZkE7RUFDSTtFQUNBO0FqRnFsZko7O0FpRmxsZkE7RUFDSTtJQUNJO0lBQ0E7RWpGcWxmTjtFaUZsbGZFO0lBQ0k7SUFDQTtFakZvbGZOO0FBQ0Y7O0FpRjdsZkE7RUFDSTtJQUNJO0lBQ0E7RWpGcWxmTjtFaUZsbGZFO0lBQ0k7SUFDQTtFakZvbGZOO0FBQ0Y7QWlGamxmQTtFQUNJO0VBQ0E7QWpGbWxmSjs7QWlGaGxmQTtFQUNJO0lBQ0k7SUFDQTtFakZtbGZOO0VpRmhsZkU7SUFDSTtJQUNBO0VqRmtsZk47QUFDRjs7QWlGM2xmQTtFQUNJO0lBQ0k7SUFDQTtFakZtbGZOO0VpRmhsZkU7SUFDSTtJQUNBO0VqRmtsZk47QUFDRjtBaUYva2ZBO0VBQ0k7SUFDSTtJQUNBO0VqRmlsZk47RWlGOWtmRTtJQUNJO0VqRmdsZk47RWlGN2tmRTtJQUNJO0lBQ0E7RWpGK2tmTjtBQUNGO0FpRjVsZkE7RUFDSTtJQUNJO0lBQ0E7RWpGaWxmTjtFaUY5a2ZFO0lBQ0k7RWpGZ2xmTjtFaUY3a2ZFO0lBQ0k7SUFDQTtFakYra2ZOO0FBQ0Y7QWlGNWtmQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCakZyREk7RWlGc0RKO0FqRjhrZko7O0FpRjNrZkE7RUFDSTtBakY4a2ZKOztBaUYza2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpGOGtmSjtBaUY1a2ZJO0VBQ0k7RUFDQTtBakY4a2ZSOztBaUYxa2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpGNmtmSjtBaUYza2ZJO0VBQ0k7RUFDQTtBakY2a2ZSOztBaUZ4a2ZBO0VBQ0k7RUFDQTtFQUNBO0FqRjJrZko7O0FpRnhrZkE7RUFDSTtVQUFBO0FqRjJrZko7O0FpRnhrZkE7RUFDRTtJQUNFO0VqRjJrZkY7QUFDRjs7QWlGOWtmQTtFQUNFO0lBQ0U7RWpGMmtmRjtBQUNGO0FrRnByZkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRnNyZko7O0FrRm5yZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRnNyZko7O0FrRm5yZkE7RUFDSTtBbEZzcmZKOztBa0ZucmZBO0VBQ0k7QWxGc3JmSjs7QW1GcHRmQTtFQUNJLGtDUERXO0VPRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNuRkpJO0VtRktKO0VBQ0EseUJuRkpLO0VtRktMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GdXRmSjtBbUZydGZJO0VBQ0k7RUFDQSxtQm5GWkE7RW1GYUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkZ1dGZSO0FtRnB0Zkk7RUFDSTtFQUNBO0VBQ0E7QW5Gc3RmUjtBbUZudGZJO0VBQ0k7RUFDQTtBbkZxdGZSO0FtRmx0Zkk7RUFDSTtFQUNBO0VBQ0E7QW5Gb3RmUjtBbUZqdGZJO0VBQ0k7QW5GbXRmUjtBbUYvc2ZRO0VBQ0k7RUFDQTtBbkZpdGZaO0FtRjlzZlE7RUFDSTtVQUFBO0FuRmd0Zlo7QW1GN3NmUTtFQUNJO0VBQ0E7QW5GK3NmWjtBbUYzc2ZJO0VBQ0k7RUFDQTtBbkY2c2ZSO0FtRjNzZlE7RUFDSTtBbkY2c2ZaO0FtRjFzZlE7RUFDSSx5Qm5GckVKO0VtRnNFSSxjbkZ2RUo7QUFteGZSO0FtRjFzZlk7RUFDSSxjbkZ6RVI7QUFxeGZSO0FtRnhzZlE7RUFDSTtFQUNBLGNuRmhGSjtBQTB4ZlI7QW1GeHNmWTtFQUNJLGNuRmxGUjtBQTR4ZlI7QW1GbnNmUTtFQUNJO0VBQ0E7QW5GcXNmWjtBbUZuc2ZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRnFzZmhCO0FtRmhzZkk7RUFDSSx5Qm5GekdBO0FBMnlmUjtBbUZoc2ZRO0VBQ0ksbUJuRjdHSDtBQSt5ZlQ7QW1GOXJmSTtFQUNJLHlCbkZySEE7QUFxemZSO0FtRjlyZlE7RUFDSSxtQm5GckhIO0FBcXpmVDs7QW1GM3JmQTtFQUNJLGtDUGhJVztFT2lJWDtFQUNBO0VBQ0E7RUFDQTtBbkY4cmZKO0FtRjVyZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5Qm5GcElBO0VtRnFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRjhyZlI7QW1GM3JmSTtFQUNJO0FuRjZyZlI7QW1GMXJmSTtFQUNJO0VBQ0E7QW5GNHJmUjtBbUZ6cmZJO0VBQ0k7RUFDQTtBbkYycmZSO0FtRnpyZlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GMnJmWjtBbUZ0cmZRO0VBQ0k7QW5Gd3JmWjtBbUZycmZRO0VBQ0k7QW5GdXJmWjtBbUZucmZJO0VBQ0ksY25GckxBO0FBMDJmUjtBbUZucmZRO0VBQ0kseUJuRnhMSjtBQTYyZlI7QW1GbHJmUTtFQUNJO0FuRm9yZlo7O0FtRjlxZkE7RUFDSTtJQUNJO0VuRmlyZk47QUFDRjs7QW1GcHJmQTtFQUNJO0lBQ0k7RW5GaXJmTjtBQUNGO0FtRjlxZkE7RUFDSTtJQUNJO0VuRmdyZk47RW1GOXFmRTtJQUNJO0VuRmdyZk47QUFDRjtBbUZ0cmZBO0VBQ0k7SUFDSTtFbkZncmZOO0VtRjlxZkU7SUFDSTtFbkZncmZOO0FBQ0Y7QW9GaDRmQTtFQUNJO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtFQUNBO0FwRms0Zko7O0FvRi8zZkE7RUFDRTtBcEZrNGZGOztBb0YvM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7RUFDQTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7QXBGazRmSjs7QW9GLzNmQTtFQUNJO0VBQ0E7QXBGazRmSjs7QW9GLzNmQTtFQUNJO0FwRms0Zko7O0FvRi8zZkE7RUFDSTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0kseUJwRjNDSTtBQTY2ZlI7O0FvRi8zZkE7RUFDSTtBcEZrNGZKOztBb0YvM2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGazRmSjtBb0ZoNGZJO0VBQ0kseUJwRnBESztBQXM3ZmI7QW9GLzNmSTtFQUNJLHlCcEY3REE7QUE4N2ZSOztBb0YzM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRjgzZko7O0FvRjMzZkE7RUFDSTtBcEY4M2ZKOztBb0Y1M2ZBO0VBQ0ksY3BGMUVJO0FBeThmUjs7QW9GNTNmQTtFQUNJO0VBQ0E7QXBGKzNmSjs7QW9GNTNmQTtFQUNJO0VBQ0E7QXBGKzNmSjtBb0Y3M2ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRiszZlI7O0FvRjMzZkE7RUFDSTtFQUNBO0FwRjgzZko7O0FvRjMzZkE7RUFDSTtFQUNBO0FwRjgzZko7O0FvRjMzZkE7RUFDSTtBcEY4M2ZKOztBb0YxM2ZBO0VBQ0k7QXBGNjNmSjs7QW9GMTNmQTtFQUNJO0FwRjYzZko7O0FvRjEzZkE7RUFDSTtFQUNBO0FwRjYzZko7O0FvRjEzZkE7RUFDSTtBcEY2M2ZKOztBb0YxM2ZBO0VBQ007QXBGNjNmTjs7QW9GMTNmQTtFQUNNO0VBQ0E7QXBGNjNmTjs7QW9GMTNmQTtFQUNNO0FwRjYzZk47O0FvRjEzZkE7RUFDSTtBcEY2M2ZKOztBb0Z6M2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRjQzZko7O0FvRnozZkE7RUFDSTtBcEY0M2ZKOztBb0Z6M2ZBO0VBQ0k7QXBGNDNmSjs7QW9GejNmQTtFQUNFO0FwRjQzZkY7O0FvRngzZkE7RUFDSTtFQUNBO0VBQ0E7QXBGMjNmSjs7QW9GeDNmQTtFQUNFO0VBQ0E7QXBGMjNmRjtBb0Z6M2ZFO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGMjNmTjs7QW9GdDNmQTtFQUNJO0VBQ0EsY3BGOUxJO0FBdWpnQlI7O0FvRnIzZkE7RUFDSTtBcEZ3M2ZKOztBb0ZyM2ZBO0VBQ0k7RUFDQTtFQUNBLGNwRnJNSTtFb0ZzTUo7QXBGdzNmSjtBb0Z0M2ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJwRi9NQTtBQXVrZ0JSOztBb0ZwM2ZBO0VBQ0ksY3BGeE5JO0FBK2tnQlI7O0FvRm4zZkE7RUFDSTtBcEZzM2ZKOztBb0ZuM2ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZzM2ZKO0FvRnAzZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnBGOU9BO0VvRitPQTtBcEZzM2ZSOztBb0ZsM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRnEzZko7O0FvRmwzZkE7RUFDSSxjcEZ6UEk7QUE4bWdCUjs7QW9GbDNmQTtFQUNJLGNwRjFQSTtBQSttZ0JSOztBb0ZsM2ZBO0VBQ0k7RUFDQTtFQUNBO0FwRnEzZko7QW9GbjNmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEZ6UUE7QUE4bmdCUjs7QW9GajNmQTtFQUNJO0FwRm8zZko7O0FvRmozZkE7RUFDSTtFQUNBO0FwRm8zZko7QW9GbDNmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEZoU0E7RW9GaVNBO0FwRm8zZlI7O0FvRmgzZkE7RUFDSSxrQ1J4U1c7RVF5U1g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNwRjNTSTtFb0Y0U0o7RUFDQSx5QnBGMVNJO0VvRjJTSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGbTNmSjtBb0ZqM2ZJO0VBQ0k7RUFDQTtBcEZtM2ZSO0FvRmgzZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QnBGM1RBO0VvRjRUQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGazNmUjtBb0ZoM2ZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZrM2ZaO0FvRi8yZlE7RUFDSTtBcEZpM2ZaO0FvRjcyZkk7RUFDSSx5QnBGeFZDO0FBdXNnQlQ7QW9GNzJmUTtFQUNJLHlCcEYzVkg7QUEwc2dCVDtBb0Y3MmZZO0VBQ0k7QXBGKzJmaEI7QW9GNTJmWTtFQUNJO0FwRjgyZmhCOztBb0Z4MmZBO0VBQ0kseUJwRnhXSTtFb0Z5V0o7RUFDQTtFQUNBLGNwRjlXSTtBQXl0Z0JSO0FvRnoyZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEYyMmZSO0FvRngyZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcEYwMmZSOztBb0Z0MmZBO0VBQ0k7RUFDQTtFQUNBO0FwRnkyZko7O0FvRnQyZkE7RUFDSSxjcEZ0WUk7QUErdWdCUjs7QW9GdDJmQTtFQUNJLGNwRjNZSTtBQW92Z0JSOztBb0Z0MmZBO0VBQ0kseUJwRi9ZSTtBQXd2Z0JSOztBb0Z0MmZBO0VBQ0kseUJwRi9ZSTtBQXd2Z0JSOztBb0Z0MmZBO0VBQ0k7RUFDQTtBcEZ5MmZKOztBb0Z0MmZBO0VBQ0ksY3BGM1pJO0VvRjRaSjtBcEZ5MmZKOztBb0Z0MmZBO0VBQ0k7RUFDQTtBcEZ5MmZKOztBb0Z0MmZBO0VBQ0ksY3BGdGFJO0FBK3dnQlI7QW9GdjJmSTtFQUNJLHlCcEZ6YUE7QUFreGdCUjs7QW9GcjJmQTtFQUNFO0FwRncyZkY7O0FvRnAyZkE7RUFDSTtBcEZ1MmZKO0FvRnIyZkk7RUFDSTtFQUNBLGNwRnZiQTtBQTh4Z0JSOztBb0ZuMmZBO0VBQ0k7RUFDQSxjcEY1Ykk7RW9GNmJKO0FwRnMyZko7QW9GcDJmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEZ2Y0E7RW9Gd2NBO0FwRnMyZlI7QW9GbjJmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCcEY5Y0E7RW9GK2NBO0FwRnEyZlI7O0FvRmoyZkE7RUFDSTtBcEZvMmZKOztBb0ZqMmZBO0VBQ0ksY3BGM2RJO0FBK3pnQlI7O0FvRmoyZkE7RUFDSTtBcEZvMmZKOztBb0ZqMmZBO0VBQ0kseUJwRm5lSTtFb0ZvZUo7RUFDQTtBcEZvMmZKO0FvRmwyZkk7RUFDSTtBcEZvMmZSOztBb0ZoMmZBO0VBQ0k7QXBGbTJmSjs7QW9GaDJmQTtFQUNJO0VBQ0E7QXBGbTJmSjs7QW9GaDJmQTtFQUNJO0VBQ0E7QXBGbTJmSjs7QW9GaDJmQTtFQUNJO0FwRm0yZko7O0FvRi8xZkE7RUFDSTtFQUNBO0FwRmsyZko7O0FvRi8xZkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmsyZko7O0FvRi8xZkE7RUFDSTtBcEZrMmZKOztBb0YvMWZBO0VBQ0k7QXBGazJmSjs7QW9GOTFmQTtFQUNJO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtBcEZpMmZKOztBb0Y5MWZBO0VBQ0k7RUFDQTtBcEZpMmZKOztBb0Y5MWZBO0VBQ0k7QXBGaTJmSjs7QW9GOTFmQTtFQUNJO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtFQUNBO0FwRmkyZko7O0FvRjkxZkE7RUFDSTtBcEZpMmZKO0FvRi8xZkk7RUFDSSxjcEZ0akJBO0VvRnVqQkE7QXBGaTJmUjtBb0Y5MWZJO0VBQ0k7QXBGZzJmUjs7QW9GMzFmSTtFQUNJO0VBQ0E7RUFDQTtBcEY4MWZSO0FvRjMxZkk7RUFDSTtFQUNBO0FwRjYxZlI7QW9GMTFmSTtFQUNJO0FwRjQxZlI7QW9GejFmSTtFQUVJO0VBQ0EseUJwRmhsQks7RW9GaWxCTDtFQUNBO0FwRjAxZlI7QW9GeDFmUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRjAxZlo7QW9GdDFmSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGdzFmUjtBb0ZwMWZRO0VBQ0k7QXBGczFmWjtBb0ZuMWZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBGcTFmWjs7QW9GOTBmQTtFQUNJO0VBQ0E7QXBGaTFmSjs7QW9GNzBmQTtFQUdRO0lBRUU7RXBGNjBmUjs7RW9GejBmRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VwRjQwZko7QUFDRjtBb0Z6MGZBO0VBQ0k7SUFDRTtJQUNBO0lBQ0E7RXBGMjBmSjs7RW9GeDBmRTtJQUNFO0lBQ0E7SUFDQTtFcEYyMGZKOztFb0Z4MGZFO0lBQ0U7RXBGMjBmSjtBQUNGO0FvRngwZkE7RUFDSTtJQUNFO0VwRjAwZko7O0VvRnYwZkU7SUFDRTtFcEYwMGZKOztFb0Z2MGZFOztJQUVFO0VwRjAwZko7O0VvRnYwZkU7SUFDRTtFcEYwMGZKO0FBQ0Y7QW9GdjBmQTtFQUNJO0lBQ0U7RXBGeTBmSjtBQUNGO0FvRnQwZkE7RUFDSTtJQUNFO0VwRncwZko7O0VvRnIwZkU7SUFDRTtFcEZ3MGZKOztFb0ZyMGZFO0lBQ0U7RXBGdzBmSjs7RW9GcjBmRTtJQUNJO0VwRncwZk47RW9GdDBmTTtJQUNJO0VwRncwZlY7O0VvRm4wZkU7SUFDRTtFcEZzMGZKO0FBQ0Y7QW9GbDBmQTtFQUNJO0lBQ0U7RXBGbzBmSjs7RW9GajBmRTtJQUNFO0VwRm8wZko7O0VvRmowZkU7SUFDRTtFcEZvMGZKO0FBQ0Y7QW9GajBmQTtFQUNJO0lBQ0k7RXBGbTBmTjs7RW9GaDBmRTtJQUNJO0VwRm0wZk47O0VvRmgwZkU7SUFDSTtJQUNBO0VwRm0wZk47O0VvRmgwZkU7SUFDSTtFcEZtMGZOO0FBQ0Y7QW9GaDBmQTtFQUNJO0lBQ0k7SUFDQTtFcEZrMGZOO0VvRmgwZk07SUFDSTtFcEZrMGZWOztFb0Y5emZFO0lBQ0k7RXBGaTBmTjtBQUNGO0FvRjl6ZkE7RUFDSTtJQUNFO0VwRmcwZko7O0VvRjd6ZkU7SUFDRTtFcEZnMGZKOztFb0Y3emZFO0lBQ0U7RXBGZzBmSjs7RW9GN3pmRTtJQUNFO0VwRmcwZko7O0VvRjd6ZkU7SUFDRTtFcEZnMGZKOztFb0Y3emZFO0lBRUk7RXBGK3pmTjs7RW9GNXpmRTs7O0lBSUk7RXBGOHpmTjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0VwRjh6Zko7O0VvRjN6ZkU7SUFDRTtFcEY4emZKOztFb0YzemZFO0lBQ0U7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNFO0lBQ0E7RXBGOHpmSjs7RW9GM3pmRTtJQUNJO0lBQ0E7RXBGOHpmTjs7RW9GM3pmRTtJQUNFO0VwRjh6Zko7O0VvRjN6ZkU7SUFDRTtFcEY4emZKO0VvRjV6Zkk7SUFDSTtFcEY4emZSOztFb0YxemZFO0lBQ0U7RXBGNnpmSjs7RW9GMXpmRTtJQUNFO0VwRjZ6Zko7O0VvRjF6ZkU7O0lBRUU7RXBGNnpmSjs7RW9GMXpmRTtJQUNJO0VwRjZ6Zk47RW9GM3pmTTtJQUNJO0VwRjZ6ZlY7O0VvRnp6ZkU7SUFDRTtFcEY0emZKOztFb0Z6emZFO0lBQ0U7RXBGNHpmSjs7RW9GenpmRTtJQUNJO0VwRjR6Zk47O0VvRnp6ZkU7SUFDSTtFcEY0emZOO0VvRjF6Zk07SUFDSTtJQUNBO0lBQ0E7RXBGNHpmVjs7RW9GeHpmRTtJQUNJO0VwRjJ6Zk47QUFDRjtBcUYxc2hCQTtFQXlKSTt5QkFBQTtBckZxamhCSjtBcUY3c2hCRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRjhzaEJGO0FxRjNzaEJDO0VBQ0c7QXJGNnNoQko7QXFGMXNoQkE7RUFDSTtFQUNBO0VBQ0E7QXJGNHNoQko7QXFGenNoQkE7RUFDRTtFQUNBO0VBQ0E7QXJGMnNoQkY7QXFGeHNoQkU7RUFDRTtBckYwc2hCSjtBcUZ6c2hCRTtFQUNFO0FyRjJzaEJKO0FxRjFzaEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUdBO0VBRUE7RUFDQTtBckY0c2hCSjtBcUYxc2hCRTtFQUdVO0FyRjRzaEJaO0FxRjNzaEJFO0VBQ0U7RUFDQTtFQUdRO0FyRjZzaEJaO0FxRjVzaEJFO0VBQ0U7RUFDQTtFQUNBO0FyRjhzaEJKO0FxRjdzaEJJO0VBQ0U7QXJGK3NoQk47QXFGOXNoQkU7RUFDRTtBckZndGhCSjtBcUYvc2hCSTtFQUNFO0VBQ0E7QXJGaXRoQk47QXFGaHRoQkU7RUFDRTtBckZrdGhCSjtBcUZqdGhCSTtFQUNFO0VBQ0E7QXJGbXRoQk47QXFGbHRoQkU7RUFDRTtFQUNBO0VBQ0E7QXJGb3RoQko7QXFGbnRoQkk7RUFDRTtFQUNBO0FyRnF0aEJOO0FxRnB0aEJJO0VBQ0U7RUFDQTtBckZzdGhCTjtBcUZydGhCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdRO0VBR0E7RUFFUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRnV0aEJKO0FxRnJ0aEJJO0VBQ0U7QXJGdXRoQk47QXFGdHRoQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBckZ3dGhCSjtBcUZ2dGhCSTtFQUNFO0FyRnl0aEJOO0FxRnR0aEJJO0VBQ0U7RUFDQTtFQUNBO0FyRnd0aEJOO0FxRnR0aEJBO0VBQ0U7QXJGd3RoQkY7QXFGdHRoQkE7RUFDRTtBckZ3dGhCRjs7QXNGNTNoQkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnRGRkk7RXNGR0o7RUFDQTtFQUVBOzs7Ozs7Ozs7Ozs7R0FBQTtBdEZ5NGhCSjtBc0Y1M2hCSTtFQUNJO0F0RjgzaEJSOztBc0YxM2hCQTtFQUVJO0F0RjQzaEJKO0FzRjEzaEJJO0VBQ0k7QXRGNDNoQlI7O0FzRngzaEJBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7QXRGMDNoQko7QXNGeDNoQkk7RUFDSTtFQUNBO0F0RjAzaEJSOztBc0ZyM2hCQTtFQUVJO0VBQ0E7QXRGdTNoQko7QXNGcjNoQkk7RUFDSTtFQUNBO0VBQ0E7QXRGdTNoQlI7O0FzRm4zaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRGczNoQko7O0FzRm4zaEJBO0VBQ0k7RUFDQTtBdEZzM2hCSjs7QXVGOTdoQkE7RUFDSTtJQUNJO0V2Rmk4aEJOO0FBQ0Y7O0F1RnA4aEJBO0VBQ0k7SUFDSTtFdkZpOGhCTjtBQUNGO0F1Ri83aEJBO0VBQ0k7SUFDSTtJQUNBO0V2Rmk4aEJOO0V1Ri83aEJFO0lBQ0k7SUFDQTtFdkZpOGhCTjtBQUNGO0F1Rno4aEJBO0VBQ0k7SUFDSTtJQUNBO0V2Rmk4aEJOO0V1Ri83aEJFO0lBQ0k7SUFDQTtFdkZpOGhCTjtBQUNGO0F1Ri83aEJBO0VBQ0k7SUFDSTtFdkZpOGhCTjtFdUYvN2hCRTtJQUNJO0V2Rmk4aEJOO0FBQ0Y7QXVGdjhoQkE7RUFDSTtJQUNJO0V2Rmk4aEJOO0V1Ri83aEJFO0lBQ0k7RXZGaThoQk47QUFDRjtBdUYvN2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZpOGhCSjs7QXVGLzdoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZrOGhCSjs7QXVGaDhoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZtOGhCSjs7QXVGajhoQkE7RUFDSTtBdkZvOGhCSjs7QXVGbDhoQkE7RUFDSTtBdkZxOGhCSjs7QXVGbjhoQkE7RUFDSTtBdkZzOGhCSjs7QXVGcDhoQkE7RUFDSTtBdkZ1OGhCSjs7QXVGcjhoQkE7RUFDSTtBdkZ3OGhCSjs7QXVGdDhoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGeThoQko7O0F1RnY4aEJBO0VBQ0k7QXZGMDhoQko7O0F1Rng4aEJBO0VBQ0k7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjI4aEJKOztBdUZ6OGhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjQ4aEJKOztBdUYxOGhCQTtFQUNJO0F2RjY4aEJKOztBdUYzOGhCQTtFQUNJO0F2Rjg4aEJKOztBdUY1OGhCQTtFQUNJO0lBQ0k7SUFDQTtFdkYrOGhCTjtBQUNGO0F1Rjc4aEJBO0VBQ0k7SUFDSTtFdkYrOGhCTjtBQUNGO0F1Rjc4aEJBO0VBQ0k7QXZGKzhoQko7O0F1Rjc4aEJBO0VBQ0k7QXZGZzloQko7O0F1Rjk4aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGaTloQko7O0F1Ri84aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZrOWhCSjs7QXVGaDloQkE7RUFDSTtBdkZtOWhCSjs7QXVGajloQkE7RUFDSTtBdkZvOWhCSjs7QXVGbDloQkE7RUFDSTtBdkZxOWhCSjs7QXVGbjloQkE7RUFDSTtBdkZzOWhCSjs7QXVGcDloQkE7RUFDSTtBdkZ1OWhCSjs7QXVGcjloQkE7RUFDSSxtQnZGdkpJO0V1RndKSjtBdkZ3OWhCSjs7QXVGdDloQkE7RUFDSTtBdkZ5OWhCSjs7QXVGdjloQkE7RUFDSSxtQnZGOUpJO0V1RitKSjtBdkYwOWhCSjs7QXVGeDloQkE7RUFDSSxtQnZGbEtJO0V1Rm1LSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjI5aEJKOztBdUZ6OWhCQTtFQUNJO0VBQ0E7QXZGNDloQko7O0F1RjE5aEJBO0VBQ0ksbUJ2RnBMSTtBQWlwaUJSOztBdUYzOWhCQTtFQUNJO0VBQ0E7QXZGODloQko7O0F1RjU5aEJBO0VBQ0k7QXZGKzloQko7O0F1Rjc5aEJBO0VBQ0k7QXZGZytoQko7O0F1Rjk5aEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZGaStoQko7O0F1Ri85aEJBO0VBQ0k7QXZGaytoQko7O0F1RmgraEJBO0VBQ0k7QXZGbStoQko7O0F1RmoraEJBO0VBQ0k7RUFDQTtBdkZvK2hCSjs7QXVGbCtoQkE7RUFDSTtBdkZxK2hCSjs7QXVGbitoQkE7RUFDSTtJQUNJO0V2RnMraEJOO0FBQ0Y7QXVGcCtoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZzK2hCSjs7QXVGcCtoQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnUraEJKOztBdUZyK2hCQTtFQUNJO0lBQ0k7RXZGdytoQk47QUFDRjtBdUZ0K2hCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ3K2hCSjs7QXVGdCtoQkE7RUFDSTtBdkZ5K2hCSjs7QXVGditoQkE7RUFDSTtBdkYwK2hCSjs7QXVGeCtoQkE7RUFDSTtFQUNBO0VBQ0E7QXZGMitoQko7O0F1RnoraEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGNCtoQko7O0F1RjEraEJBO0VBQ0k7RUFDQTtFQUNBO0F2RjYraEJKOztBdUYzK2hCQTtFQUNJO0VBQ0E7QXZGOCtoQko7O0F1RjUraEJBO0VBQ0k7QXZGKytoQko7O0F1RjcraEJBO0VBQ0k7QXZGZy9oQko7O0F1RjkraEJBO0VBQ0k7QXZGaS9oQko7O0F1Ri8raEJBO0VBQ0k7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZrL2hCSjs7QXVGaC9oQkE7RUFDSTtFQUNBO0F2Rm0vaEJKOztBdUZqL2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGby9oQko7O0F1RmwvaEJBO0VBQ0k7QXZGcS9oQko7O0F1Rm4vaEJBO0VBQ0k7QXZGcy9oQko7O0F1RnAvaEJBO0VBQ0k7QXZGdS9oQko7O0F1RnIvaEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGdy9oQko7O0F1RnQvaEJBO0VBQ0k7RUFDQTtFQUNBO0F2RnkvaEJKOztBdUZ2L2hCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMC9oQko7O0F1RngvaEJBO0VBQ0k7QXZGMi9oQko7O0F1RnovaEJBO0VBQ0k7RUFDQTtBdkY0L2hCSjs7QXVGMS9oQkE7RUFDSTtBdkY2L2hCSjs7QXVGMy9oQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGOC9oQko7O0F1RjUvaEJBO0VBQ0k7RUFDQTtBdkYrL2hCSjs7QXVGNy9oQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZnZ2lCSjs7QXVGOS9oQkE7RUFDSTtBdkZpZ2lCSjs7QXVGLy9oQkE7RUFDSTtBdkZrZ2lCSjs7QXVGaGdpQkE7RUFDSTtBdkZtZ2lCSjs7QXVGamdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm9naUJKOztBdUZsZ2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxZ2lCSjs7QXVGbmdpQkE7RUFDSSxtQnZGN1pJO0FBbTZpQlI7O0F1RnBnaUJBO0VBQ0k7RUFDQTtBdkZ1Z2lCSjs7QXVGcmdpQkE7RUFDSTtBdkZ3Z2lCSjs7QXVGdGdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZ5Z2lCSjs7QXVGdmdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGN2RnBiSTtFdUZxYko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjBnaUJKOztBdUZ4Z2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBdkYyZ2lCSjs7QXVGemdpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RjRnaUJKOztBdUYxZ2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGNmdpQko7O0F1RjNnaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0F2RjhnaUJKOztBdUY1Z2lCQTtFQUNJO0VBQ0E7RUFDQTtBdkYrZ2lCSjs7QXVGN2dpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGZ2hpQko7O0F1RjlnaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBdkZpaGlCSjs7QXVGL2dpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGa2hpQko7O0F1RmhoaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGbWhpQko7O0F1RmpoaUJBO0VBQ0k7QXZGb2hpQko7O0F1RmxoaUJBO0VBQ0k7QXZGcWhpQko7O0F1Rm5oaUJBO0VBQ0k7QXZGc2hpQko7O0F1RnBoaUJBO0VBQ0k7RUFDQTtBdkZ1aGlCSjs7QXVGcmhpQkE7RUFDSTtFQUNBO0F2RndoaUJKOztBdUZ0aGlCQTtFQUNJO0VBQ0E7QXZGeWhpQko7O0F1RnZoaUJBO0VBQ0k7QXZGMGhpQko7O0F1RnhoaUJBO0VBQ0k7QXZGMmhpQko7O0F1RnpoaUJBO0VBQ0k7QXZGNGhpQko7O0F1RjFoaUJBO0VBQ0k7QXZGNmhpQko7O0F1RjNoaUJBO0VBQ0k7QXZGOGhpQko7O0F1RjVoaUJBO0VBQ0k7QXZGK2hpQko7O0F1RjdoaUJBO0VBQ0k7QXZGZ2lpQko7O0F1RjloaUJBO0VBQ0k7QXZGaWlpQko7O0F1Ri9oaUJBO0VBQ0k7QXZGa2lpQko7O0F1RmhpaUJBO0VBQ0k7QXZGbWlpQko7O0F1RmppaUJBO0VBQ0k7QXZGb2lpQko7O0F1RmxpaUJBO0VBQ0k7QXZGcWlpQko7O0F1Rm5paUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnNpaUJKOztBdUZwaWlCQTtFQUNJO0F2RnVpaUJKOztBdUZyaWlCQTtFQUNJO0F2RndpaUJKOztBdUZ0aWlCQTtFQUNJO0VBQ0E7QXZGeWlpQko7O0F1RnZpaUJBO0VBQ0k7SUFDSTtFdkYwaWlCTjtBQUNGO0F1RnhpaUJBO0VBQ0k7QXZGMGlpQko7O0F1RnhpaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMmlpQko7O0F1RnppaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY0aWlCSjs7QXVGMWlpQkE7RUFDSTtFQUNBO0F2RjZpaUJKOztBdUYzaWlCQTtFQUNJO0F2RjhpaUJKOztBdUY1aWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkYraWlCSjs7QXVGN2lpQkE7RUFDSTtBdkZnamlCSjs7QXVGOWlpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkZpamlCSjs7QXVGL2lpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGa2ppQko7O0F1RmhqaUJBO0VBQ0k7QXZGbWppQko7O0F1RmpqaUJBO0VBQ0k7RUFDQTtBdkZvamlCSjs7QXVGbGppQkE7RUFDSTtBdkZxamlCSjs7QXVGbmppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnNqaUJKOztBdUZwamlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RnVqaUJKOztBdUZyamlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ3amlCSjs7QXVGdGppQkE7RUFDSTtFQUNBO0F2RnlqaUJKOztBdUZ2amlCQTtFQUNJO0VBQ0E7QXZGMGppQko7O0F1RnhqaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMmppQko7O0F1RnpqaUJBO0VBQ0k7QXZGNGppQko7O0F1RjFqaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY2amlCSjs7QXVGM2ppQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGOGppQko7O0F1RjVqaUJBO0VBQ0ksbUJ2Rmh2Qkk7QUEreWpCUjs7QXVGN2ppQkE7RUFDSTtFQUNBO0F2RmdraUJKOztBdUY5amlCQTtFQUNJO0F2RmlraUJKOztBdUYvamlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RmtraUJKOztBdUZoa2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3ZGdndCSTtFdUZ3d0JKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZta2lCSjs7QXVGamtpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QXZGb2tpQko7O0F1RmxraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBdkZxa2lCSjs7QXVGbmtpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0F2RnNraUJKOztBdUZwa2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBdkZ1a2lCSjs7QXVGcmtpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGd2tpQko7O0F1RnRraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RnlraUJKOztBdUZ2a2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXZGMGtpQko7O0F1RnhraUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0F2RjJraUJKOztBdUZ6a2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0F2RjRraUJKOztBdUYxa2lCQTtFQUNJO0F2RjZraUJKOztBdUYza2lCQTtFQUNJO0F2RjhraUJKOztBdUY1a2lCQTtFQUNJO0F2RitraUJKOztBdUY3a2lCQTtFQUNJO0VBQ0E7QXZGZ2xpQko7O0F1RjlraUJBO0VBQ0k7RUFDQTtBdkZpbGlCSjs7QXVGL2tpQkE7RUFDSTtFQUNBO0F2RmtsaUJKOztBdUZobGlCQTtFQUNJO0F2Rm1saUJKOztBdUZqbGlCQTtFQUNJO0F2Rm9saUJKOztBdUZsbGlCQTtFQUNJO0F2RnFsaUJKOztBdUZubGlCQTtFQUNJO0F2RnNsaUJKOztBdUZwbGlCQTtFQUNJO0F2RnVsaUJKOztBdUZybGlCQTtFQUNJO0F2RndsaUJKOztBdUZ0bGlCQTtFQUNJO0F2RnlsaUJKOztBdUZ2bGlCQTtFQUNJO0F2RjBsaUJKOztBdUZ4bGlCQTtFQUNJO0F2RjJsaUJKOztBdUZ6bGlCQTtFQUNJO0F2RjRsaUJKOztBdUYxbGlCQTtFQUNJO0F2RjZsaUJKOztBdUYzbGlCQTtFQUNJO0F2RjhsaUJKOztBdUY1bGlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYrbGlCSjs7QXVGN2xpQkE7RUFDSTtFQUNBO0F2RmdtaUJKOztBdUY5bGlCQTtFQUNJO0F2RmltaUJKOztBdUYvbGlCQTtFQUNJO0VBQ0E7QXZGa21pQko7O0F1RmhtaUJBO0VBQ0k7SUFDSTtFdkZtbWlCTjtBQUNGO0F1RmptaUJBO0VBQ0k7QXZGbW1pQko7O0F1RmptaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGb21pQko7O0F1RmxtaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxbWlCSjs7QXVGbm1pQkE7RUFDSTtFQUNBO0F2RnNtaUJKOztBdUZwbWlCQTtFQUNJO0F2RnVtaUJKOztBdUZybWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ3bWlCSjs7QXVGdG1pQkE7RUFDSTtBdkZ5bWlCSjs7QXVGdm1pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkYwbWlCSjs7QXVGeG1pQkE7RUFDSTtFQUNBO0VBQ0E7QXZGMm1pQko7O0F1RnptaUJBO0VBQ0k7QXZGNG1pQko7O0F1RjFtaUJBO0VBQ0k7RUFDQTtBdkY2bWlCSjs7QXVGM21pQkE7RUFDSTtBdkY4bWlCSjs7QXVGNW1pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RittaUJKOztBdUY3bWlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RmduaUJKOztBdUY5bWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZpbmlCSjs7QXVGL21pQkE7RUFDSTtFQUNBO0F2RmtuaUJKOztBdUZobmlCQTtFQUNJO0VBQ0E7QXZGbW5pQko7O0F1RmpuaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGb25pQko7O0F1RmxuaUJBO0VBQ0k7RUFDQTtFQUFBO0F2RnFuaUJKOztBdUZubmlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZzbmlCSjs7QXVGcG5pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0F2RnVuaUJKOztBdUZybmlCQTtFQUNJO0VBQ0E7RUFBQTtBdkZ3bmlCSjs7QXVGdG5pQkE7RUFDSTtFQUNBO0F2RnluaUJKOztBdUZ2bmlCQTtFQUNJO0F2RjBuaUJKOztBdUZ4bmlCQTtFQUNJO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYybmlCSjs7QXVGem5pQkE7RUFDSTtBdkY0bmlCSjs7QXVGMW5pQkE7RUFDSTtBdkY2bmlCSjs7QXVGM25pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkY4bmlCSjs7QXVGNW5pQkE7RUFDSTtFQUNBO0VBQ0E7QXZGK25pQko7O0F1RjduaUJBO0VBQ0k7SUFDSTtFdkZnb2lCTjtBQUNGO0F1RjluaUJBO0VBQ0k7SUFDSTtFdkZnb2lCTjtBQUNGO0F1RjluaUJBO0VBQ0k7QXZGZ29pQko7O0F1RjluaUJBO0VBQ0k7QXZGaW9pQko7O0F1Ri9uaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZrb2lCSjs7QXVGem5pQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm9vaUJKOztBdUZsb2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGcW9pQko7O0F1Rm5vaUJBO0VBQ0k7QXZGc29pQko7O0F1RmpvaUJBO0VBQ0k7QXZGd29pQko7O0F1RnRvaUJBO0VBQ0k7QXZGeW9pQko7O0F1RnZvaUJBO0VBQ0k7RUFDQTtBdkYwb2lCSjs7QXVGcG9pQkE7RUFDSTtFQUNBO0F2RjRvaUJKOztBdUYxb2lCQTtFQUNJO0VBQ0E7QXZGNm9pQko7O0F1RjNvaUJBO0VBQ0k7QXZGOG9pQko7O0F1RnpvaUJBO0VBQ0k7QXZGZ3BpQko7O0F1RjlvaUJBO0VBQ0k7QXZGaXBpQko7O0F1Ri9vaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RmtwaUJKOztBdUYzb2lCQTtFQUNJO0VBQ0E7RUFDQTtBdkZvcGlCSjs7QXVGbHBpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGcXBpQko7O0F1Rm5waUJBO0VBQ0k7QXZGc3BpQko7O0F1RmpwaUJBO0VBQ0k7QXZGd3BpQko7O0F1RnRwaUJBO0VBQ0k7QXZGeXBpQko7O0F1RnZwaUJBO0VBQ0k7QXZGMHBpQko7O0F1RnJwaUJBO0VBQ0k7QXZGNHBpQko7O0F1RjFwaUJBO0VBQ0k7QXZGNnBpQko7O0F1RjNwaUJBO0VBQ0k7QXZGOHBpQko7O0F1RnpwaUJBO0VBQ0k7QXZGZ3FpQko7O0F1RjlwaUJBO0VBQ0k7QXZGaXFpQko7O0F1Ri9waUJBO0VBQ0k7SUFDSTtFdkZrcWlCTjs7RXVGN3BpQkU7SUFDSTtFdkZvcWlCTjs7RXVGbHFpQkU7SUFDSTtFdkZxcWlCTjtBQUNGO0F1Rm5xaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxcWlCSjs7QXVGbnFpQkE7RUFDSTtBdkZzcWlCSjs7QXVGcHFpQkE7RUFDSTtFQUNBO0F2RnVxaUJKOztBdUZycWlCQTtFQUNJO0F2RndxaUJKOztBdUZ0cWlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZ5cWlCSjs7QXVGdnFpQkE7RUFDSTtBdkYwcWlCSjs7QXVGeHFpQkE7RUFDSTtBdkYycWlCSjs7QXVGenFpQkE7RUFDSTtBdkY0cWlCSjs7QXVGMXFpQkE7RUFDSTtJQUNJO0V2RjZxaUJOO0FBQ0Y7QXVGM3FpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjZxaUJKOztBdUYzcWlCQTtFQUNJO0F2RjhxaUJKOztBdUY1cWlCQTtFQUNJO0VBQ0E7QXZGK3FpQko7O0F1RjdxaUJBO0VBQ0k7QXZGZ3JpQko7O0F1RjlxaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RmlyaUJKOztBdUYvcWlCQTtFQUNJO0F2RmtyaUJKOztBdUZocmlCQTtFQUNJO0F2Rm1yaUJKOztBdUZqcmlCQTtFQUNJO0F2Rm9yaUJKOztBdUZscmlCQTtFQUNJO0lBQ0k7RXZGcXJpQk47QUFDRjtBdUZucmlCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGcXJpQko7O0F1Rm5yaUJBO0VBQ0k7QXZGc3JpQko7O0F1RnByaUJBO0VBQ0k7RUFDQTtBdkZ1cmlCSjs7QXVGcnJpQkE7RUFDSTtBdkZ3cmlCSjs7QXVGdHJpQkE7RUFDSTtFQUNBO0VBQ0E7QXZGeXJpQko7O0F1RnZyaUJBO0VBQ0k7QXZGMHJpQko7O0F1RnhyaUJBO0VBQ0k7QXZGMnJpQko7O0F1RnpyaUJBO0VBQ0k7QXZGNHJpQko7O0F1RjFyaUJBO0VBQ0k7SUFDSTtFdkY2cmlCTjtBQUNGO0F1RjNyaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY2cmlCSjs7QXVGM3JpQkE7RUFDSTtBdkY4cmlCSjs7QXVGNXJpQkE7RUFDSTtFQUNBO0F2RityaUJKOztBdUY3cmlCQTtFQUNJO0F2RmdzaUJKOztBdUY5cmlCQTtFQUNJO0VBQ0E7RUFDQTtBdkZpc2lCSjs7QXVGL3JpQkE7RUFDSTtBdkZrc2lCSjs7QXVGaHNpQkE7RUFDSTtBdkZtc2lCSjs7QXVGanNpQkE7RUFDSTtBdkZvc2lCSjs7QXVGbHNpQkE7RUFDSTtJQUNJO0V2RnFzaUJOO0FBQ0Y7QXVGbnNpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGcXNpQko7O0F1Rm5zaUJBO0VBQ0k7RUFDQTtFQUNBO0F2RnNzaUJKOztBdUZwc2lCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGdXNpQko7O0F1RnJzaUJBO0VBQ0k7QXZGd3NpQko7O0F1RnRzaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGeXNpQko7O0F1RnZzaUJBO0VBQ0k7QXZGMHNpQko7O0F1RnhzaUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMnNpQko7O0F1RnpzaUJBO0VBQ0k7QXZGNHNpQko7O0F3RjNwbEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnhGRkk7RXdGR0o7RUFDQTtBeEY4cGxCSjs7QXdGM3BsQkE7RUFDSTtBeEY4cGxCSjs7QXdGM3BsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjeEZYRztFd0ZZSDtFQUNBO0F4RjhwbEJKO0F3RjVwbEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhGOHBsQlI7QXdGM3BsQkk7RUFDSSxjeEYzQkE7RXdGNEJBLGdDeEY1QkE7RXdGNEJpQztFQUNqQztFQUNBLGtDeEYxQkQ7QUF3cmxCUDtBd0YzcGxCSTtFQUNJO0VBQ0E7QXhGNnBsQlI7QXdGM3BsQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEY2cGxCWjs7QXdGeHBsQkE7RUFDSTtBeEYycGxCSjs7QXdGeHBsQkE7RUFDSTtFQUNBO0VBQ0E7QXhGMnBsQko7QXdGenBsQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEYycGxCUjtBd0Z6cGxCUTtFQUNJO0F4RjJwbEJaO0F3RnhwbEJRO0VBQ0k7QXhGMHBsQlo7QXdGdHBsQkk7RUFDSTtFQUNBO0VBQ0E7QXhGd3BsQlI7O0F3RnBwbEJBO0VBQ0k7SUFDSTtJQUNBO0V4RnVwbEJOOztFd0ZwcGxCRTtJQUNJO0V4RnVwbEJOOztFd0ZwcGxCRTtJQUNJO0lBQ0E7RXhGdXBsQk47O0V3RnBwbEJFO0lBQ0k7RXhGdXBsQk47O0V3RnBwbEJFO0lBQ0k7RXhGdXBsQk47RXdGcnBsQk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtFeEZ1cGxCVjtBQUNGO0F3Rm5wbEJBO0VBQ0k7SUFDSTtJQUNBO0V4RnFwbEJOOztFd0ZscGxCRTtJQUNJO0V4RnFwbEJOOztFd0ZscGxCRTtJQUNJO0V4RnFwbEJOO0V3Rm5wbEJNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RXhGcXBsQlY7O0V3RmpwbEJFO0lBQ0k7RXhGb3BsQk47O0V3RmpwbEJFO0lBQ0k7RXhGb3BsQk47O0V3RmpwbEJFO0lBQ0k7RXhGb3BsQk47O0V3RmpwbEJFO0lBQ0k7SUFDQTtFeEZvcGxCTjtBQUNGO0F5Rjd5bEJBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekYreWxCSjtBeUY3eWxCSTs7RUFDSSxxQnpGVkE7RXlGV0E7QXpGZ3psQlI7O0F5RjN5bEJBO0VBQ0k7RUFDQTtBekY4eWxCSjs7QXlGM3lsQkE7RUFDSSxjekZyQkc7RXlGc0JIO0VBQ0E7QXpGOHlsQko7O0F5RjN5bEJBO0VBQ0k7QXpGOHlsQko7O0F5RjN5bEJBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekY2eWxCSjs7QXlGMXlsQkE7O0VBRUU7RUFDQTtBekY2eWxCRjs7QXlGMXlsQkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0EsY3pGM0RJO0FBdzJsQlI7O0F5RjF5bEJBO0VBQ0ksY3pGL0RJO0V5RmdFSjtBekY2eWxCSjs7QXlGMXlsQkE7RUFDSTtBekY2eWxCSjs7QXlGMXlsQkE7RUFDSTtBekY2eWxCSjtBeUYzeWxCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekY2eWxCUjtBeUZ6eWxCUTtFQUNJO0F6RjJ5bEJaOztBeUZ0eWxCQTtFQUNJLGN6RjlGSTtBQXU0bEJSOztBeUZyeWxCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGN6RnRHQTtBQTg0bEJSO0F5RnJ5bEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjekY5R0E7QUFxNWxCUjs7QXlGbnlsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXekZoSVk7QUFzNmxCaEI7O0F5Rm55bEJBO0VBQ0k7QXpGc3lsQko7O0F5Rmx5bEJJO0VBQ0ksY3pGdklBO0FBNDZsQlI7QXlGbHlsQkk7RUFDSSxjekYzSUE7QUErNmxCUjs7QXlGaHlsQkE7RUFDSTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSSx5QnpGakpJO0FBbzdsQlI7O0F5Rmh5bEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY3pGNUpJO0FBKzdsQlI7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0kseUJ6RmhLSTtFeUZpS0oscUJ6RmpLSTtFeUZrS0o7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0ksY3pGMUtJO0FBNjhsQlI7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7RUFDQTtBekZteWxCSjs7QXlGaHlsQkE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBekZreWxCSjs7QXlGL3hsQkE7RUFFSTtFQUNBLGN6RnJNSTtBQXMrbEJSOztBeUY5eGxCQTtFQUFvQjtBekZreWxCcEI7O0F5Rmh5bEJBO0VBQ0k7QXpGbXlsQko7O0F5Rmh5bEJBO0VBQ0k7RUFDQTtBekZteWxCSjs7QXlGaHlsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGbXlsQko7O0EwRnhnbUJBO0VBQ0k7SUFDRTtFMUYyZ21CSjs7RTBGeGdtQkU7SUFDRTtJQUNBO0UxRjJnbUJKOztFMEZ4Z21CRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0UxRjJnbUJKO0FBQ0Y7QTBGeGdtQkE7RUFDSTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0lBQ0E7SUFDQTtFMUYwZ21CSjs7RTBGdmdtQkU7SUFDRTtJQUNBO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKOztFMEZ2Z21CRTtJQUNFO0UxRjBnbUJKO0FBQ0Y7QTBGdmdtQkE7RUFDRTtJQUNFO0UxRnlnbUJGOztFMEZ0Z21CQTtJQUNFO0UxRnlnbUJGOztFMEZ0Z21CQTtJQUNFO0UxRnlnbUJGO0UwRnZnbUJFO0lBQ0U7RTFGeWdtQko7O0UwRnJnbUJBO0lBQ0U7SUFDQTtFMUZ3Z21CRjtFMEZ0Z21CRTtJQUNFO0UxRndnbUJKOztFMEZwZ21CQTtJQUNFO0UxRnVnbUJGOztFMEZwZ21CRTtJQUNFO0UxRnVnbUJKOztFMEZwZ21CQTtJQUNJO0UxRnVnbUJKOztFMEZwZ21CQTtJQUNFO0UxRnVnbUJGOztFMEZwZ21CQTtJQUNFO0UxRnVnbUJGOztFMEZwZ21CQTtJQUNJO0lBQ0E7RTFGdWdtQko7QUFDRjtBMEZuZ21CQTtFQUNJO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJFO0lBQ0U7RTFGcWdtQko7O0UwRmxnbUJBO0lBQ0k7RTFGcWdtQko7QUFDRjtBMEZsZ21CQTtFQUNJO0lBQ0U7RTFGb2dtQko7O0UwRmpnbUJFO0lBQ0U7SUFDQTtFMUZvZ21CSjs7RTBGamdtQkU7SUFDRTtJQUNBO0UxRm9nbUJKOztFMEZqZ21CRTtJQUNFO0lBQ0E7RTFGb2dtQko7O0UwRmpnbUJFO0lBQ0U7SUFDQTtFMUZvZ21CSjtBQUNGO0EwRmpnbUJBO0VBQ0k7SUFDSTtFMUZtZ21CTjtFMEZqZ21CTTtJQUVFO0UxRmtnbUJSOztFMEY5L2xCRTtJQUNFO0UxRmlnbUJKOztFMEY5L2xCRTtJQUNLO0UxRmlnbUJQO0FBQ0Y7QTBGOS9sQkE7RUFDSTtJQUNFO0UxRmdnbUJKO0FBQ0Y7QTBGNy9sQkE7RUFDSTtJQUNFO0UxRisvbEJKO0FBQ0Y7QTBGNS9sQkE7RUFDRTtJQUNFO0UxRjgvbEJGOztFMEY1L2xCQTtJQUNFO0UxRisvbEJGOztFMEY1L2xCQTtJQUNFO0UxRisvbEJGOztFMEY1L2xCQTtJQUNFO0UxRisvbEJGO0FBQ0Y7QTBGNS9sQkE7RUFDSTtJQUNFO0lBQ0E7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7SUFDQTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDSTtFMUY4L2xCTjs7RTBGMy9sQkU7SUFDSTtFMUY4L2xCTjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtJQUNBO0UxRjgvbEJKOztFMEYzL2xCRTtJQUNFO0lBQ0E7RTFGOC9sQko7O0UwRjMvbEJFO0lBQ0U7SUFDQTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtFMUY4L2xCSjs7RTBGMy9sQkU7SUFDRTtJQUNBO0UxRjgvbEJKO0UwRjUvbEJJO0lBQ0U7SUFDQTtFMUY4L2xCTjs7RTBGMS9sQkU7SUFDRTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtJQUNBO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0lBQ0E7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7SUFDQTtFMUY2L2xCSjs7RTBGMS9sQkU7SUFDRTtJQUNBO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0lBQ0E7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7RTFGNi9sQko7O0UwRjEvbEJFO0lBQ0U7SUFDQTtJQUNBO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEYxL2xCRTtJQUNFO0UxRjYvbEJKOztFMEZ6L2xCSTtJQUNFO0UxRjQvbEJOOztFMEZ0L2xCSTtJQUNFO0UxRnkvbEJOOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKOztFMEZyL2xCRTtJQUNFO0UxRncvbEJKO0FBQ0Y7QTBGci9sQkE7RUFFSTs7SUFFRTtFMUZzL2xCSjs7RTBGbi9sQkU7SUFDSTtFMUZzL2xCTjs7RTBGbi9sQkU7SUFDRTtFMUZzL2xCSjs7RTBGbi9sQkU7SUFDSTtJQUNBO0UxRnMvbEJOOztFMEZuL2xCRTtJQUNJO0lBQ0E7RTFGcy9sQk47O0UwRm4vbEJFO0lBQ0k7RTFGcy9sQk47O0UwRm4vbEJFO0lBQ0U7RTFGcy9sQko7O0UwRm4vbEJFO0lBQ0U7RTFGcy9sQko7O0UwRm4vbEJFO0lBQ0U7RTFGcy9sQko7RTBGcC9sQkk7SUFDRTtJQUNBO0UxRnMvbEJOOztFMEZsL2xCRTtJQUNFO0lBQ0E7RTFGcS9sQko7O0UwRmwvbEJFO0lBQ0U7SUFDQTtFMUZxL2xCSjs7RTBGbC9sQkU7SUFDRTtFMUZxL2xCSjs7RTBGai9sQkU7SUFDRTtFMUZvL2xCSjtFMEZsL2xCSTtJQUNFO0lBQ0E7SUFDQTtFMUZvL2xCTjs7RTBGaC9sQkU7SUFDRTtJQUNBO0UxRm0vbEJKOztFMEZoL2xCRTtJQUNJO0lBQ0E7RTFGbS9sQk47RTBGai9sQk07SUFDRTtJQUNBO0UxRm0vbEJSOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKOztFMEYvK2xCRTtJQUNFO0UxRmsvbEJKO0FBQ0Y7QTBGLytsQkE7RUFDSTtJQUNFO0lBQ0E7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0k7RTFGaS9sQk47O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0k7RTFGaS9sQk47O0UwRjkrbEJFO0lBQ0U7SUFDQTtJQUNBO0UxRmkvbEJKOztFMEY5K2xCRTtJQUNFO0UxRmkvbEJKOztFMEY5K2xCRTtJQUNFO0lBQ0E7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7O0UwRjkrbEJFO0lBQ0U7RTFGaS9sQko7QUFDRjtBMEY5K2xCQTtFQUNFO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7SUFDQTtJQUNBO0UxRmcvbEJGOztFMEY3K2xCQTtJQUNFO0UxRmcvbEJGOztFMEY3K2xCQTtJQUNFO0UxRmcvbEJGOztFMEY3K2xCQTtJQUNFO0lBQ0E7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0k7RTFGZy9sQko7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7RTFGZy9sQkY7O0UwRjcrbEJBO0lBQ0U7SUFDQSx5QjFGaHFCSTtFQWdwbkJOOztFMEY3K2xCQTtJQUNFO0UxRmcvbEJGO0UwRjkrbEJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTFGZy9sQko7O0UwRjUrbEJBO0lBQ0U7RTFGKytsQkY7O0UwRjUrbEJBO0lBQ0k7SUFDQTtFMUYrK2xCSjs7RTBGNStsQkE7SUFDRTtFMUYrK2xCRjtFMEY3K2xCRTtJQUNJO0UxRisrbEJOO0UwRjcrbEJNO0lBQ0U7SUFDQTtJQUNBO0UxRisrbEJSOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7SUFDQTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtJQUNBO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0k7SUFDQTtFMUY2K2xCSjs7RTBGMStsQkE7SUFDRTtJQUNBO0lBQ0E7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7RTFGNitsQkY7O0UwRjErbEJBO0lBQ0U7SUFDQTtFMUY2K2xCRjs7RTBGMStsQkE7SUFDRTtJQUNBO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNJO0UxRjYrbEJKOztFMEYxK2xCQTtJQUNFO0UxRjYrbEJGOztFMEYxK2xCQTtJQUNFLHlCMUY1eEJJO0VBeXduQk47RTBGMytsQkU7SUFDRTtFMUY2K2xCSjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtJQUNBO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0lBQ0E7SUFDQTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtFMUY0K2xCRjs7RTBGeitsQkE7SUFDRTtJQUNBO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0UxRjQrbEJGOztFMEZ6K2xCQTtJQUNFO0lBQ0E7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7RTFGNCtsQkY7O0UwRnorbEJBO0lBQ0U7SUFDQTtFMUY0K2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtFMUYyK2xCRjs7RTBGeCtsQkE7SUFDRTtJQUNBO0lBQ0E7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7RTFGMitsQkY7O0UwRngrbEJBO0lBQ0U7SUFDQTtJQUNBO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCQTtJQUNFO0UxRjIrbEJGOztFMEZ4K2xCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7OztJQUdFO0lBQ0E7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0U7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtJQUNBO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNJO0lBQ0E7RTFGMitsQk47O0UwRngrbEJFO0lBQ0U7RTFGMitsQko7O0UwRngrbEJFO0lBQ0k7SUFDQTtFMUYyK2xCTjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRztFMUYyK2xCTDs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDRTtJQUNBO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0lBQ0E7SUFDQTtFMUYyK2xCSjs7RTBGeCtsQkU7SUFDSTtJQUNBO0UxRjIrbEJOOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKOztFMEZ4K2xCRTtJQUNFO0UxRjIrbEJKO0FBQ0Y7QUE1aG9CQTtFQUNJO0FBOGhvQko7O0FBM2hvQkE7RUFDSTtBQThob0JKOztBQTFob0JJO0VBQ0k7QUE2aG9CUjs7QUF6aG9CQTtFQUNJO0FBNGhvQko7O0FBemhvQkE7RUFDSTtBQTRob0JKOztBQXpob0JBO0VBQ0k7QUE0aG9CSjs7QUF6aG9CQTtFQUNJLHlCQXJDSTtFQXNDSixjQW5DSTtBQStqb0JSOztBQXpob0JBO0VBQ0k7SUFDRTtFQTRob0JKO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9hcHAtc25vd2ZsYWtlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFzZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy92YXJpYWJsZXMtdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvbWl4aW5zLXRoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGluay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2hlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGVzY3JpcHRpb24tbGlzdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0tcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGlsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b3RvcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmtlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FydGljbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXNob3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zd2l0Y2hlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xlYWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zb3J0YWJsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdW50ZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZG90bmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGh1bWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pY29ubmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy93aWR0aC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2hlaWdodC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb3Zlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N2Zy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3V0aWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFyZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGFkZGluZy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pbnZlcnNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbGF5b3V0L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbGF5b3V0L19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL21vZHVsZXMvX2FuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fYmxvY2tlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19uaWNlc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL21vZHVsZXMvX3BhZ2Vsb2FkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvbW9kdWxlcy9fcGx5ci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19uaWV1d3NicmllZi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9tb2R1bGVzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2xheW91dC9fbGF5b3V0LW1vYmlsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEFsZ2VtZW5lIGtsZXVyZW5cbiRkZWVwZXN0LWJsYWNrOiAjMDAwO1xuJGJsYWNrOiAjMkQyQzMxO1xuJHdoaXRlOiAjRkZGRkZGO1xuJHJlZDogI0QzMzYzNjtcbiRvcmFuZ2U6ICNGMTlFMzg7XG4kZ3JlZW46ICMyMkIyRTc7XG4kZ3JleTogI0IxQjhDNztcbiRsaWdodC1ncmV5OiAjRjVGNkY4O1xuJGRhcmstZ3JleTogIzc3N0I4NjtcblxuQGltcG9ydCBcImFwcC5zY3NzXCI7XG5cbmEucmVhZC1tb3JlID4gc3Bhbjo6YmVmb3JlLCBzcGFuLnJlYWQtbW9yZSA+IHNwYW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LWxpZ2h0Ymx1ZS1yaWdodC5zdmcpO1xufVxuXG4uc2VjdGlvbi1wcm9kdWN0ZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvcHJvZHVjdHMtZGVjb3JhdGlvbi5zdmcpO1xufVxuXG4uY29tcG9uZW50LXRla3N0IHVsIGxpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoL2Fzc2V0cy9pbWFnZXMvbGlnaHRibHVlLWNoZWNrLnN2Zyk7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIC5wcm9kdWN0IC50ZXh0LWhvbGRlciB1bCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2xpZ2h0Ymx1ZS1jaGVjay5zdmcnKTtcbn1cblxuLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXIgLnRleHQtaG9sZGVyIHVsIGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvbGlnaHRibHVlLWNoZWNrLnN2ZycpO1xufVxuXG4uY29tcG9uZW50LXF1b3RlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHVybCgvYXNzZXRzL2ltYWdlcy9xdW90ZS1saWdodGJsdWUuc3ZnKTtcbn1cblxuaGVhZGVyIC50b3AtbWVudS1ob2xkZXIgbGkgLnZhY2F0dXJlLWNvdW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICRncmVlbjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGhlYWRlciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgfVxufSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFzZVxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZhdWx0IHZhbHVlcyBmb3IgSFRNTCBlbGVtZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oMWAsIGB1ay1oMmAsIGB1ay1oM2AsIGB1ay1oNGAsIGB1ay1oNWAsIGB1ay1oNmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYXNlLWJvZHktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuJGJhc2Utc3Ryb25nLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLW1hcmstYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1xdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJhc2UtcHJlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICogMy4gU3R5bGVcbiAqL1xuXG5odG1sIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ib2R5LWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtYm9keS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYm9keS1saW5lLWhlaWdodDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1ib2R5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWJvZHktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYm9keSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYm9keSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cblxuLyogTGlua3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG5hLFxuLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmsoKTt9XG59XG5cbmE6aG92ZXIsXG4udWstbGluazpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluayB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gRWRnZS5cbiAqIDIuIFRoZSBzaG9ydGhhbmQgZGVjbGFyYXRpb24gYHVuZGVybGluZSBkb3R0ZWRgIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6ICRiYXNlLXN0cm9uZy1mb250LXdlaWdodDsgfVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseTtcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAkYmFzZS1jb2RlLWZvbnQtc2l6ZTtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRiYXNlLWNvZGUtY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1jb2RlKCk7fVxufVxuXG4vKlxuICogRW1waGFzaXplXG4gKi9cblxuZW0geyBjb2xvcjogJGJhc2UtZW0tY29sb3I7IH1cblxuLypcbiAqIEluc2VydFxuICovXG5cbmlucyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtaW5zLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWlucy1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBNYXJrXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtbWFyay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1tYXJrLWNvbG9yO1xufVxuXG4vKlxuICogUXVvdGVcbiAqL1xuXG5xIHsgZm9udC1zdHlsZTogJGJhc2UtcXVvdGUtZm9udC1zdHlsZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwgeyBmb250LXNpemU6ICRiYXNlLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gZW1iZWRkZWQgY29udGVudCBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBBZGQgcmVzcG9uc2l2ZW5lc3MuXG4gKiAyLiBBdXRvLXNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gQ29ycmVjdHMgcmVzcG9uc2l2ZSBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQuXG4gKiA0LiBFeGNsdWRlIFNWR3MgZm9yIElFMTEgYmVjYXVzZSB0aGV5IGRvbid0IHByZXNlcnZlIHRoZWlyIGFzcGVjdCByYXRpby5cbiAqL1xuXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiA0ICovXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGJsb2NrKSB7XG5cbiAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxufVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBGaXggbGF6eSBsb2FkaW5nIGltYWdlcyBpZiBwYXJlbnQgZWxlbWVudCBpcyBzZXQgdG8gYGRpc3BsYXk6IGlubGluZWAgYW5kIGhhcyBgb3ZlcmZsb3c6IGhpZGRlbmAuXG4gKiAyLiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZGluZyBpbWFnZXMuXG4gKiBOb3RlOiBTZWxlY3RvciBmb3IgYmFja2dyb3VuZCB3aGlsZSBsb2FkaW5nIGltZ1tkYXRhLXNyYyo9Jy5qcGcnXVtzcmMqPSdkYXRhOmltYWdlJ10geyBiYWNrZ3JvdW5kOiBncmV5OyB9XG4gKi9cblxuaW1nOm5vdChbc3JjXSkge1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICAvKiAyICovXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogSWZyYW1lXG4gKiBSZW1vdmUgYm9yZGVyIGluIGFsbCBicm93c2Vyc1xuICovXG5cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNixcbi51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstaGVhZGluZy14bGFyZ2UsXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LWZhbWlseTogJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oZWFkaW5nKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBoMSwgKiArIC51ay1oMSxcbiogKyBoMiwgKiArIC51ay1oMixcbiogKyBoMywgKiArIC51ay1oMyxcbiogKyBoNCwgKiArIC51ay1oNCxcbiogKyBoNSwgKiArIC51ay1oNSxcbiogKyBoNiwgKiArIC51ay1oNixcbiogKyAudWstaGVhZGluZy1zbWFsbCxcbiogKyAudWstaGVhZGluZy1tZWRpdW0sXG4qICsgLnVrLWhlYWRpbmctbGFyZ2UsXG4qICsgLnVrLWhlYWRpbmcteGxhcmdlLFxuKiArIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBoMSwgLnVrLWgxIHsgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemUtbTsgfVxuICAgIGgyLCAudWstaDIgeyBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gQ2hyb21lLCBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogMy4gU3R5bGVcbiAqL1xuXG5ociwgLnVrLWhyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMiAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1oci1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtaHItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ocigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHsgbWFyZ2luLXRvcDogJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIH1cblxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHsgbWFyZ2luLXRvcDogJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbn1cblxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIGZvbnQ6ICRiYXNlLXByZS1mb250LXNpemUgdW5xdW90ZShcIi9cIikgJGJhc2UtcHJlLWxpbmUtaGVpZ2h0ICRiYXNlLXByZS1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGJhc2UtcHJlLWNvbG9yO1xuICAgIC1tb3otdGFiLXNpemU6IDQ7XG4gICAgdGFiLXNpemU6IDQ7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLXByZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtcHJlKCk7fVxufVxuXG5wcmUgY29kZSB7IGZvbnQtZmFtaWx5OiAkYmFzZS1wcmUtZm9udC1mYW1pbHk7IH1cblxuXG4vKiBTZWxlY3Rpb24gcHNldWRvLWVsZW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWFpbiB7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLnVrLWJyZWFrcG9pbnQtczo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXNtYWxsfSc7IH1cbi51ay1icmVha3BvaW50LW06OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1tZWRpdW19JzsgfVxuLnVrLWJyZWFrcG9pbnQtbDo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LWxhcmdlfSc7IH1cbi51ay1icmVha3BvaW50LXhsOjpiZWZvcmUgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC14bGFyZ2V9JzsgfVxuXG46cm9vdCB7XG4gICAgLS11ay1icmVha3BvaW50LXM6ICN7JGJyZWFrcG9pbnQtc21hbGx9O1xuICAgIC0tdWstYnJlYWtwb2ludC1tOiAjeyRicmVha3BvaW50LW1lZGl1bX07XG4gICAgLS11ay1icmVha3BvaW50LWw6ICN7JGJyZWFrcG9pbnQtbGFyZ2V9O1xuICAgIC0tdWstYnJlYWtwb2ludC14bDogI3skYnJlYWtwb2ludC14bGFyZ2V9O1xufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYXNlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1wcmUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuIiwiJGdsb2JhbC1tYXJnaW46IDIwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1lbXBoYXNpcy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtaW52ZXJzZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZ3V0dGVyOiAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogI2Y4ZjhmOCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogIzFlODdmMCAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAjMzJkMjk2ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ6ICNmYWEwNWEgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kOiAjZjA1MDZlICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogNDBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb246IDJzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLW1hcmdpbjogNzBweCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZTogMi42MjVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZm9udC1zaXplOiAwLjg3NXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICM5OTkgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDogIzIyMiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLXNpemU6IDIycHggIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw6IDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFkZ2UtaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJvZHktYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogIzBmNmVjZCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6IGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1ib3JkZXI6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZvbnQtc2l6ZTogJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRidXR0b24tbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0OiA1NXB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS10b3A6IDE1cHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogMTVweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWhlaWdodDogMzBweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWd1dHRlcjogNzBweCAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWNhcmQtYmFkZ2UtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNhcmQtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNsb3NlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlcjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOiAxMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbWF4LXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6IDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6IDE0MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDogMTYwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWxpbmUtaGVpZ2h0OiAwLjggIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogNHJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiA2cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06IDNyZW0gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtd2lkdGg6IDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1oZWlnaHQ6IDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogJGRvdG5hdi1pdGVtLXdpZHRoICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGdsb2JhbC16LWluZGV4OiAxMDAwICFkZWZhdWx0O1xuJGRyb3Atei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZzogMjVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMTUlKSAhZGVmYXVsdDtcbiRmb3JtLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1saW5lLWhlaWdodDogJGZvcm0taGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogOHB4ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC14c21hbGw6IDUwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1zbWFsbDogMTMwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1tZWRpdW06IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICM0NDQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLW1hcmdpbi10b3A6IC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206IDVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OiAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taWNvbi13aWR0aDogJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0taWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw6IDRyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbSAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW0gKiAwLjgyNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6IDZyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw6IDExcmVtICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtdG9wOiB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiB1bnF1b3RlKCdjYWxjKDRweCArIDAuN2VtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjJlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtd2lkdGg6IDIwMDBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4zZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAzLjc1cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sOiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjggIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlaWdodC1zbWFsbC1oZWlnaHQ6IDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiA0NTBweCAhZGVmYXVsdDtcbiRpY29uLWltYWdlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLXNpemU6IDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtY29udGVudDogdW5xdW90ZSgnLicpICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRsaWdodGJveC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAjMDAwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogMTAwdncgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0OiAxMDB2aCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kbGlzdC1tYXJrZXItaGVpZ2h0OiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1lbXBoYXNpcy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1hcmdpbi1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW46ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtbWFyZ2luOiAxNDBweCAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFya2VyLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsOiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWwtczogNTBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wb3NpdGlvbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246IDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6IDEwMCUgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjogbGlnaHRlbigkZ2xvYmFsLWludmVyc2UtY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDogMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogMnB4ICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi13aWR0aDogKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbG9yLW1vZGU6IG5vbmUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICgkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgKiAyKSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAzNTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aDogMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aC1tOiAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246IDIwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOiA1MHB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci13aWR0aDogNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS13aWR0aDogNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWhlaWdodDogODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDogODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1ob3Zlci1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45NSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLXRvcDogLTExcHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tYm90dG9tOiAtMzlweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1sZWZ0OiAtMjVweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1yaWdodDogLTI1cHggIWRlZmF1bHQ7XG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA1MCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAwICFkZWZhdWx0O1xuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogNTBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXNpemU6IDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6IDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6IGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0O1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAxLjRzICFkZWZhdWx0O1xuJHN0aWNreS16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMjJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtbGVhZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGVhZC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtc21hbGwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtZW1waGFzaXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdG9vbHRpcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJHRvdG9wLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0b3RvcC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zY2FsZTogMS4wMyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAwLjdzICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJhZ292ZXItYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRlcHJlY2F0ZWQ6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGw6IDY0MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtOiA5NjBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlOiAxMjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14bGFyZ2U6IDE2MDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhzbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1zbWFsbCAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogKCRicmVha3BvaW50LXhsYXJnZSAtIDEpICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kd2lkdGgtc21hbGwtd2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6IDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtMnhsYXJnZS13aWR0aDogNzUwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tbWFyZ2luLWxlZnQ6IDEwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IDAuNCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1ob3Zlci1vcGFjaXR5OiAwLjggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXByZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMjAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDMwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ib3JkZXI6ICRidXR0b24tdGV4dC1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNvbW1lbnQtcHJpbWFyeS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjQpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tb25jbGljay1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLDAsMCwwLjE1KSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tZGFuZ2VyLWJvcmRlcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtYm9yZGVyOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXItc3R5bGU6IGRhc2hlZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiRsYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtcGFkZGluZzogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtZnVsbC1iYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLDAsMCwwLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1ib3gtc2hhZG93OiAwIDVweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA1KSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRuYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRhYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYi1pdGVtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5rLWNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0tYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuNCkgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDsiLCJAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZSgpe1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAoJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodCAqIDFlbSk7XG4gICAgICAgIGhlaWdodDogKCRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQgKiAxZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFjY29yZGlvbi1pY29uLW1hcmdpbi1sZWZ0O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkYWNjb3JkaW9uLWljb24tY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIH1cblxuICAgIC51ay1vcGVuID4gJjo6YmVmb3JlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTsgfVxuXG59XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKXtcblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1nbG9iYWwtY29sb3IpOyB9XG5cbiAgICAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWxlcnQoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xufVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbkBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogQ29udGVudFxuICAgICAqL1xuXG4gICAgLnVrLWFsZXJ0IGgxLFxuICAgIC51ay1hbGVydCBoMixcbiAgICAudWstYWxlcnQgaDMsXG4gICAgLnVrLWFsZXJ0IGg0LFxuICAgIC51ay1hbGVydCBoNSxcbiAgICAudWstYWxlcnQgaDYgeyBjb2xvcjogaW5oZXJpdDsgfVxuXG4gICAgLnVrLWFsZXJ0IGE6bm90KFtjbGFzc10pIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWFydGljbGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe1xuXG4gICAgYSB7IGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I7IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKXtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlICB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWFydGljbGUtbWV0YSAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhY2tncm91bmQtbWlzYygpe31cbkBtaXhpbiBob29rLWJhZGdlKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYWRnZSgpe1xuXG4gICAgLnVrLWJhZGdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhZGdlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFkZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJhZGdlOmhvdmVyLFxuICAgIC51ay1iYWRnZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFzZS1jb2RlKCl7XG4gICAgcGFkZGluZzogJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsICRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWNvZGUtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXtcbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXtcblxuICAgIGNvbG9yOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtcHJlKCl7XG4gICAgcGFkZGluZzogJGJhc2UtcHJlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkYmFzZS1wcmUtYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLXByZS1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtcHJlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXtcbiAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKXsgY29sb3I6ICRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCl7XG5cbiAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2xvcjtcblxuICAgIC8vIEJhc2VcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICBhLFxuICAgIC51ay1saW5rICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1saW5rKCk7fVxuICAgIH1cblxuICAgIGE6aG92ZXIsXG4gICAgLnVrLWxpbms6aG92ZXIsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuICAgIC51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQ29kZVxuICAgIC8vXG5cbiAgICA6bm90KHByZSkgPiBjb2RlLFxuICAgIDpub3QocHJlKSA+IGtiZCxcbiAgICA6bm90KHByZSkgPiBzYW1wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBFbXBoYXNpemVcbiAgICAvL1xuXG4gICAgZW0geyBjb2xvcjogJGludmVyc2UtYmFzZS1lbS1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBIZWFkaW5nc1xuICAgIC8vXG5cbiAgICBoMSwgLnVrLWgxLFxuICAgIGgyLCAudWstaDIsXG4gICAgaDMsIC51ay1oMyxcbiAgICBoNCwgLnVrLWg0LFxuICAgIGg1LCAudWstaDUsXG4gICAgaDYsIC51ay1oNixcbiAgICAudWstaGVhZGluZy1zbWFsbCxcbiAgICAudWstaGVhZGluZy1tZWRpdW0sXG4gICAgLnVrLWhlYWRpbmctbGFyZ2UsXG4gICAgLnVrLWhlYWRpbmcteGxhcmdlLFxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpO31cbiAgICB9XG5cbiAgICBoMSwgLnVrLWgxIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMSgpO31cbiAgICB9XG5cbiAgICBoMiwgLnVrLWgyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMigpO31cbiAgICB9XG5cbiAgICBoMywgLnVrLWgzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMygpO31cbiAgICB9XG5cbiAgICBoNCwgLnVrLWg0IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNCgpO31cbiAgICB9XG5cbiAgICBoNSwgLnVrLWg1IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNSgpO31cbiAgICB9XG5cbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJsb2NrcXVvdGVzXG4gICAgLy9cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpO31cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVzXG4gICAgLy9cblxuICAgIGhyLCAudWstaHIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ocigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCl7XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLFxuICAgIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIERpdmlkZXJcbiAgICAvL1xuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbigpe1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYnV0dG9uLXRleHQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkICRidXR0b24tZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXRleHQtYm9yZGVyLXdpZHRoIHNvbGlkICRidXR0b24tdGV4dC1ib3JkZXI7XG4gICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe1xuXG4gICAgJjo6YmVmb3JlIHsgcmlnaHQ6IDA7IH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXtcblxuICAgICY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tbWlzYygpe1xuXG4gICAgLyogR3JvdXBcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQ29sbGFwc2UgYm9yZGVyXG4gICAgICovXG5cbiAgICAudWstYnV0dG9uLWdyb3VwID4gLnVrLWJ1dHRvbjpudGgtY2hpbGQobisyKSxcbiAgICAudWstYnV0dG9uLWdyb3VwID4gZGl2Om50aC1jaGlsZChuKzIpIC51ay1idXR0b24geyBtYXJnaW4tbGVmdDogKC0kYnV0dG9uLWJvcmRlci13aWR0aCk7IH1cblxuICAgIC8qXG4gICAgICogQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gc3VwZXJpbXBvc2UgdGhlIHN1Y2Nlc3NvciBlbGVtZW50cyBib3JkZXJcbiAgICAgKiBLbm93biBpc3N1ZTogSWYgeW91IHVzZSBhbiBgYWAgZWxlbWVudCBhcyBidXR0b24gYW5kIGFuIGljb24gaW5zaWRlLFxuICAgICAqIHRoZSBhY3RpdmUgc3RhdGUgd2lsbCBub3Qgd29yayBpZiB5b3UgY2xpY2sgdGhlIGljb24gaW5zaWRlIHRoZSBidXR0b25cbiAgICAgKiBXb3JrYXJvdW5kOiBKdXN0IHVzZSBhIGBidXR0b25gIG9yIGBpbnB1dGAgZWxlbWVudCBhcyBidXR0b25cbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpob3ZlcixcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246Zm9jdXMsXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe1xuICAgICY6OmJlZm9yZSB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxufVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnV0dG9uKCl7XG5cbiAgICAvL1xuICAgIC8vIERlZmF1bHRcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuICAgIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuICAgIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFNlY29uZGFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFRleHRcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuICAgIC51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWxpbms6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHsgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOyB9XG5cblxufVxuQG1peGluIGhvb2stY2FyZCgpeyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cbkBtaXhpbiBob29rLWNhcmQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtbGVmdCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cbkBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0KCl7IGJveC1zaGFkb3c6ICRjYXJkLWRlZmF1bHQtYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlci13aWR0aCAgc29saWQgJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnkoKXsgYm94LXNoYWRvdzogJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtcHJpbWFyeS1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeSgpeyBib3gtc2hhZG93OiAkY2FyZC1zZWNvbmRhcnktYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1zZWNvbmRhcnktaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIERlZmF1bHRcbiAgICAgKi9cblxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbiAgICAvKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWwpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWwpO1xuICAgICAgICB9XG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFNtYWxsXG4gICAgICovXG5cbiAgICAudWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCk7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuICAgIC8qXG4gICAgICogTGFyZ2VcbiAgICAgKi9cblxuICAgIC8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IHsgbWFyZ2luOiAwOyB9XG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQgeyBtYXJnaW46IDA7IH1cblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OyB9XG5cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY2FyZC1iYWRnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNhcmQoKXtcblxuICAgICYudWstY2FyZC1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWNhcmQtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNhcmQtYmFkZ2UtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jbG9zZSgpe1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIG9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNsb3NlKCl7XG5cbiAgICAudWstY2xvc2Uge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZSgpO31cbiAgICB9XG5cbiAgICAudWstY2xvc2U6aG92ZXIsXG4gICAgLnVrLWNsb3NlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpe1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHsgY29sdW1uLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7IH1cblxufVxuQG1peGluIGhvb2stY29tbWVudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXtcbiAgICBwYWRkaW5nOiAkY29tbWVudC1wcmltYXJ5LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fVxuQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb3VudGRvd24oKXtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyLFxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY292ZXItbWlzYygpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe1xuICAgIGZvbnQtc2l6ZTogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9XG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcsICRwcm9wZXJ0eTogYmFja2dyb3VuZC1pbWFnZSl7XG5cbiAgICAkZXNjYXBlLWNvbG9yLWRlZmF1bHQ6ICBlc2NhcGUoJGNvbG9yLWRlZmF1bHQpICFkZWZhdWx0O1xuICAgICRlc2NhcGUtY29sb3ItbmV3OiAgZXNjYXBlKFwiI3skY29sb3ItbmV3fVwiKSAhZGVmYXVsdDtcblxuICAgICRkYXRhLXVyaTogIGRhdGEtdXJpKCdpbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgnLCBcIiN7JHNyY31cIikgIWRlZmF1bHQ7XG4gICAgJHJlcGxhY2Utc3JjOiAgcmVwbGFjZShcIiN7JGRhdGEtdXJpfVwiLCBcIiN7JGVzY2FwZS1jb2xvci1kZWZhdWx0fVwiLCBcIiN7JGVzY2FwZS1jb2xvci1uZXd9XCIsIFwiZ1wiKSAhZGVmYXVsdDtcblxuICAgICN7JHByb3BlcnR5fTogdW5xdW90ZSgkcmVwbGFjZS1zcmMpO1xufVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWRpdmlkZXIoKXtcblxuICAgIC51ay1kaXZpZGVyLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuICAgIC51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItdmVydGljYWwge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItdmVydGljYWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1kb3RuYXYoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe1xuICAgIGJvcmRlcjogJGRvdG5hdi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCAkZG90bmF2LWl0ZW0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7IGJvcmRlci1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCl7IGJvcmRlci1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSk7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWRvdG5hdigpe1xuXG4gICAgLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bigpeyBib3gtc2hhZG93OiAkZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2KCl7IGZvbnQtc2l6ZTogJGRyb3Bkb3duLW5hdi1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2stZmxleC1taXNjKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZSgpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKXsgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrKCl7IGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtKCl7XG4gICAgYm9yZGVyOiAkZm9ybS1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpeyBib3JkZXItY29sb3I6ICRmb3JtLWRhbmdlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tc3VjY2VzcygpeyBib3JkZXItY29sb3I6ICRmb3JtLXN1Y2Nlc3MtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGU6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXtcbiAgICBib3JkZXI6ICRmb3JtLXJhZGlvLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYWRpby1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xufVxuQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpeyBjb2xvcjogJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpe1xuXG4gICAgLnVrLWlucHV0LFxuICAgIC51ay1zZWxlY3QsXG4gICAgLnVrLXRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtZm9ybS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybSgpO31cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yO1xuICAgICAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1mb2N1cygpO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUGxhY2Vob2xkZXJcbiAgICAvL1xuXG4gICAgLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAudWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU2VsZWN0XG4gICAgLy9cblxuICAgIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vXG4gICAgLy8gRGF0YWxpc3RcbiAgICAvL1xuXG4gICAgLnVrLWlucHV0W2xpc3RdOmhvdmVyLFxuICAgIC51ay1pbnB1dFtsaXN0XTpmb2N1cyB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXJhZGlvLFxuICAgIC51ay1jaGVja2JveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpbygpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIENoZWNrZWRcbiAgICAudWstcmFkaW86Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy8gTGFiZWxcbiAgICAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1mb3JtLWljb24geyBjb2xvcjogJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOyB9XG4gICAgLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I7IH1cblxufVxuQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG5AbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9XG5AbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCl7XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpO31cbiAgICB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staGVhZGluZy1zbWFsbCgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbWVkaXVtKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1sYXJnZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmcteGxhcmdlKCl7fVxuQG1peGluIGhvb2staGVhZGluZy0yeGxhcmdlKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbWVkaXVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy0yeGxhcmdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpe1xuXG4gICAgLnVrLWhlYWRpbmctc21hbGwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctbWVkaXVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1sYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctbGFyZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmcteGxhcmdlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSgpO31cbiAgICB9XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHsgLnVrLWhlYWRpbmctcHJpbWFyeSB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpO319fVxuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7IC51ay1oZWFkaW5nLWhlcm8geyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKTt9fX1cblxuICAgIC51ay1oZWFkaW5nLWRpdmlkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4gICAgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWhlaWdodC1taXNjKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCl7XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6aG92ZXIsXG4gICAgLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6YWN0aXZlLFxuICAgIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCdXR0b25cbiAgICAvL1xuXG4gICAgLnVrLWljb24tYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuICAgIC51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCl7XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlcixcbiAgICAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpe1xuXG4gICAgYS51ay1saW5rLW11dGVkLFxuICAgIC51ay1saW5rLW11dGVkIGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZCgpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gICAgLnVrLWxpbmstbXV0ZWQgYTpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstbXV0ZWQsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLW11dGVkICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay10ZXh0OmhvdmVyLFxuICAgIC51ay1saW5rLXRleHQgYTpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstdGV4dCxcbiAgICAudWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuICAgIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyxcbiAgICAudWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpe1xuXG4gICAgLnVrLWxpc3QtbXV0ZWQgPiA6OmJlZm9yZSB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbGlzdC1lbXBoYXNpcyA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3QtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1saXN0LXByaW1hcnkgPiA6OmJlZm9yZSB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay1saXN0LXNlY29uZGFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRpbnZlcnNlLWxpc3Qtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgfVxuXG4gICAgLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKXtcblxuICAgIC51ay10b3RvcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3ApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDpob3ZlcixcbiAgICAudWstdG90b3A6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdG90b3A6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpe1xuXG4gICAgLnVrLWxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxhYmVsLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zZWFyY2goKXtcblxuICAgIC8vXG4gICAgLy8gSW5wdXRcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1pbnB1dCB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtY29sb3I7IH1cblxuICAgIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuICAgIC8vXG4gICAgLy8gSWNvblxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjsgfVxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFN0eWxlIG1vZGlmaWVyXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxuICAgIH1cbiAgICBcbiAgICAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFRvZ2dsZVxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKXtcblxuICAgIC8vXG4gICAgLy8gUGFyZW50IGljb24gbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpe1xuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1pdGVtIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgICAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKXtcblxuICAgIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQaWxsXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIERpc2FibGVkXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCl7XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYigpe1xuXG4gICAgLnVrLXRhYiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAqID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAqID4gYTpob3ZlcixcbiAgICAudWstdGFiID4gKiA+IGE6Zm9jdXN7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zbGlkZW5hdigpe1xuXG4gICAgLnVrLXNsaWRlbmF2IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmhvdmVyLFxuICAgIC51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRleHQoKXtcblxuICAgIC51ay10ZXh0LWxlYWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LWxlYWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tZXRhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtZW1waGFzaXMgeyBjb2xvcjogJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXNlY29uZGFyeSB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKXtcblxuICAgIC51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4gICAgLnVrLWRyb3BjYXAgcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kcm9wY2FwKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28oKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ286aG92ZXIsXG4gICAgLnVrLWxvZ286Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nby1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nby1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBpbmxpbmU7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZSgpe1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnV0dG9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCk7XG59XG5AbWl4aW4gaG9vay1sYWJlbCgpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbGFiZWwtdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbkBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbkBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fVxuQG1peGluIGhvb2stbGVhZGVyKCl7fVxuQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxlYWRlcigpe1xuXG4gICAgLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGVhZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbGlnaHRib3goKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhcigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJGxpc3Qtc3RyaXBlZC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LXN0cmlwZWQtYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuQG1peGluIGhvb2stbWFya2VyKCl7XG4gICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG59XG5AbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1tYXJrZXIoKXtcblxuICAgIC51ay1tYXJrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW1hcmtlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbWFya2VyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1tYXJrZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW1hcmtlcjpob3ZlcixcbiAgICAudWstbWFya2VyOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbWFya2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1tb2RhbCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cbkBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuQG1peGluIGhvb2stbW9kYWwtaGVhZGVyKCl7IGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXsgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLW1vZGFsLXRpdGxlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsKCl7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6ICRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuQG1peGluIGhvb2stbmF2LXN1Yigpe31cbkBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cbkBtaXhpbiBob29rLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0KCl7IGZvbnQtc2l6ZTogJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbigpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1zdWJ0aXRsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpeyBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7IGJveC1zaGFkb3c6IG5vbmU7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKXsgZm9udC1zaXplOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKXsgYm94LXNoYWRvdzogJG5hdmJhci1kcm9wYmFyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLW5hdmJhci1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIE5hdmJhclxuICAgICAqL1xuXG4gICAgLnVrLW5hdmJhci1jb250YWluZXIgPiAudWstY29udGFpbmVyIC51ay1uYXZiYXItbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLW5hdmJhci1jb250YWluZXIgPiAudWstY29udGFpbmVyIC51ay1uYXZiYXItcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwpOyB9XG5cbiAgICAvKlxuICAgICAqIEdyaWQgRGl2aWRlclxuICAgICAqL1xuXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogKCRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAvIDIpO1xuICAgICAgICBib3JkZXItbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsIC8gMik7XG4gICAgICAgIGxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbSgpeyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXsgYm9yZGVyOiAkcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoIGRhc2hlZCAkcGxhY2Vob2xkZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fVxuQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXByaW50KCl7fVxuQG1peGluIGhvb2stcHJvZ3Jlc3MoKXtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1peGluIGhvb2stcHJvZ3Jlc3MtYmFyKCl7fVxuQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbkBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlcjogJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aCBzb2xpZCAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXNlYXJjaC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24oKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW11dGVkKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW92ZXJsYXAoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdigpeyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0OyB9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zbGlkZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZXItbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbSgpe1xuICAgIGZvbnQtc2l6ZTogJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHN1Ym5hdi1pdGVtLXRleHQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stc3VibmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdmctbWlzYygpe31cbkBtaXhpbiBob29rLXN3aXRjaGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10YWIoKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAkdGFiLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItaXRlbSgpe1xuICAgIGJvcmRlci1ib3R0b206ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJHRhYi1pdGVtLWFjdGl2ZS1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXtcbiAgICBib3JkZXItdG9wOiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbGVmdCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQoKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe1xuICAgIGJvcmRlci1yaWdodDogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1peGluIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKXtcbiAgICBib3JkZXItbGVmdDogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1peGluIGhvb2stdGFiLW1pc2MoKXtcblxuICAgIC51ay10YWIgLnVrLWRyb3Bkb3duIHsgbWFyZ2luLWxlZnQ6ICgkdGFiLW1hcmdpbi1ob3Jpem9udGFsICsgJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCkgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe1xuXG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS10YWItYm9yZGVyOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stdGFibGUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1oZWFkZXItY2VsbCgpeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5AbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1zdHJpcGVkKCl7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1zdHJpcGVkLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLXN0cmlwZWQtYm9yZGVyO1xufVxuQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXtcblxuICAgIC51ay10YWJsZSB0Ym9keSB0ciB7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBsaW5lYXI7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWJsZSgpe1xuXG4gICAgLnVrLXRhYmxlIHRoIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtY2FwdGlvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4gICAgLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6Zmlyc3QtY2hpbGQgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbiAgICAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtaG92ZXIgPiB0cjpob3ZlcixcbiAgICAudWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2stdGV4dC1tZXRhKCl7XG5cbiAgICBhIHsgY29sb3I6ICR0ZXh0LW1ldGEtbGluay1jb2xvcjsgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1tZXRhLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpe31cbkBtaXhpbiBob29rLXRodW1ibmF2KCl7fVxuQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbSgpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRodW1ibmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1ob3Zlcigpe1xuICAgICY6OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDsgfVxufVxuQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXtcbiAgICAmOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOyB9XG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRodW1ibmF2KCl7XG5cbiAgICAudWstdGh1bWJuYXYgPiAqID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRodW1ibmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstdGh1bWJuYXYgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRpbGUoKXt9XG5AbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwKCl7fVxuQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuQG1peGluIGhvb2stdG90b3AoKXsgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stdG90b3AtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXBhbmVsLXNjcm9sbGFibGUoKXt9XG5AbWl4aW4gaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpe31cbkBtaXhpbiBob29rLWRyb3BjYXAoKXtcbiAgICAvLyBQcmV2ZW50IGxpbmUgd3JhcFxuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG59XG5AbWl4aW4gaG9vay1sb2dvKCl7fVxuQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cbkBtaXhpbiBob29rLXV0aWxpdHktbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZHJvcGNhcCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbG9nbygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbG9nby1ob3Zlcigpe31cbkBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbkBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBMaW5rXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlua3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1oZWFkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1yZXNldGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saW5rLXRvZ2dsZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpbmtcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIE11dGVkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZCgpO31cbn1cblxuYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1tdXRlZCB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZC1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLXRleHQsXG4udWstbGluay10ZXh0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQoKTt9XG59XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstdGV4dCB7XG4gICAgY29sb3I6ICRsaW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstdGV4dC1ob3ZlcigpO31cbn1cblxuXG4vKiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLWhlYWRpbmcsXG4udWstbGluay1oZWFkaW5nIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1saW5rLWhlYWRpbmcoKTt9XG59XG5cbmEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstaGVhZGluZyB7XG4gICAgY29sb3I6ICRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1oZWFkaW5nLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCk7fVxufVxuXG5cbi8qIFJlc2V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuXG5hLnVrLWxpbmstcmVzZXQsXG4udWstbGluay1yZXNldCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXJlc2V0KSkge0BpbmNsdWRlIGhvb2stbGluay1yZXNldCgpO31cbn1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGluay10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4gXG4udWstbGluay10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1taXNjKSkge0BpbmNsdWRlIGhvb2stbGluay1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWFkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgaGVhZGluZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWFkaW5nLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWhlcm9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctbGluZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW0gKiAwLjggIWRlZmF1bHQ7ICAgICAgLy8gMzhweCAwLjczXG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tICogMC44MjUgIWRlZmF1bHQ7ICAgICAvLyA0MHB4IDAuNzE0XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0OyAgICAgIC8vIDUwcHggMC43OFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0OyAgICAgICAgICAgICAvLyA0cmVtIC8gNjRweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDsgICAgICAgICAgICAvLyA2cmVtIC8gOTZweFxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0OyAgIC8vIDMuMjVyZW0gLyA1MnB4XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7ICAgIC8vIDMuNXJlbSAvIDU2cHhcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgLy8gNHJlbSAvIDY0cHhcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDsgICAgICAgICAgICAgLy8gNnJlbSAvIDk2cHhcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgLy8gOHJlbSAvIDEyOHB4XG5cbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNjRweFxuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA5NnB4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEyOHB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMTFyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDE3NnB4XG5cbiRoZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWJ1bGxldC10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg0cHggKyAwLjdlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMmVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWxpbmUtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjNlbSknKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctc21hbGwpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXNtYWxsKCk7fVxufVxuXG4udWstaGVhZGluZy1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWVkaXVtKCk7fVxufVxuXG4udWstaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1sYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmcteGxhcmdlIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy14bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXhsYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy0yeGxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy0yeGxhcmdlKCk7fVxufVxuXG4vKiBUYWJsZXQgTGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLXNtYWxsIHsgZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmctbGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmcteGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuLyogTGFwdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHsgZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy1sYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy14bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDsgfVxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw7IH1cblxufVxuXG5cbi8qIFByaW1hcnlcbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy1tZWRpdW1gIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMy43NXJlbSAhZGVmYXVsdDsgIC8vIDYwcHhcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0OyAvLyA1NHB4XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0OyAvLyA0OHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG5AaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctcHJpbWFyeSgpO31cbn1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkgeyBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW07IH1cbn1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sO1xuICAgIH1cbn1cblxufVxuXG5cbi8qIEhlcm9cbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy14bGFyZ2VgIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgLy8gMTI4cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7IC8vIDk2cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDsgLy8gNjRweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWhlcm8oKTt9XG59XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tO1xuICAgIH1cbn1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sO1xuICAgIH1cbn1cblxufVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIEJ1bGxldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gVXNpbmcgYGlubGluZS1ibG9ja2AgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnbm1lbnRcbiAqIDIuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRoZWFkaW5nLWJ1bGxldC10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgaGVpZ2h0OiAkaGVhZGluZy1idWxsZXQtaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDtcbiAgICBib3JkZXItbGVmdDogJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctYnVsbGV0KCk7fVxufVxuXG5cbi8qIExpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeHRyYSBtYXJrdXAgaXMgbmVlZGVkIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25cbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoI3skaGVhZGluZy1saW5lLXRvcH0gLSAoI3skaGVhZGluZy1saW5lLWhlaWdodH0gLyAyKSknKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRoZWFkaW5nLWxpbmUtd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1tZWRpdW0oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGl2aWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRpdmlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGl2aWRlci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItdmVydGljYWxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGl2aWRlci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGRlZmF1bHQgYGhyYFxuICogMi4gU2V0IG1hcmdpbiBpZiBhIGBkaXZgIGlzIHVzZWQgZm9yIHNlbWFudGljYWwgcmVhc29uXG4gKi9cblxuW2NsYXNzKj0ndWstZGl2aWRlciddIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7IG1hcmdpbi10b3A6ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGl2aWRlci1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAkZGl2aWRlci1pY29uLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24oKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRkaXZpZGVyLWljb24tbGluZS10b3A7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSAtICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgYm9yZGVyLWJvdHRvbTogJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUge1xuICAgIHJpZ2h0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBsZWZ0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpO31cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXggaGVpZ2h0IGJlY2F1c2Ugb2YgYGlubGluZS1ibG9ja2BcbiAqIDIuIFVzaW5nIDo6YWZ0ZXIgYW5kIGlubGluZS1ibG9jayB0byBtYWtlIGB0ZXh0LWFsaWduYCB3b3JrXG4gKi9cblxuLyogMSAqL1xuLnVrLWRpdmlkZXItc21hbGwgeyBsaW5lLWhlaWdodDogMDsgfVxuXG4vKiAyICovXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZGl2aWRlci1zbWFsbC13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1zbWFsbCgpO31cbn1cblxuXG4vKiBWZXJ0aWNhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3JkZXItbGVmdDogJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItdmVydGljYWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogICAgICAgTWl4aW5cbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBtaXhpbnMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gU1ZHXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KXtcblxuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHJlcGxhY2Utc3JjLCBcIiNcIiwgXCIlMjNcIik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHF1b3RlKCRyZXBsYWNlLXNyYykpO1xufSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1saXN0LWRpc2NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWNpcmNsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3F1YXJlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1kZWNpbWFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1oeXBoZW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1lbXBoYXNpc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1idWxsZXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1jb2xsYXBzZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRsaXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4kbGlzdC1tYXJrZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuXG4kbGlzdC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3Qtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1saXN0ID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG4udWstbGlzdCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0ID4gKiA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIE1hcmtlciBtb2RpZmllcnNcbiAqIE1vdmluZyBgOjptYXJrZXJgIGluc2lkZSBgOjpiZWZvcmVgIHRvIHN0eWxlIGl0IGRpZmZlcmVudGx5XG4gKiBUbyBzdHlsZSB0aGUgYDo6bWFya2VyYCBpcyBjdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3QtZGlzYyA+ICosXG4udWstbGlzdC1jaXJjbGUgPiAqLFxuLnVrLWxpc3Qtc3F1YXJlID4gKixcbi51ay1saXN0LWRlY2ltYWwgPiAqLFxuLnVrLWxpc3QtaHlwaGVuID4gKiB7IHBhZGRpbmctbGVmdDogJGxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBUeXBlIG1vZGlmaWVyc1xuICovXG5cbi51ay1saXN0LWRlY2ltYWwgeyBjb3VudGVyLXJlc2V0OiBkZWNpbWFsOyB9XG4udWstbGlzdC1kZWNpbWFsID4gKiB7IGNvdW50ZXItaW5jcmVtZW50OiBkZWNpbWFsOyB9XG5cbltjbGFzcyo9J3VrLWxpc3QnXSA+IDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogKC0kbGlzdC1wYWRkaW5nLWxlZnQpO1xuICAgIHdpZHRoOiAkbGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgaGVpZ2h0OiAkbGlzdC1tYXJrZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICgtJGxpc3QtbWFya2VyLWhlaWdodCk7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnVrLWxpc3QtZGlzYyA+IDo6YmVmb3JlIHsgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG4udWstbGlzdC1jaXJjbGUgPiA6OmJlZm9yZSB7IGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyB9XG4udWstbGlzdC1zcXVhcmUgPiA6OmJlZm9yZSB7IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyB9XG4udWstbGlzdC1kZWNpbWFsID4gOjpiZWZvcmUgeyBjb250ZW50OiBjb3VudGVyKGRlY2ltYWwsIGRlY2ltYWwpICdcXDIwMEEuXFwwMEEwJzsgfVxuLnVrLWxpc3QtaHlwaGVuID4gOjpiZWZvcmUgeyBjb250ZW50OiAn4oCTXFwwMEEwXFwwMEEwJzsgfVxuXG4vKlxuICogQ29sb3IgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWxpc3QtbXV0ZWQgPiA6OmJlZm9yZSB7IGNvbG9yOiAkbGlzdC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstbGlzdC1lbXBoYXNpcyA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1saXN0LXByaW1hcnkgPiA6OmJlZm9yZSB7IGNvbG9yOiAkbGlzdC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1saXN0LXNlY29uZGFyeSA+IDo6YmVmb3JlIHsgY29sb3I6ICRsaXN0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogSW1hZ2UgYnVsbGV0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3QtYnVsbGV0ID4gKiB7IHBhZGRpbmctbGVmdDogJGxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAoLSRsaXN0LXBhZGRpbmctbGVmdCk7XG4gICAgd2lkdGg6ICRsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBoZWlnaHQ6ICRsaXN0LW1hcmtlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogKC0kbGlzdC1tYXJrZXItaGVpZ2h0KTtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWxpc3QtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1zdHJpcGVkID4gKiB7XG4gICAgcGFkZGluZzogJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LXN0cmlwZWQgPiA6bnRoLW9mLXR5cGUob2RkKSB7IGJhY2tncm91bmQ6ICRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1sYXJnZSA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWxhcmdlID4gKiA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDsgfVxuXG4udWstbGlzdC1jb2xsYXBzZSA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWNvbGxhcHNlID4gKiA+IHVsIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG59XG5cbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiAqIHsgcGFkZGluZzogJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+ICoge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1jb2xsYXBzZS51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlzdC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpc3QtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERlc2NyaXB0aW9uIGxpc3Rcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRlc2NyaXB0aW9uLWxpc3RgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDogICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoOiAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyOiAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERlc2NyaXB0aW9uIGxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGVybVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQge1xuICAgIGNvbG9yOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKTt9XG59XG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDtcbn1cblxuLypcbiAqIERlc2NyaXB0aW9uXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkZCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmVcbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoIHNvbGlkICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBUYWJsZVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIHRhYmxlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRhYmxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRhYmxlLW1pZGRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1zdHJpcGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWp1c3RpZnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1zaHJpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1leHBhbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtcmVzcG9uc2l2ZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcblxuJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDIycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlKSkge0BpbmNsdWRlIGhvb2stdGFibGUoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay10YWJsZSB7IG1hcmdpbi10b3A6ICR0YWJsZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkZXIgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICovXG5cbi51ay10YWJsZSB0aCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6ICR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1oZWFkZXItY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWhlYWRlci1jZWxsKCk7fVxufVxuXG5cbi8qIENlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWNlbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1jZWxsKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRhYmxlIHRkID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRm9vdGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIHRmb290IHtcbiAgICBmb250LXNpemU6ICR0YWJsZS1mb290ZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1mb290ZXIoKTt9XG59XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXNpemU6ICR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2FwdGlvbikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNhcHRpb24oKTt9XG59XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLW1pZGRsZSxcbi51ay10YWJsZS1taWRkbGUgdGQgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4udWstdGFibGUtZGl2aWRlciA+IDpub3QoOmZpcnN0LWNoaWxkKSA+IHRyLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6Zmlyc3QtY2hpbGQgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1zdHJpcGVkKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstdGFibGUtaG92ZXIgPiB0cjpob3Zlcixcbi51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWhvdmVyKCk7fVxufVxuXG5cbi8qIEFjdGl2ZSBzdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbi51ay10YWJsZSB0Ym9keSB0ci51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXJvdy1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1yb3ctYWN0aXZlKCk7fVxufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNtYWxsIHRoLFxuLnVrLXRhYmxlLXNtYWxsIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc21hbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1zbWFsbCgpO31cbn1cblxuLnVrLXRhYmxlLWxhcmdlIHRoLFxuLnVrLXRhYmxlLWxhcmdlIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1sYXJnZSgpO31cbn1cblxuXG4vKiBKdXN0aWZ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6Zmlyc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpmaXJzdC1jaGlsZCB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFibGUtanVzdGlmeSB0aDpsYXN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6bGFzdC1jaGlsZCB7IHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuXG4vKiBDZWxsIHNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc2hyaW5rIHsgd2lkdGg6IDFweDsgfVxuLnVrLXRhYmxlLWV4cGFuZCB7IG1pbi13aWR0aDogJHRhYmxlLWV4cGFuZC1taW4td2lkdGg7IH1cblxuXG4vKiBDZWxsIGxpbmsgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRG9lcyBub3Qgd29yayB3aXRoIGB1ay10YWJsZS1qdXN0aWZ5YCBhdCB0aGUgbW9tZW50XG4gKi9cblxuLnVrLXRhYmxlLWxpbmsgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLXRhYmxlLXNtYWxsIC51ay10YWJsZS1saW5rID4gYSB7IHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuLyogUmVzcG9uc2l2ZSB0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0Ym9keSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ciB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aGVhZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGg6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6Zmlyc3QtY2hpbGQpID4gYSB7IHBhZGRpbmctdG9wOiByb3VuZCgkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsIC8gMykgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGg6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmxhc3QtY2hpbGQpID4gYSB7IHBhZGRpbmctYm90dG9tOiByb3VuZCgkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsIC8gMykgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMC4wMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstaWNvbi1pbWFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWljb24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWljb24tYnV0dG9uYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29uLWltYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kaWNvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNnB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE5vdGU6IDEuIC0gNy4gaXMgcmVxdWlyZWQgZm9yIGBidXR0b25gIGVsZW1lbnRzLiBOZWVkZWQgZm9yIENsb3NlIGFuZCBGb3JtIEljb24gY29tcG9uZW50LlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gUmVtb3ZlIGJvcmRlci1yYWRpdXMgaW4gQ2hyb21lLlxuICogNC4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDUuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA2LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDcuIFJlbW92ZSBkZWZhdWx0IGBidXR0b25gIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgY29sb3JcbiAqIDguIFN0eWxlXG4gKiA5LiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAxMC4gTGV0IHRoZSBjb250YWluZXIgZml0IHRoZSBoZWlnaHQgb2YgdGhlIGljb25cbiAqL1xuXG4udWstaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA1ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA2ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNy4gKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDggKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogOSAqL1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICAvKiAxMCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4vKiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuICovXG5idXR0b24udWstaWNvbjpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstaWNvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqL1xuXG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IGZpbGw6IGN1cnJlbnRjb2xvcjsgfVxuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1pY29uID4gKiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7IH1cblxuXG4vKiBJbWFnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXNwbGF5IGltYWdlcyBpbiBpY29uIGRpbWVuc2lvbnNcbiAqL1xuXG4udWstaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6ICRpY29uLWltYWdlLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGlua1xuICovXG5cbi51ay1pY29uLWxpbmsge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmsoKTt9XG59XG5cbi51ay1pY29uLWxpbms6aG92ZXIsXG4udWstaWNvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogJGljb24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBCdXR0b25cbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1pY29uLWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29uLWJ1dHRvbjpob3Zlcixcbi51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1idXR0b246YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1taXNjKSkge0BpbmNsdWRlIGhvb2staWNvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRm9ybSBSYW5nZVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIHRoZSByYW5nZSBpbnB1dCB0eXBlXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcmFuZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMTUlKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybSBSYW5nZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBOb3JtYWxpemUgYW5kIGRlZmF1bHRzXG4gKiAyLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAzLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gUmVtb3ZlIHdoaXRlIGJhY2tncm91bmQgaW4gQ2hyb21lXG4gKiA2LiBSZW1vdmUgcGFkZGluZyBpbiBJRTExXG4gKi9cblxuLnVrLXJhbmdlIHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAyICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAvKiA2ICovXG4gICAgcGFkZGluZzogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstcmFuZ2U6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4udWstcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIgeyBib3JkZXI6IG5vbmU7IH1cblxuLyogSUUxMSBSZXNldCAqL1xuLnVrLXJhbmdlOjotbXMtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tb3otcmFuZ2UtdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1zLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cblxuLyogVGh1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbi10b3A6IChmbG9vcigkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQgLyAyKSAqIC0xKTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBFZGdlICsgSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdG9vbHRpcCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBUcmFja1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTYWZhcmkgZG9lc24ndCBoYXZlIGEgZm9jdXMgc3RhdGUuIFVzaW5nIGFjdGl2ZSBpbnN0ZWFkLlxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssXG4vKiAxICovXG4udWstcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRm9ybVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGZvcm1zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZm9ybS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5wdXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWxlY3RgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10ZXh0YXJlYWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJhZGlvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2hlY2tib3hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sZWdlbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1maWVsZHNldGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1mb3JtLWN1c3RvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tc3RhY2tlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taG9yaXpvbnRhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tbGFiZWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWNvbnRyb2xzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1pY29uLWZsaXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZm9ybS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWRhbmdlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tYmxhbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWNvbnRyb2xzLXRleHRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9ybS1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0td2lkdGgteHNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1zbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1tZWRpdW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1sYXJnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1kYXRhbGlzdC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAtNHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogICAgICAgICAgICAgICA3cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6ICAgICAgN3B4ICFkZWZhdWx0O1xuXG4kZm9ybS1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEyJTIwOCUyMDYlMjAxNiUyMDYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLypcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuLnVrLWlucHV0IHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VsZWN0IHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cblxuLnVrLXNlbGVjdCBvcHRncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxuLnVrLXRleHRhcmVhIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwICRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybSkpIHtAaW5jbHVkZSBob29rLWZvcm0oKTt9XG59XG5cbi8qXG4gKiBTaW5nbGUtbGluZVxuICogMS4gQWxsb3cgYW55IGVsZW1lbnQgdG8gbG9vayBsaWtlIGFuIGBpbnB1dGAgb3IgYHNlbGVjdGAgZWxlbWVudFxuICogMi4gTWFrZSBzdXJlIGxpbmUtaGVpZ2h0IGlzIG5vdCBsYXJnZXIgdGhhbiBoZWlnaHRcbiAqICAgIEFsc28gbmVlZGVkIHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0taGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zaW5nbGUtbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tc2luZ2xlLWxpbmUoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1tdWx0aS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1tdWx0aS1saW5lKCk7fVxufVxuXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0geyByZXNpemU6IHZlcnRpY2FsOyB9XG5cbi8qIEZvY3VzICovXG4udWstaW5wdXQ6Zm9jdXMsXG4udWstc2VsZWN0OmZvY3VzLFxuLnVrLXRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWZvY3VzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1mb2N1cygpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIFBsYWNlaG9sZGVyXG4gKi9cblxuLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4udWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1mb3JtLXNtYWxsIHsgZm9udC1zaXplOiAkZm9ybS1zbWFsbC1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1mb3JtLWxhcmdlIHsgZm9udC1zaXplOiAkZm9ybS1sYXJnZS1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFcnJvclxuICovXG5cbi51ay1mb3JtLWRhbmdlcixcbi51ay1mb3JtLWRhbmdlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRmb3JtLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRhbmdlcigpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstZm9ybS1zdWNjZXNzLFxuLnVrLWZvcm0tc3VjY2Vzczpmb2N1cyAge1xuICAgIGNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBCbGFua1xuICovXG5cbi51ay1mb3JtLWJsYW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuaygpO31cbn1cblxuLnVrLWZvcm0tYmxhbms6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuay1mb2N1cygpO31cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnMgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuXG5pbnB1dC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC14c21hbGw7IH1cblxuc2VsZWN0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICgkZm9ybS13aWR0aC14c21hbGwgKyAyNXB4KTsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC1zbWFsbDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0geyB3aWR0aDogJGZvcm0td2lkdGgtbWVkaXVtOyB9XG5cbi51ay1mb3JtLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICRmb3JtLXdpZHRoLWxhcmdlOyB9XG5cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlLiBBbHNvIHdvcmtzIGluIEZpcmVmb3hcbiAqIDIuIFN0eWxlXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBJRSAxMC8xMVxuICogNC4gU2V0IGBjb2xvcmAgZm9yIG9wdGlvbnMgaW4gdGhlIHNlbGVjdCBkcm9wZG93biwgYmVjYXVzZSB0aGUgaW5oZXJpdGVkIGBjb2xvcmAgbWlnaHQgYmUgdG9vIGxpZ2h0LlxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi8qIDMgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOjotbXMtZXhwYW5kIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA0ICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSBvcHRpb24geyBjb2xvcjogJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTpkaXNhYmxlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIERhdGFsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIENocm9tZVxuICovXG5cbiAudWstaW5wdXRbbGlzdF0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLnVrLWlucHV0W2xpc3RdOmhvdmVyLFxuLnVrLWlucHV0W2xpc3RdOmZvY3VzIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yKTsgfVxuXG4vKiAxICovXG4udWstaW5wdXRbbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IERvZXMgbm90IHdvcmsgaW4gSUUxMVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gTWFrZSBib3ggbW9yZSByb2J1c3Qgc28gaXQgY2xpcHMgdGhlIGNoaWxkIGVsZW1lbnRcbiAqIDMuIFZlcnRpY2FsIGFsaWdubWVudFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIEZpeCBibGFjayBiYWNrZ3JvdW5kIG9uIGlPU1xuICogNi4gQ2VudGVyIGljb25zXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8pKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvKCk7fVxufVxuXG4udWstcmFkaW8geyBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG5cbi51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstcmFkaW86ZGlzYWJsZWQsXG4udWstY2hlY2tib3g6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCk7fVxufVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1sZWdlbmQge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxlZ2VuZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGVnZW5kKCk7fVxufVxuXG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuXG4udWstZm9ybS1jdXN0b20ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG5cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBsZWZ0OiAwO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDUgKi9cbiAgICBmb250LXNpemU6IDUwMHB4O1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZvcm0tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sYWJlbCgpO31cbn1cblxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3RhY2tlZFxuICovXG5cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxufVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG5cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7IG1hcmdpbi1sZWZ0OiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OyB9XG5cbiAgICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7IHBhZGRpbmctdG9wOiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A7IH1cblxufVxuXG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWZvcm0taWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkZm9ybS1pY29uLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGZvcm0taWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4udWstZm9ybS1pY29uLWZsaXAgfiAudWstaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJ1dHRvblxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGJ1dHRvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1idXR0b25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYnV0dG9uLWdyb3VwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWJ1dHRvbi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWRhbmdlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGFyZ2VgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRidXR0b24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJ1dHRvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWJ1dHRvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDcgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA4ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOSAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAxMCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uKCk7fVxufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbjpob3ZlciB7XG4gICAgLyogOSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWZvY3VzKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uOmFjdGl2ZSxcbi51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGVmYXVsdDpob3Zlcixcbi51ay1idXR0b24tZGVmYXVsdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbi51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3Zlcixcbi51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXIoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGFuZ2VyOmhvdmVyLFxuLnVrLWJ1dHRvbi1kYW5nZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kYW5nZXIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zbWFsbCgpO31cbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGFyZ2UoKTt9XG59XG5cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tdGV4dDpob3Zlcixcbi51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIExpbmtcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tbGluayB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluay1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1saW5rKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWxpbms6aG92ZXIsXG4udWstYnV0dG9uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBVc2luZyBgZmxleGAgaW5zdGVhZCBvZiBgaW5saW5lLWJsb2NrYCB0byBwcmV2ZW50IHdoaXRlc3BhY2UgYmV0d2VlbnQgY2hpbGQgZWxlbWVudHNcbiAqIDIuIEJlaGF2ZSBsaWtlIGJ1dHRvblxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqL1xuXG4udWstYnV0dG9uLWdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbWlzYykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQcm9ncmVzc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByb2dyZXNzIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wcm9ncmVzc2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJvZ3Jlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiAzLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDQuIFJlbW92ZSBib3JkZXJzIGluIEZpcmVmb3ggYW5kIEVkZ2VcbiAqIDUuIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBwcm9ncmVzcyBjb250YWluZXIgaW4gRmlyZWZveCwgSUUxMSBhbmQgRWRnZVxuICogNi4gU3R5bGVcbiAqL1xuXG4udWstcHJvZ3Jlc3Mge1xuICAgIC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXByb2dyZXNzIHsgbWFyZ2luLXRvcDogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIGFuaW1hdGVkIGNpcmNsZXMgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBjb250YWluZXJcbiAqIDIuIFJlbW92ZSBwcm9ncmVzcyBiYXIgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gRmlyZWZveFxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlOjotbW96LXByb2dyZXNzLWJhciB7IHdpZHRoOiAwOyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBiYXJcbiAqIDEuIFJlbW92ZSByaWdodCBib3JkZXIgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtbWlzYykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtYmFyKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VjdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbGF5b3V0IHNlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWN0aW9uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNlY3Rpb24teHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tb3ZlcmxhcGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuXG4udWstc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbikpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24oKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXByaW1hcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBPdmVybGFwIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG4udWstc2VjdGlvbi1vdmVybGFwIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1vdmVybGFwKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1vdmVybGFwKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbnRhaW5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gYWxpZ24gYW5kIGNlbnRlciB5b3VyIHNpdGUgYW5kIGdyaWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb250YWluZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29udGFpbmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgNzUwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAxNDAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG5cbi51ay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG5cbi51ay1jb250YWluZXIgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci14bGFyZ2UgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG5cbi8qIEV4cGFuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFeHBhbmQgb25lIHNpZGUgb25seVxuICovXG5cbi51ay1jb250YWluZXItZXhwYW5kLWxlZnQgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteHNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLWxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLWxhcmdlLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhsYXJnZSxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteGxhcmdlIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteGxhcmdlLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVXRpbGl0eSBjbGFzc2VzIHRvIHJlc2V0IGNvbnRhaW5lciBwYWRkaW5nIG9uIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpZGVcbiAqIE5vdGU6IEl0IGhhcyB0byBiZSBuZWdhdGl2ZSBtYXJnaW4gb24gdGhlIGl0ZW0sIGJlY2F1c2UgaXQncyBzcGVjaWZpYyB0byB0aGUgaXRlbS5cbiAqL1xuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsfSknKSB9XG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbnRhaW5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stY29udGFpbmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVGlsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRpbGVkIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGlsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10aWxlLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zZWNvbmRhcnlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRpbGUge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUpKSB7QGluY2x1ZGUgaG9vay10aWxlKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGlsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay10aWxlLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXRpbGUtc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstdGlsZS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUtbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUteGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXRpbGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay10aWxlLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay10aWxlLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW11dGVkKSkge0BpbmNsdWRlIGhvb2stdGlsZS1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtcHJpbWFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1zZWNvbmRhcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aWxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENhcmRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBib3hlZCBjb250ZW50IGNvbnRhaW5lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jYXJkYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNhcmQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLW1lZGlhLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1iYWRnZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jYXJkLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1sYXJnZWBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY2FyZC1iYWRnZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcblxuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2FyZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZCkpIHtAaW5jbHVkZSBob29rLWNhcmQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJvZHkoKTt9XG59XG5cbi51ay1jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1mb290ZXIoKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogTWVkaWFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYSgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtdG9wLFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1sZWZ0LFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1yaWdodCAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXRvcCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtdG9wKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtYm90dG9tKCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWxlZnQoKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXRpdGxlKCk7fVxufVxuXG5cbi8qIEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBvc2l0aW9uXG4gKiAyLiBTaXplXG4gKiAzLiBTdHlsZVxuICogNC4gQ2VudGVyIGNoaWxkIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstY2FyZC1iYWRnZSB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRjYXJkLWJhZGdlLXRvcDtcbiAgICByaWdodDogJGNhcmQtYmFkZ2UtcmlnaHQ7XG4gICAgei1pbmRleDogMTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkY2FyZC1iYWRnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1iYWRnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1iYWRnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjYXJkLWJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiA0ICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIEhvdmVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtaG92ZXI6bm90KC51ay1jYXJkLWRlZmF1bHQpOm5vdCgudWstY2FyZC1wcmltYXJ5KTpub3QoLnVrLWNhcmQtc2Vjb25kYXJ5KTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqIE5vdGU6IEhlYWRlciBhbmQgRm9vdGVyIGFyZSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgZGVmYXVsdCBzdHlsZVxuICovXG5cbi51ay1jYXJkLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0KCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWhlYWRlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWZvb3RlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1jYXJkLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5KCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5KCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1jYXJkLXNtYWxsLnVrLWNhcmQtYm9keSxcbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtbGFyZ2UudWstY2FyZC1ib2R5LFxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNhcmQtYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNhcmQtYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENsb3NlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBjbG9zZSBidXR0b25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jbG9zZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDbG9zZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLWNsb3NlIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWNsb3NlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstY2xvc2U6aG92ZXIsXG4udWstY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1taXNjKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNwaW5uZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGxvYWRpbmcgc3Bpbm5lclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNwaW5uZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNwaW5uZXItc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcigoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgLyAyKSAhZGVmYXVsdDsgLy8gTWludXMgc3Ryb2tlIHdpZHRoIHRvIHByZXZlbnQgb3ZlcmZsb3cgY2xpcHBpbmdcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNHMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNwaW5uZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1zcGlubmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lcikpIHtAaW5jbHVkZSBob29rLXNwaW5uZXIoKTt9XG59XG5cblxuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNwaW5uZXIgPiAqIHsgYW5pbWF0aW9uOiB1ay1zcGlubmVyLXJvdGF0ZSAkc3Bpbm5lci1kdXJhdGlvbiBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG59XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBzdHJva2Utd2lkdGg6ICRzcGlubmVyLXN0cm9rZS13aWR0aDtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlOyB9XG4gICAgNTAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2UvNDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTtcbiAgICB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb3RvcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGljb24gdG8gc2Nyb2xsIGJhY2sgdG8gdG9wXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdG90b3BgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvdG9wLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0b3RvcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvdG9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXRvdG9wIHtcbiAgICBwYWRkaW5nOiAkdG90b3AtcGFkZGluZztcbiAgICBjb2xvcjogJHRvdG9wLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcCkpIHtAaW5jbHVkZSBob29rLXRvdG9wKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdG90b3A6aG92ZXIsXG4udWstdG90b3A6Zm9jdXMge1xuICAgIGNvbG9yOiAkdG90b3AtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXRvdG9wOmFjdGl2ZSB7XG4gICAgY29sb3I6ICR0b3RvcC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRvdG9wLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG90b3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmtlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbWFya2VyIGljb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJrZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmtlci1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJG1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1tYXJrZXIge1xuICAgIHBhZGRpbmc6ICRtYXJrZXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbWFya2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRtYXJrZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW1hcmtlcjpob3Zlcixcbi51ay1tYXJrZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlci1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmtlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGVydFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFsZXJ0IG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxlcnRgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstYWxlcnQtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYWxlcnQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhbGVydC1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcblxuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsZXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZy1yaWdodCAkYWxlcnQtcGFkZGluZyAkYWxlcnQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydCkpIHtAaW5jbHVkZSBob29rLWFsZXJ0KCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstYWxlcnQgeyBtYXJnaW4tdG9wOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRhbGVydC1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyICsgRm9jdXNcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6aG92ZXIsXG4udWstYWxlcnQtY2xvc2U6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWFsZXJ0LXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYWxlcnQtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1hbGVydC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYWxlcnQtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1taXNjKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWxlcnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFBsYWNlaG9sZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcGxhY2Vob2xkZXIgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wbGFjZWhvbGRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbCAkcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIgeyBtYXJnaW4tdG9wOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFkZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gYmFkZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFkZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhZGdlLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIycHggIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmFkZ2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gQ2VudGVyIGNoaWxkIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1iYWRnZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6ICRiYWRnZS1zaXplO1xuICAgIGhlaWdodDogJGJhZGdlLXNpemU7XG4gICAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmctdmVydGljYWwgJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFkZ2UtYm9yZGVyLXJhZGl1cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstYmFkZ2U6aG92ZXIsXG4udWstYmFkZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhZGdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGFiZWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGluZGljYXRlIGltcG9ydGFudCBub3Rlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxhYmVsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxhYmVsLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZy12ZXJ0aWNhbCAkbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWxhYmVsKCk7fVxufVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWxhYmVsLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbGFiZWwtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWxhYmVsLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtbWlzYykpIHtAaW5jbHVkZSBob29rLWxhYmVsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgT3ZlcmxheVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGNvbnRlbnQgYXJlYXMgb3ZlcmxheWluZyBhbiBpbWFnZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW92ZXJsYXlgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstb3ZlcmxheS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLW92ZXJsYXktZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJsYXktcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcblxuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAkb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsICRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstb3ZlcmxheSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1pY29uKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1pY29uKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW92ZXJsYXktcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1taXNjKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBcnRpY2xlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYXJ0aWNsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hcnRpY2xlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFydGljbGUtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hcnRpY2xlLW1ldGFgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFydGljbGUtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFydGljbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1hcnRpY2xlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogQWRqYWNlbnQgc2libGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlICsgLnVrLWFydGljbGUge1xuICAgIG1hcmdpbi10b3A6ICRhcnRpY2xlLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtdGl0bGUoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFydGljbGUtdGl0bGUgeyBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGFydGljbGUtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1tZXRhKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWlzYykpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbW1lbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBuZXN0ZWQgY29tbWVudHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb21tZW50YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbW1lbnQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbWV0YWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtYXZhdGFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1saXN0YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbW1lbnQtcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb21tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1ib2R5KCk7fVxufVxuXG4udWstY29tbWVudC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWhlYWRlcigpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb21tZW50LWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jb21tZW50LWhlYWRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtdGl0bGUoKTt9XG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjb21tZW50LW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWV0YSgpO31cbn1cblxuXG4vKiBBdmF0YXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1hdmF0YXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWF2YXRhcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYXZhdGFyKCk7fVxufVxuXG5cbi8qIExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0ID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG5cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7XG4gICAgbWFyZ2luOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3AgMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1YigpO31cbn1cblxuLyogVGFibGV0IGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7IHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTsgfVxuXG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1wcmltYXJ5KCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29tbWVudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTZWFyY2hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aGUgc2VhcmNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VhcmNoYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNlYXJjaC1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC10b2dnbGVgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstc2VhcmNoLWljb25gXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstc2VhcmNoLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbmF2YmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzZWFyY2gtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VhcmNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBSZXNldCBgZm9ybWBcbiAqL1xuXG4udWstc2VhcmNoIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8qIElucHV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDUuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKiA3LiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDguIFRha2UgdGhlIGZ1bGwgY29udGFpbmVyIHdpZHRoXG4gKiA5LiBTdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDYgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNyAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogOCAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDkgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICRzZWFyY2gtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1pbnB1dCgpO31cbn1cblxuLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLyogUGxhY2Vob2xkZXIgKi9cbi51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIEljb24gKEFkb3B0cyBgdWstaWNvbmApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZvY3VzIHN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaC1pY29uOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gYWJvdmUgaW5wdXRcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCB7IHdpZHRoOiAkc2VhcmNoLWRlZmF1bHQtd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1kZWZhdWx0LWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uIHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGgpOyB9XG5cblxuLyogTmF2YmFyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1uYXZiYXIgeyB3aWR0aDogJHNlYXJjaC1uYXZiYXItd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLW5hdmJhci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aCk7IH1cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIExhcmdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSB7IHdpZHRoOiAkc2VhcmNoLWxhcmdlLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWxhcmdlLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aCk7IH1cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRzZWFyY2gtdG9nZ2xlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLXRvZ2dsZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4udWstc2VhcmNoLXRvZ2dsZTpmb2N1cyB7XG4gICAgY29sb3I6ICRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbWlzYykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zZWFyY2gtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFjY29yZGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFjY29yZGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hY2NvcmRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYWNjb3JkaW9uLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWNjb3JkaW9uLWNvbnRlbnRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWl0ZW0oKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4udWstYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBjb2xvcjogJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCk7fVxufVxuXG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWNvbnRlbnQpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tY29udGVudCgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbiAudWstYWNjb3JkaW9uLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgRHJvcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gcG9zaXRpb24gYW55IGVsZW1lbnQgbmV4dCB0byBhbnkgb3RoZXIgZWxlbWVudC5cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3AtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ncmlkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gVXNlczogICAgICAgICAgICBBbmltYXRpb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqL1xuXG4udWstZHJvcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkZHJvcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZHJvcC13aWR0aDtcbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3AudWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcC10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRkcm9wLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcC1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kZHJvcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3AtbWFyZ2luOyB9XG5cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcC1zdGFjayAudWstZHJvcC1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3AtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRHJvcGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkcm9wZG93biBtZW51c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRyb3Bkb3duYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWRyb3Bkb3duLW5hdmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wZG93bi10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tZ3JpZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3Bkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1kcm9wZG93biB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkZHJvcGRvd24tei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wZG93bi51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1uYXYge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdigpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyArIEFjdGl2ZSAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcGRvd24tbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tbWFyZ2luOyB9XG5cblxuLyogR3JpZCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tc3RhY2sgLnVrLWRyb3Bkb3duLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE1vZGFsXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbW9kYWwgZGlhbG9nc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1vZGFsYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW1vZGFsLXBhZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1kaWFsb2dgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2Utb3V0c2lkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWZ1bGxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbW9kYWwtY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZnVsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtb2RhbC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG5cbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWwtczogICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250YWluZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ2xvYmFsLWludmVyc2UtY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNb2RhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbW9kYWwtei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbW9kYWwgeyBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1vZGFsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstbW9kYWwudWstb3BlbiB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1tb2RhbC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIERpYWxvZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3Igc3Bpbm5lciBhbmQgY2xvc2UgYnV0dG9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBGaXggYG1heC13aWR0aDogMTAwJWAgbm90IHdvcmtpbmcgaW4gY29tYmluYXRpb24gd2l0aCBmbGV4IGFuZCByZXNwb25zaXZlIGltYWdlcyBpbiBJRTExXG4gKiAgICBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJ3cml0ZSBgdWstd2lkdGgtYXV0b2AuIFNlZSBgI21vZGFsLW1lZGlhLWltYWdlYCBpbiB0ZXN0c1xuICogNC4gU3R5bGVcbiAqIDUuIFNsaWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwtZGlhbG9nIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAkbW9kYWwtZGlhbG9nLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtIDAuMDFweCknKSAhaW1wb3J0YW50O1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ7XG4gICAgLyogNSAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1kaWFsb2cpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1kaWFsb2coKTt9XG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW9wZW4gPiAudWstbW9kYWwtZGlhbG9nIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvbnRhaW5lciBzaXplXG4gKiBUYWtlIHRoZSBzYW1lIHNpemUgYXMgdGhlIENvbnRhaW5lciBjb21wb25lbnRcbiAqL1xuXG4udWstbW9kYWwtY29udGFpbmVyIC51ay1tb2RhbC1kaWFsb2cgeyB3aWR0aDogJG1vZGFsLWNvbnRhaW5lci13aWR0aDsgfVxuXG4vKlxuICogRnVsbCBzaXplXG4gKiAxLiBSZW1vdmUgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBmcm9tIG1vZGFsXG4gKiAyLiBSZXNldCBhbGwgZGVmYXVsdCBkZWNsYXJhdGlvbnMgZnJvbSBtb2RhbCBkaWFsb2dcbiAqL1xuXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbW9kYWwtZnVsbCAudWstbW9kYWwtZGlhbG9nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWZ1bGwoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbW9kYWwtYm9keSB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1ib2R5KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtYm9keSgpO31cbn1cblxuLnVrLW1vZGFsLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWhlYWRlcigpO31cbn1cblxuLnVrLW1vZGFsLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWZvb3RlcigpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1tb2RhbC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC10aXRsZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLXRpdGxlKCk7fVxufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQ6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLypcbiAqIE91dHNpZGVcbiAqIDEuIFByZXZlbnQgc2Nyb2xsYmFyIG9uIHNtYWxsIGRldmljZXNcbiAqL1xuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAvKiAxICovXG4gICAgcmlnaHQ6ICgtJG1vZGFsLWNsb3NlLXBhZGRpbmcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0oJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlKSk7XG4gICAgY29sb3I6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGU6aG92ZXIge1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLyogMSAqL1xuICAgIC51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICAgICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUsIC0oJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlKSk7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBGdWxsXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLWZ1bGwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLWZ1bGw6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbW9kYWwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlc2hvd1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHNsaWRlc2hvd3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZXNob3dgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVzaG93LWl0ZW1zYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVzaG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlc2hvdyB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdykpIHtAaW5jbHVkZSBob29rLXNsaWRlc2hvdygpO31cbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gYW5kIHN0YWNraW5nIGNvbnRleHRcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqIDQuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBpdGVtcyBhYm92ZSBlYWNoIG90aGVyXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzLCBlLmcuIGZvciBgdWstY292ZXJgXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIERpc2FibGUgaG9yaXpvbnRhbCBwYW5uaW5nIGdlc3R1cmVzIGluIElFMTEgYW5kIEVkZ2VcbiAqIDYuIFN1cHByZXNzIG91dGxpbmUgb24gZm9jdXNcbiAqL1xuXG4udWstc2xpZGVzaG93LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIC8qIDUgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4vKiA2ICovXG4udWstc2xpZGVzaG93LWl0ZW1zID4gOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+IDpub3QoLnVrLWFjdGl2ZSkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVzaG93LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3ctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgc2xpZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVyLWl0ZW1zYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgIC0xMXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAtMzlweCAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgLTI1cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIC0yNXB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVyIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVyKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cblxuLnVrLXNsaWRlci1jb250YWluZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBXaWRlbiBjb250YWluZXIgdG8gcHJldmVudCBib3gtc2hhZG93cyBmcm9tIGNsaXBwaW5nLCBgbGFyZ2UtYm94LXNoYWRvd2BcbiAqL1xuXG4udWstc2xpZGVyLWNvbnRhaW5lci1vZmZzZXQge1xuICAgIG1hcmdpbjogJHNsaWRlci1jb250YWluZXItbWFyZ2luLXRvcCAkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tcmlnaHQgJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbSAkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tbGVmdDtcbiAgICBwYWRkaW5nOiAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLXRvcCAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0ICogLTEpICgkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tYm90dG9tICogLTEpICgkc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tbGVmdCAqIC0xKTtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiAyLiBDcmVhdGUgYSBjb250YWluaW5nIGJsb2NrLiBJbiBTYWZhcmkgaXQncyBuZWl0aGVyIGNyZWF0ZWQgYnkgYHRyYW5zZm9ybWAgbm9yIGB3aWxsLWNoYW5nZWAuXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtcyB7XG4gICAgLyogMSAqL1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIFJlc2V0IGxpc3Qgc3R5bGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGdyaWRcbiAqIDIuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtczpub3QoLnVrLWdyaWQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi51ay1zbGlkZXItaXRlbXMudWstZ3JpZCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBMZXQgaXRlbXMgdGFrZSBjb250ZW50IGRpbWVuc2lvbnMgKDAgMCBhdXRvKVxuICogICAgYG1heC13aWR0aGAgbmVlZGVkIHRvIGtlZXAgaW1hZ2UgcmVzcG9uc2l2ZW5lc3MgYW5kIHByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDQuIERpc2FibGUgaG9yaXpvbnRhbCBwYW5uaW5nIGdlc3R1cmVzIGluIElFMTEgYW5kIEVkZ2VcbiAqIDUuIFN1cHByZXNzIG91dGxpbmUgb24gZm9jdXNcbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogNCAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi8qIDUgKi9cbi51ay1zbGlkZXItaXRlbXMgPiA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN0aWNreVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbWFrZSBlbGVtZW50cyBzdGlja3kgaW4gdGhlIHZpZXdwb3J0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3RpY2t5YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXN0aWNreS1maXhlZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN0aWNreS16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuXG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdGlja3lcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzb2x2ZSBmcmFtZSByYXRlIGlzc3VlcyBvbiBkZXZpY2VzIHdpdGggbG93ZXIgZnJhbWUgcmF0ZXMgYnkgZm9yY2luZyBoYXJkd2FyZSBhY2NlbGVyYXRpb25cbiAqL1xuXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgICB6LWluZGV4OiAkc3RpY2t5LXotaW5kZXg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRmFzdGVyIGFuaW1hdGlvbnNcbiAqL1xuXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxuXG4udWstc3RpY2t5LnVrLWFuaW1hdGlvbi1yZXZlcnNlIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3RpY2t5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdGlja3ktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE9mZi1jYW52YXNcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBvZmYtY2FudmFzIHNpZGViYXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vZmZjYW52YXNgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstb2ZmY2FudmFzLWJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcGFnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vZmZjYW52YXMtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstb2ZmY2FudmFzLWZsaXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1yZXZlYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtb3ZlcmxheWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG9mZmNhbnZhcy16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE9mZi1jYW52YXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2l6ZSBhbmQgc3R5bGVcbiAqIDMuIEFsbG93IHNjcm9sbGluZ1xuICovXG5cbi51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwgJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtYmFyKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWJhcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgICAgIGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7XG4gICAgICAgIHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tO1xuICAgICAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW0gJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKiBGbGlwIG1vZGlmaWVyICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgpO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7IHJpZ2h0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoLW0pOyB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHsgbGVmdDogMDsgfVxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24geyB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7IH1cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24geyB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDsgfVxuXG4vKlxuICogUmV2ZWFsIEFuaW1hdGlvblxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDbGlwIHRoZSBiYXJcbiAqIDMuIEFuaW1hdGlvblxuICogNC4gUmVzZXQgcG9zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgbGVmdDogMDtcbn1cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG4gICAgdG9wOiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWNsb3NlKCk7fVxufVxuXG5cbi8qIE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogT3ZlcmxheSB0aGUgd2hvbGUgcGFnZS4gTmVlZGVkIGZvciB0aGUgYDo6YmVmb3JlYFxuICogMS4gVXNpbmcgYDEwMHZ3YCBzbyBubyBtb2RpZmljYXRpb24gaXMgbmVlZGVkIHdoZW4gb2ZmLWNhbnZhcyBpcyBmbGlwcGVkXG4gKiAyLiBBbGxvdyBmb3IgY2xvc2luZyB3aXRoIHN3aXBlIGdlc3R1cmUgb24gZGV2aWNlcyB3aXRoIHBvaW50ZXIgZXZlbnRzLlxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheSB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICAvKiAyICovXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vKlxuICogMS4gTWFzayB0aGUgd2hvbGUgcGFnZVxuICogMi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5OjpiZWZvcmUge1xuICAgIC8qIDEgKi9cbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKTt9XG59XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUHJldmVudCBzY3JvbGxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciB3aGVuIHRoZSBjb250ZW50IGlzIHNsaWRlLW91dFxuICogSGFzIHRvIGJlIG9uIHRoZSBgaHRtbGAgZWxlbWVudCB0b28gdG8gbWFrZSBpdCB3b3JrIG9uIHRoZSBgYm9keWBcbiAqL1xuXG4udWstb2ZmY2FudmFzLXBhZ2UsXG4udWstb2ZmY2FudmFzLWNvbnRhaW5lciB7IG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVwYXJlIHNsaWRlLW91dCBhbmltYXRpb24gKFVzZWQgaW4gcmV2ZWFsIGFuZCBwdXNoIG1vZGUpXG4gKiBVc2luZyBgcG9zaXRpb246IGxlZnRgIGluc3RlYWQgb2YgYHRyYW5zZm9ybWAgYmVjYXVzZSBwb3NpdGlvbiBgZml4ZWRgIGVsZW1lbnRzIGxpa2Ugc3RpY2t5IG5hdmJhcnNcbiAqIGxvc2UgdGhlaXIgZml4ZWQgc3RhdGUgYW5kIGJlaGF2ZXMgbGlrZSBgYWJzb2x1dGVgIHdpdGhpbiBhIHRyYW5zZm9ybWVkIGNvbnRhaW5lclxuICogMS4gUHJvdmlkZSBhIGZpeGVkIHdpZHRoIGFuZCBwcmV2ZW50IHNocmlua2luZ1xuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cblxuOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGg7IH1cblxuLnVrLW9mZmNhbnZhcy1mbGlwLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICA6bm90KC51ay1vZmZjYW52YXMtZmxpcCkudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbiAgICAudWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoLW0pOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtbWlzYykpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3dpdGNoZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG5hdmlnYXRlIHRocm91Z2ggZGlmZmVyZW50IGNvbnRlbnQgcGFuZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zd2l0Y2hlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN3aXRjaGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstc3dpdGNoZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gOm5vdCgudWstYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zd2l0Y2hlciA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zd2l0Y2hlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3dpdGNoZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExlYWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBsZWFkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGVhZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsZWFkZXItZmlsbC1jb250ZW50OiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCcuJykgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sZWFkZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBQbGFjZSBlbGVtZW50IGluIHRleHQgZmxvd1xuICogMi4gTmV2ZXIgYnJlYWsgaW50byBhIG5ldyBsaW5lXG4gKiAzLiBHZXQgYSBzdHJpbmcgYmFjayB3aXRoIGFzIG1hbnkgcmVwZWF0aW5nIGNoYXJhY3RlcnMgdG8gZmlsbCB0aGUgY29udGFpbmVyXG4gKiA0LiBQcmV2ZW50IHdyYXBwaW5nLiBPdmVyZmxvd2luZyBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyXG4gKi9cblxuLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0O1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICAvKiAzICovXG4gICAgY29udGVudDogYXR0cihkYXRhLWZpbGwpO1xuICAgIC8qIDQgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBIaWRlIGlmIG1lZGlhIGRvZXMgbm90IG1hdGNoXG4gKi9cblxuLnVrLWxlYWRlci1maWxsLnVrLWxlYWRlci1oaWRlOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFBhc3MgZmlsbCBjaGFyYWN0ZXIgdG8gSlNcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwtY29udGVudDo6YmVmb3JlIHsgY29udGVudDogJyN7JGxlYWRlci1maWxsLWNvbnRlbnR9JzsgfVxuOnJvb3QgeyAtLXVrLWxlYWRlci1maWxsLWNvbnRlbnQ6ICN7JGxlYWRlci1maWxsLWNvbnRlbnR9OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGVhZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbm90aWZpY2F0aW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb24tei1pbmRleDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZpY2F0aW9uLXdpZHRoIC8gLTIpO1xufVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1ub3RpZmljYXRpb24ge1xuICAgICAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpO31cbn1cblxuKiArIC51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7IG1hcmdpbi10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOyB9XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLWNsb3NlLXRvcDtcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCk7fVxufVxuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2U6aG92ZXIgLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVG9vbHRpcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRvb2x0aXBzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdG9vbHRpcGBcbi8vXG4vLyBNb2RpZmllcnMgICAgICAgIGB1ay10b29sdGlwLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1yaWdodGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvb2x0aXAtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDMwICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY2NiAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb29sdGlwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gUG9zaXRpb25cbiAqIDMuIFJlbW92ZSB0b29sdGlwIGZyb20gZG9jdW1lbnQgZmxvdyB0byBrZWVwIHRoZSBVSWtpdCBjb250YWluZXIgZnJvbSBjaGFuZ2luZyBpdHMgc2l6ZSB3aGVuIGluamVjdGVkIGludG8gdGhlIGRvY3VtZW50IGluaXRpYWxseVxuICogNC4gRGltZW5zaW9uc1xuICogNS4gU3R5bGVcbiAqL1xuXG4udWstdG9vbHRpcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdG9vbHRpcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICB0b3A6IDA7XG4gICAgLyogNCAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbCAkdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXApKSB7QGluY2x1ZGUgaG9vay10b29sdGlwKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstdG9vbHRpcC51ay1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLXRvb2x0aXAtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkdG9vbHRpcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJHRvb2x0aXAtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICR0b29sdGlwLW1hcmdpbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXAtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG9vbHRpcCgpe31cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU29ydGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzb3J0YWJsZSBncmlkcyBhbmQgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zb3J0YWJsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zb3J0YWJsZS1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtcGxhY2Vob2xkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1oYW5kbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc29ydGFibGUtZW1wdHlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZHJhZ2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG5cbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU29ydGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zb3J0YWJsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIERyYWdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZHJhZyB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleCAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1kcmFnKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZHJhZygpO31cbn1cblxuXG4vKiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKTt9XG59XG5cblxuLyogRW1wdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZW1wdHkge1xuICAgIG1pbi1oZWlnaHQ6ICRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWVtcHR5KSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZW1wdHkoKTt9XG59XG5cblxuLyogSGFuZGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSG92ZXIgKi9cbi51ay1zb3J0YWJsZS1oYW5kbGU6aG92ZXIgeyBjdXJzb3I6IG1vdmU7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ291bnRkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgY291bnRkb3duIHRpbWVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdW50ZG93bmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb3VudGRvd24tbnVtYmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLXNlcGFyYXRvcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvdW50ZG93bi1sYWJlbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgMC44ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgLy8gOTZweFxuXG4kY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgMS42ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIDE2cHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDsgLy8gNDhweFxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3VudGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLW51bWJlcixcbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24taXRlbSgpO31cbn1cblxuXG4vKiBOdW1iZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qXG4gKiAxLiBNYWtlIG51bWJlcnMgYWxsIG9mIHRoZSBzYW1lIHNpemUgdG8gcHJldmVudCBqdW1waW5nLiBNdXN0IGJlIHN1cHBvcnRlZCBieSB0aGUgZm9udC5cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIC8qIDEgKi9cbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIC8qIDIgKi9cbiAgICBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbnVtYmVyKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogU2VwYXJhdG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHsgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbGFiZWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBHcmlkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcmVzcG9uc2l2ZSwgZmx1aWQgYW5kIG5lc3RhYmxlIGdyaWRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZ3JpZGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ncmlkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1jb2xsYXBzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWF0Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tY29sbGFwc2VgXG4vL1xuLy8gU3ViLW1vZGlmaWVyOiAgICBgdWstZ3JpZC1pdGVtLW1hdGNoYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWZpcnN0LWNvbHVtbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgY2VsbHMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogR3JpZCBjZWxsXG4gKiBOb3RlOiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiBSZXNldCBtYXJnaW4gZm9yIGUuZy4gcGFyYWdyYXBoc1xuICovXG5cbi51ay1ncmlkID4gKiB7IG1hcmdpbjogMDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWdyaWQgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogR3V0dGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZCxcbi51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCk7IH1cbiAgICAudWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQgKyAudWstZ3JpZCxcbiAgICAudWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAqICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw7IH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWNvbHVtbi1zbWFsbCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gKiAgeyBwYWRkaW5nLWxlZnQ6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkLWNvbHVtbi1tZWRpdW0geyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1tZWRpdW0gPiAqLFxuLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1sYXJnZSA+ICosXG4udWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LWxhcmdlLFxuLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCk7IH1cbiAgICAudWstZ3JpZC1sYXJnZSA+ICosXG4gICAgLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtcm93LWxhcmdlLFxuICAgIC51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgIC51ay1ncmlkLXJvdy1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAqICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw7IH1cblxufVxuXG4vKlxuICogQ29sbGFwc2VcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbHVtbi1jb2xsYXBzZSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4udWstZ3JpZC1jb2xsYXBzZSA+ICosXG4udWstZ3JpZC1jb2x1bW4tY29sbGFwc2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctY29sbGFwc2UsXG4udWstZ3JpZC1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItbGVmdDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKSkge0BpbmNsdWRlIGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKTt9XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKSkge0BpbmNsdWRlIGhvb2stZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCk7fVxufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbC1sKTtcbiAgICAgICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+ICosXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBsZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICosXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSxcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKixcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLFxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sKTtcbiAgICAgICAgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTtcbiAgICB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxufVxuXG5cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMS4gV3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGgsIGF0IGxlYXN0IDEwMCUuIE9ubHkgaWYgbm8gY2xhc3MgZnJvbSB0aGUgV2lkdGggY29tcG9uZW50IGlzIHNldC5cbiAqIDMuIEV4cGFuZCB3aWR0aCBldmVuIGlmIGxhcmdlciB0aGFuIDEwMCUsIGUuZy4gYmVjYXVzZSBvZiBuZWdhdGl2ZSBtYXJnaW4gKE5lZWRlZCBmb3IgbmVzdGVkIGdyaWRzKVxuICovXG5cbi51ay1ncmlkLW1hdGNoID4gKixcbi51ay1ncmlkLWl0ZW0tbWF0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVrLWdyaWQtbWF0Y2ggPiAqID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgZmxleDogYXV0bztcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ncmlkLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1ncmlkLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCl7fVxuLy8gQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuLy8gQG1peGluIGhvb2stZ3JpZC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgc3R5bGVzIGZvciBsaXN0IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdi1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2LXBhcmVudC1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1jZW50ZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuXG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldFxuICogMS4gUHJlcGFyZSBsaXN0c1xuICogMi4gUHJlcGFyZSBsaW5rc1xuICogMy4gUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuXG4vKiAxICovXG4udWstbmF2LFxuLnVrLW5hdiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW5hdiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogMyAqL1xuLnVrLW5hdiBsaSA+IGE6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogTXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gbGlzdHMpXG4gKi9cblxuLnVrLW5hdiA+IGxpID4gYSB7IHBhZGRpbmc6ICRuYXYtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBTdWJsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMZXZlbCAyXG4gKiBgdWxgIG5lZWRlZCBmb3IgaGlnaGVyIHNwZWNpZmljaXR5IHRvIG92ZXJyaWRlIHBhZGRpbmdcbiAqL1xuXG51bC51ay1uYXYtc3ViIHtcbiAgICBwYWRkaW5nOiAkbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbCAwICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsICRuYXYtc3VibGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1zdWIpKSB7QGluY2x1ZGUgaG9vay1uYXYtc3ViKCk7fVxufVxuXG4vKlxuICogTGV2ZWwgMyBhbmQgZGVlcGVyXG4gKi9cblxuLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtc3ViIGEgeyBwYWRkaW5nOiAkbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsIDA7IH1cblxuXG4vKiBQYXJlbnQgaWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6ICRuYXYtcGFyZW50LWljb24td2lkdGg7XG4gICAgaGVpZ2h0OiAkbmF2LXBhcmVudC1pY29uLWhlaWdodDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkbmF2LXBhcmVudC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wYXJlbnQtaWNvbikpIHtAaW5jbHVkZSBob29rLW5hdi1wYXJlbnQtaWNvbigpO31cbn1cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpOyB9XG5cblxuLyogSGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG5hdi1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRuYXYtaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1oZWFkZXIoKTt9XG59XG5cbi51ay1uYXYtaGVhZGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLXRvcDogJG5hdi1oZWFkZXItbWFyZ2luLXRvcDsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWRpdmlkZXIge1xuICAgIG1hcmdpbjogJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbCAkbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cblxuLyogUHJpbWFyeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAkbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXYtcHJpbWFyeS1pdGVtLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIFN1Ymxpc3RzICovXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1Yixcbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViIHVsIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyICAqL1xuLnVrLW5hdi1jZW50ZXIudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZiYXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIG5hdmlnYXRpb24gYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmJhcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXZiYXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItaXRlbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3VidGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGJhcmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd25gICsgTW9kaWZpZXJzXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLWdyaWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2YmFyLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdHJhbnNwYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3RpY2t5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBjZW50ZXIgbmF2YmFyIGdyb3VwXG4gKi9cblxuLnVrLW5hdmJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItY29udGFpbmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmJlZm9yZSxcbi51ay1uYXZiYXItY29udGFpbmVyID4gOjphZnRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIEdyb3Vwc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4vLyAyLiBbY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyJ10sXG4udWstbmF2YmFyLWNlbnRlcixcbi51ay1uYXZiYXItY2VudGVyLWxlZnQgPiAqLFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogSG9yaXpvbnRhbCBhbGlnbm1lbnRcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBjZW50ZXJlZCBuYXZiYXIgd2l0aCBzdWIgZ3JvdXBzIChsZWZ0L3JpZ2h0KVxuICogMi4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lci5cbiAqIDMuIE5lZWRlZCBmb3IgZHJvcGRvd25zIGJlY2F1c2UgYSBuZXcgcG9zaXRpb24gY29udGV4dCBpcyBjcmVhdGVkXG4gKiAgICBgei1pbmRleGAgbXVzdCBiZSBzbWFsbGVyIHRoYW4gb2ZmLWNhbnZhc1xuICogNC4gQWxpZ24gc3ViIGdyb3VwcyBmb3IgY2VudGVyZWQgbmF2YmFyXG4gKi9cblxuLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDMgKi9cbiAgICB6LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAxMDtcbn1cblxuLyogNCAqL1xuLnVrLW5hdmJhci1jZW50ZXItbGVmdCxcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogMDtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCB7IHJpZ2h0OiAxMDAlOyB9XG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7IGxlZnQ6IDEwMCU7IH1cblxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSB7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLyogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstbmF2YmFyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiBPbmx5IG5vdCBgYWJzb2x1dGVgIHBvc2l0aW9uZWQgZ3JvdXBzXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIFN0eWxlXG4gKiA0LiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsICAgIC8vIE5hdiBpdGVtXG4udWstbmF2YmFyLWl0ZW0sICAgICAgICAgICAgLy8gQ29udGVudCBpdGVtXG4udWstbmF2YmFyLXRvZ2dsZSB7ICAgICAgICAgLy8gQ2xpY2thYmxlIGl0ZW1cbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi1oZWlnaHQ6ICRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk7XG4gICAgLyogNCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIE5hdiBpdGVtc1xuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqIEFwcGx5IGhvdmVyIHN0eWxlIGFsc28gdG8gZm9jdXMgc3RhdGUgYW5kIGlmIGRyb3Bkb3duIGlzIG9wZW5lZFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItaXRlbSB7XG4gICAgY29sb3I6ICRuYXZiYXItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItaXRlbSgpO31cbn1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRuYXZiYXItdG9nZ2xlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZSgpO31cbn1cblxuLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsXG4udWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbi51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLW5hdmJhci10b2dnbGUtaWNvbiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaWNvbikpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUtaWNvbigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuOmhvdmVyID4gLnVrLW5hdmJhci10b2dnbGUtaWNvbixcbjpmb2N1cyA+IC51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKTt9XG59XG5cblxuLyogU3VidGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6ICRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItc3VidGl0bGUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItc3VidGl0bGUoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItcHJpbWFyeSgpO31cbn1cblxuLnVrLW5hdmJhci10cmFuc3BhcmVudCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10cmFuc3BhcmVudCkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10cmFuc3BhcmVudCgpO31cbn1cblxuLnVrLW5hdmJhci1zdGlja3kge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItc3RpY2t5KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN0aWNreSgpO31cbn1cblxuXG4vKiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWRyb3Bkb3duYFxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93biB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRuYXZiYXItZHJvcGRvd24td2lkdGg7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICRuYXZiYXItZHJvcGRvd24tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bigpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi10b3AnXSB7IG1hcmdpbi10b3A6ICgtJG5hdmJhci1kcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJG5hdmJhci1kcm9wZG93bi1tYXJnaW47IH1cblxuLypcbiAqIEdyaWRcbiAqIEFkb3B0cyBgdWstZ3JpZGBcbiAqL1xuXG4vKiBHdXR0ZXIgSG9yaXpvbnRhbCAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIEd1dHRlciBWZXJ0aWNhbCAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKiBTdGFjayAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjayAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKlxuICogV2lkdGggbW9kaWZpZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTI6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogMik7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtMzpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAzKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC00Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDQpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTU6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogNSk7IH1cblxuLypcbiAqIERyb3BiYXIgbW9kaWZpZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIge1xuICAgIG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCk7fVxufVxuXG5cbi8qIERyb3Bkb3duIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGJhciB7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXIoKTt9XG59XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGJhci1zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGJhci16LWluZGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1zdGlja3koKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3VibmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBzdWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN1Ym5hdmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zdWJuYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXN1Ym5hdi1waWxsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpcnN0LWNvbHVtbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHN1Ym5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHN1Ym5hdi1pdGVtLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3VibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstc3VibmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiBVc2luZyBgOmZpcnN0LWNoaWxkYCBpbnN0ZWFkIG9mIGBhYCB0byBzdXBwb3J0IGBzcGFuYCBlbGVtZW50cyBmb3IgdGV4dFxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zdWJuYXYgPiAqID4gYTpob3Zlcixcbi51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogRGl2aWRlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTZXQgZ3V0dGVyIFxuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCgkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgKiAyKSArICRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGgpOyB9XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbmQgZGl2aWRlciB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLXN1Ym5hdi1kaXZpZGVyID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogRGl2aWRlclxuICogMS4gYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiA6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAoJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsIC0gJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgYm9yZGVyLWxlZnQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIDEgKi9cbi51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWwgJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJyZWFkY3J1bWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGJyZWFkY3J1bWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJyZWFkY3J1bWJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG5cbi51ay1icmVhZGNydW1iIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iKCk7fVxufVxuXG4vKlxuICogMS4gRG9lc24ndCBnZW5lcmF0ZSBhbnkgYm94IGFuZCByZXBsYWNlZCBieSBjaGlsZCBib3hlc1xuICovXG5cbi51ay1icmVhZGNydW1iID4gKiB7IGRpc3BsYXk6IGNvbnRlbnRzOyB9XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3Zlcixcbi51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJyZWFkY3J1bWIgPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiBzcGFuLFxuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+IGE6bm90KFtocmVmXSkge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICogMS4gUmVtb3ZlIHNwYWNlIGJldHdlZW4gaW5saW5lIGJsb2NrIGVsZW1lbnRzLlxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsIDAgdW5xdW90ZSgnY2FsYygjeyRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWx9IC0gNHB4KScpO1xuICAgIC8qIDIgKi9cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWRpdmlkZXItZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZ2luYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHBhZ2UgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZ2luYXRpb25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstcGFnaW5hdGlvbi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFnaW5hdGlvbi1wcmV2aW91c2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFnaW5hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLXZlcnRpY2FsICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1wYWdpbmF0aW9uID4gKiA+IDpob3Zlcixcbi51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUYWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHRhYmJlZCBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFiYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRhYi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1yaWdodGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXRhYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kdGFiLW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWIpKSB7QGluY2x1ZGUgaG9vay10YWIoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay10YWIgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkdGFiLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gQ2VudGVyIHRleHQgaWYgYSB3aWR0aCBpcyBzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXRhYiA+ICogPiBhIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10YWIgPiAqID4gYTpob3Zlcixcbi51ay10YWIgPiAqID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQm90dG9tXG4gKi9cblxuLnVrLXRhYi1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItYm90dG9tKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbSgpO31cbn1cblxuLnVrLXRhYi1ib3R0b20gPiAqID4gYSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20taXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1ib3R0b20taXRlbSgpO31cbn1cblxuLypcbiAqIExlZnQgKyBSaWdodFxuICogMS4gUmVzZXQgR3V0dGVyXG4gKi9cblxuLnVrLXRhYi1sZWZ0LFxuLnVrLXRhYi1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdCkpIHtAaW5jbHVkZSBob29rLXRhYi1sZWZ0KCk7fVxufVxuXG4udWstdGFiLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0KCk7fVxufVxuXG4udWstdGFiLWxlZnQgPiAqID4gYSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWxlZnQtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1sZWZ0LWl0ZW0oKTt9XG59XG5cbi51ay10YWItcmlnaHQgPiAqID4gYSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLXJpZ2h0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItcmlnaHQtaXRlbSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbWlzYykpIHtAaW5jbHVkZSBob29rLXRhYi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10YWIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlbmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcHJldmlvdXMvbmV4dCBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVuYXZgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVuYXYtY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNsaWRlbmF2LXByZXZpb3VzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVuYXYtbmV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1zbGlkZW5hdiB7XG4gICAgcGFkZGluZzogJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWwgJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2xpZGVuYXY6aG92ZXIsXG4udWstc2xpZGVuYXY6Zm9jdXMge1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWFjdGl2ZSgpO31cbn1cblxuXG4vKiBJY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZpb3VzXG4gKi9cblxuLnVrLXNsaWRlbmF2LXByZXZpb3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtcHJldmlvdXMpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1wcmV2aW91cygpO31cbn1cblxuLypcbiAqIE5leHRcbiAqL1xuXG4udWstc2xpZGVuYXYtbmV4dCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LW5leHQpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1uZXh0KCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2xpZGVuYXYtbGFyZ2Uge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWxhcmdlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbGFyZ2UoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtY29udGFpbmVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zbGlkZW5hdi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjk1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRG90bmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZG90IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZG90bmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWRvdG5hdi12ZXJ0aWNhbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGRvdG5hdi1pdGVtLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvdG5hdi1pdGVtLXdpZHRoICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcblxuJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRG90bmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBIaWRlIHRleHQgaWYgcHJlc2VudFxuICovXG5cbi51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGRvdG5hdi1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJGRvdG5hdi1pdGVtLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZG90bmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAvKiAxICovXG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstZG90bmF2ID4gKiA+IDpob3Zlcixcbi51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1kb3RuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWRvdG5hdi12ZXJ0aWNhbCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogJGRvdG5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZG90bmF2KCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVGh1bWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aHVtYm5haWwgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10aHVtYm5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay10aHVtYm5hdi12ZXJ0aWNhbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaHVtYm5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2KSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYoKTt9XG59XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIDEuIEd1dHRlclxuICovXG5cbi51ay10aHVtYm5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdGh1bWJuYXYgPiAqID4gOmhvdmVyLFxuLnVrLXRodW1ibmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRodW1ibmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstdGh1bWJuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay10aHVtYm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay10aHVtYm5hdi12ZXJ0aWNhbCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBJY29ubmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWljb25uYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstaWNvbm5hdi12ZXJ0aWNhbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25uYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdikpIHtAaW5jbHVkZSBob29rLWljb25uYXYoKTt9XG59XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIDEuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1pY29ubmF2ID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb25uYXYgPiAqID4gYTpob3Zlcixcbi51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstaWNvbm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkaWNvbm5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExpZ2h0Ym94XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gbGlnaHRib3ggaW1hZ2UgZ2FsbGVyeVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0Ym94YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWxpZ2h0Ym94LXBhZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1pdGVtc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1idXR0b25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1jYXB0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaWZyYW1lYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpZ2h0Ym94LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgMTAwdncgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMTAwdmggIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpZ2h0Ym94XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqIDcuIFByZXZlbnQgY2FuY2VsbGF0aW9uIG9mIHBvaW50ZXIgZXZlbnRzIHdoaWxlIGRyYWdnaW5nXG4gKi9cblxuLnVrLWxpZ2h0Ym94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbGlnaHRib3gtei1pbmRleDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgLyogNyAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveCgpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqIDEuIENlbnRlciBjaGlsZFxuICogMi4gRmFkZS1pblxuICovXG5cbi51ay1saWdodGJveC51ay1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1saWdodGJveC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGNoaWxkIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAqIDIuIE5vdCB2aXNpYmxlIGJ5IGRlZmF1bHRcbiAqIDMuIENvbG9yIG5lZWRlZCBmb3Igc3Bpbm5lciBpY29uXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBVc2luZyBgdmhgIGFuZCBgdndgIHRvIG1ha2UgcmVzcG9uc2l2ZSBpbWFnZSB3b3JrIGluIElFMTFcbiAqIDYuIFN1cHByZXNzIG91dGxpbmUgb24gZm9jdXNcbiAqL1xuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJGxpZ2h0Ym94LWl0ZW0tY29sb3I7XG4gICAgLyogNCAqL1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1pdGVtKCk7fVxufVxuXG4vKiA1ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gKiB7XG4gICAgbWF4LXdpZHRoOiAkbGlnaHRib3gtaXRlbS1tYXgtd2lkdGg7XG4gICAgbWF4LWhlaWdodDogJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDtcbn1cblxuLyogNiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gOm5vdChpZnJhbWUpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi51ay1saWdodGJveC1pdGVtcyA+IC51ay1hY3RpdmUgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qIFRvb2xiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhciB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbCAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyKCk7fVxufVxuXG4udWstbGlnaHRib3gtdG9vbGJhciA+ICogeyBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I7IH1cblxuXG4vKiBUb29sYmFyIEljb24gKENsb3NlKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb24ge1xuICAgIHBhZGRpbmc6ICRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZztcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCk7fVxufVxuXG5cblxuLyogQnV0dG9uIChTbGlkZW5hdilcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWxpZ2h0Ym94LWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyLFxuLnVrLWxpZ2h0Ym94LWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLWxpZ2h0Ym94LWJ1dHRvbjphY3RpdmUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWNhcHRpb246ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWlmcmFtZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3goKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbmltYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBrZXlmcmFtZSBhbmltYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYW5pbWF0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYW5pbWF0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1rZW5idXJuc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zaGFrZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zdHJva2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tcmV2ZXJzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1mYXN0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFuaW1hdGlvbi10b2dnbGVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMnMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cblxuLyogQW5pbWF0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1mYWRlIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbi8qXG4gKiBTY2FsZVxuICovXG5cbi51ay1hbmltYXRpb24tc2NhbGUtdXAgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjsgfVxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0OyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7IH1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Atc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3Atc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtc21hbGw7IH1cblxuLypcbiAqIFNsaWRlIE1lZGl1bVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1tZWRpdW07IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjtcbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zaGFrZSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTsgfVxuXG4vKlxuICogU1ZHIFN0cm9rZVxuICogVGhlIGAtLXVrLWFuaW1hdGlvbi1zdHJva2VgIGN1c3RvbSBwcm9wZXJ0eSBjb250YWlucyB0aGUgbG9uZ2VzdCBwYXRoIGxlbmd0aC5cbiAqIFNldCBpdCBtYW51YWxseSBvciB1c2UgYHVrLXN2Zz1cInN0cm9rZS1hbmltYXRpb246IHRydWVcImAgdG8gc2V0IGl0IGF1dG9tYXRpY2FsbHkuXG4gKiBBbGwgc3Ryb2tlcyBhcmUgYW5pbWF0ZWQgYnkgdGhlIHNhbWUgcGFjZSBhbmQgZG9lc24ndCBlbmQgc2ltdWx0YW5lb3VzbHkuXG4gKiBUbyBlbmQgc2ltdWx0YW5lb3VzbHksIGBwYXRoTGVuZ3RoPVwiMVwiYCBjb3VsZCBiZSB1c2VkLCBidXQgaXQncyBub3Qgd29ya2luZyBpbiBTYWZhcmkgeWV0LlxuICovXG5cbi51ay1hbmltYXRpb24tc3Ryb2tlIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc3Ryb2tlO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb247XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1hbmltYXRpb24tcmV2ZXJzZSB7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1hbmltYXRpb24tZmFzdCB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOyB9XG5cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgdXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uLW5hbWU6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGUge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogUmVtb3ZlIG91dGxpbmUgZm9yIGB0YWJpbmRleGBcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBLZXlmcmFtZXMgdXNlZCBieSBhbmltYXRpb24gY2xhc3Nlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgICAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0XG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBVcFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIERvd25cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbkBrZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAxMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgICAyMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICAgIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgICA3MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfVxufVxuXG4vKlxuICogU3Ryb2tlXG4gKi9cblxuIEBrZXlmcmFtZXMgdWstc3Ryb2tlIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTsgfVxuICAgIDEwMCUgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFuaW1hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYW5pbWF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBXaWR0aFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHdpZHRoc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNoaWxkLXdpZHRoLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay13aWR0aC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR3aWR0aC1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC0yeGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogV2lkdGhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIEVxdWFsIGNoaWxkIHdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNoaWxkLXdpZHRoJ10gPiAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS0yID4gKiB7IHdpZHRoOiA1MCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICogeyB3aWR0aDogMjUlOyB9XG4udWstY2hpbGQtd2lkdGgtMS01ID4gKiB7IHdpZHRoOiAyMCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTYgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4udWstY2hpbGQtd2lkdGgtYXV0byA+ICogeyB3aWR0aDogYXV0bzsgfVxuXG4vKlxuICogMS4gUmVzZXQgdGhlIGBtaW4td2lkdGhgLCB3aGljaCBpcyBzZXQgdG8gYXV0byBieSBkZWZhdWx0LCBiZWNhdXNlXG4gKiAgICBmbGV4IGl0ZW1zIHdvbid0IHNocmluayBiZWxvdyB0aGVpciBtaW5pbXVtIGludHJpbnNpYyBjb250ZW50IHNpemUuXG4gKiAgICBVc2luZyBgMXB4YCBpbnN0ZWFkIG9mIGAwYCwgc28gaXRlbXMgc3RpbGwgd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmUsXG4gKiAgICBpZiB0aGV5IGhhdmUgemVybyB3aWR0aCBhbmQgcGFkZGluZyBhbmQgdGhlIHByZWRlY2Vzc29yIGlzIDEwMCUgd2lkZS5cbiAqL1xuXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHMgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBtID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbSA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQG0gPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHhsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAeGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG5cbi8qIFNpbmdsZSBXaWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gYG1heC13aWR0aGAgaXMgbmVlZGVkIGZvciB0aGUgcGl4ZWwtYmFzZWQgY2xhc3Nlc1xuICovXG5cbltjbGFzcyo9J3VrLXdpZHRoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogSGFsdmVzICovXG4udWstd2lkdGgtMS0yIHsgd2lkdGg6IDUwJTsgfVxuXG4vKiBUaGlyZHMgKi9cbi51ay13aWR0aC0xLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstd2lkdGgtMi0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4vKiBRdWFydGVycyAqL1xuLnVrLXdpZHRoLTEtNCB7IHdpZHRoOiAyNSU7IH1cbi51ay13aWR0aC0zLTQgeyB3aWR0aDogNzUlOyB9XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7IHdpZHRoOiAyMCU7IH1cbi51ay13aWR0aC0yLTUgeyB3aWR0aDogNDAlOyB9XG4udWstd2lkdGgtMy01IHsgd2lkdGg6IDYwJTsgfVxuLnVrLXdpZHRoLTQtNSB7IHdpZHRoOiA4MCU7IH1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuLnVrLXdpZHRoLTUtNiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuLyogUGl4ZWwgKi9cbi51ay13aWR0aC1zbWFsbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbi51ay13aWR0aC1tZWRpdW0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuLnVrLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuLnVrLXdpZHRoLXhsYXJnZSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgtMnhsYXJnZSB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstd2lkdGgteHhsYXJnZSB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxufVxuXG4vKiBBdXRvICovXG4udWstd2lkdGgtYXV0byB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qIEV4cGFuZCAqL1xuLnVrLXdpZHRoLWV4cGFuZCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAcyB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAcyB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAcyB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAcyB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBzIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBzIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBzIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBzIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHMgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHMgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBzIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBzIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbSB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbSB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbSB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbSB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBtIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBtIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBtIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBtIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQG0geyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQG0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBsIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBsIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEB4bCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAeGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAeGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHhsIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHhsIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEB4bCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAeGwgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHhsIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAeGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHhsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEB4bCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXdpZHRoLW1pc2MpKSB7QGluY2x1ZGUgaG9vay13aWR0aC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWlnaHRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBoZWlnaHRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGVpZ2h0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGhlaWdodC1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWlnaHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1oZWlnaHQnXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIE9ubHkgd29ya3MgaWYgcGFyZW50IGVsZW1lbnQgaGFzIGEgaGVpZ2h0IHNldFxuICovXG5cbi51ay1oZWlnaHQtMS0xIHsgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcbiAqL1xuXG4udWstaGVpZ2h0LXZpZXdwb3J0IHsgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLypcbiAqIFBpeGVsXG4gKiBVc2VmdWwgZm9yIGBvdmVyZmxvdzogYXV0b2BcbiAqL1xuXG4udWstaGVpZ2h0LXNtYWxsIHsgaGVpZ2h0OiAkaGVpZ2h0LXNtYWxsLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tZWRpdW0geyBoZWlnaHQ6ICRoZWlnaHQtbWVkaXVtLWhlaWdodDsgfVxuLnVrLWhlaWdodC1sYXJnZSB7IGhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuLnVrLWhlaWdodC1tYXgtc21hbGwgeyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LXNtYWxsLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tYXgtbWVkaXVtIHsgbWF4LWhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1sYXJnZSB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtbGFyZ2UtaGVpZ2h0OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVpZ2h0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1oZWlnaHQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVpZ2h0LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRleHRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGV4dC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHRleHQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRleHQtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWFkIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sZWFkLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1sZWFkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LWxlYWQpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxlYWQoKTt9XG59XG5cbi51ay10ZXh0LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbWV0YSkpIHtAaW5jbHVkZSBob29rLXRleHQtbWV0YSgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LXNtYWxsIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtc21hbGwpKSB7QGluY2x1ZGUgaG9vay10ZXh0LXNtYWxsKCk7fVxufVxuXG4udWstdGV4dC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LWxhcmdlKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sYXJnZSgpO31cbn1cblxuLnVrLXRleHQtZGVmYXVsdCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodDtcbn1cblxuXG4vKiBXZWlnaHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1saWdodCB7IGZvbnQtd2VpZ2h0OiAzMDA7IH1cbi51ay10ZXh0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbi51ay10ZXh0LWJvbGQgeyBmb250LXdlaWdodDogNzAwOyB9XG4gXG4udWstdGV4dC1saWdodGVyIHsgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7IH1cbi51ay10ZXh0LWJvbGRlciB7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuIFxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuLnVrLXRleHQtaXRhbGljIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cblxuLyogVHJhbnNmb3JtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXVwcGVyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbG93ZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZW1waGFzaXMgeyBjb2xvcjogJHRleHQtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXNlY29uZGFyeSB7IGNvbG9yOiAkdGV4dC1zZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc3VjY2VzcyB7IGNvbG9yOiAkdGV4dC1zdWNjZXNzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXdhcm5pbmcgeyBjb2xvcjogJHRleHQtd2FybmluZy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1kYW5nZXIgeyBjb2xvcjogJHRleHQtZGFuZ2VyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFRoZSBiYWNrZ3JvdW5kIGNsaXBzIHRvIHRoZSBmb3JlZ3JvdW5kIHRleHQuIFdvcmtzIGluIENocm9tZSwgRmlyZWZveCwgU2FmYXJpLCBFZGdlIGFuZCBPcGVyYVxuICogICAgRGVmYXVsdCBjb2xvciBpcyBzZXQgdG8gdHJhbnNwYXJlbnRcbiAqIDIuIENvbnRhaW5lciBmaXRzIHRoZSB0ZXh0XG4gKiAzLiBGYWxsYmFjayBjb2xvciBmb3IgSUUxMVxuICovXG5cbi51ay10ZXh0LWJhY2tncm91bmQge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHRleHQtYmFja2dyb3VuZC1jb2xvciAhaW1wb3J0YW50O1xufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0KSB7XG5cbiAgICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LWJhY2tncm91bmQpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWJhY2tncm91bmQoKTt9XG4gICAgfVxuXG59XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHMgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHMgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAcyB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbSB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbSB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBtIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQGwgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEB4bCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAeGwgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAeGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWZXJ0aWNhbFxuICovXG5cbi51ay10ZXh0LXRvcCB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbWlkZGxlIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJhc2VsaW5lIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBXcmFwIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzXG4gKi9cblxuLnVrLXRleHQtbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogMS4gTWFrZSBzdXJlIGEgbWF4LXdpZHRoIGlzIHNldCBhZnRlciB3aGljaCB0cnVuY2F0aW9uIGNhbiBvY2N1clxuICogMi4gUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXNcbiAqIDMuIEZpeCBmb3IgdGFibGUgY2VsbHNcbiAqL1xuXG4udWstdGV4dC10cnVuY2F0ZSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiAyICovXG50aC51ay10ZXh0LXRydW5jYXRlLFxudGQudWstdGV4dC10cnVuY2F0ZSB7IG1heC13aWR0aDogMDsgfVxuXG5cbi8qXG4gKiAxLiBXcmFwIGxvbmcgd29yZHMgb250byB0aGUgbmV4dCBsaW5lIGFuZCBicmVhayB0aGVtIGlmIHRoZXkgYXJlIHRvbyBsb25nIHRvIGZpdFxuICogMi4gTGVnYWN5IGB3b3JkLXdyYXBgIGFzIGZhbGxiYWNrIGZvciBgb3ZlcmZsb3ctd3JhcGBcbiAqIDMuIEZpeCBgb3ZlcmZsb3ctd3JhcGAgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGggdGFibGUgY2VsbHMgaW4gQ2hyb21lLCBPcGVyYSwgSUUxMSBhbmQgRWRnZVxuICogICAgTXVzdCB1c2UgYGJyZWFrLWFsbGAgdG8gc3VwcG9ydCBJRTExIGFuZCBFZGdlXG4gKiBOb3RlOiBOb3QgdXNpbmcgYGh5cGhlbnM6IGF1dG87YCBiZWNhdXNlIGl0IGh5cGhlbmF0ZXMgdGV4dCBldmVuIGlmIG5vdCBuZWVkZWRcbiAqL1xuXG4udWstdGV4dC1icmVhayB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgLyogMiAqL1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLyogMyAqL1xudGgudWstdGV4dC1icmVhayxcbnRkLnVrLXRleHQtYnJlYWsgeyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbWlzYykpIHtAaW5jbHVkZSBob29rLXRleHQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29sdW1uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdGV4dCBjb2x1bW5zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29sdW1uLSpgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY29sdW1uLXNwYW5gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY29sdW1uLWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbHVtbi1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29sdW1uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIHsgY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXI7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIFtjbGFzcyo9J3VrLWNvbHVtbi0nXSB7IGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyLWw7IH1cblxufVxuXG4vKlxuICogRml4IGltYWdlIDFweCBsaW5lIHdyYXBwaW5nIGludG8gdGhlIG5leHQgY29sdW1uIGluIENocm9tZVxuICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSBpbWcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsgfVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRG91YmxlIHRoZSBjb2x1bW4gZ2FwXG4gKi9cblxuLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICBjb2x1bW4tcnVsZTogJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGggc29saWQgJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgLyogMSAqL1xuICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlciAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAgICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyLWwgKiAyKTtcbiAgICB9XG5cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29sdW1uLTEtMiB7IGNvbHVtbi1jb3VudDogMjt9XG4udWstY29sdW1uLTEtMyB7IGNvbHVtbi1jb3VudDogMzsgfVxuLnVrLWNvbHVtbi0xLTQgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbi51ay1jb2x1bW4tMS01IHsgY29sdW1uLWNvdW50OiA1OyB9XG4udWstY29sdW1uLTEtNiB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHMgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQHMgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQHMgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHMgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQHMgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbSB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbSB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbSB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbSB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbSB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQGwgeyBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAudWstY29sdW1uLTEtM1xcQGwgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQGwgeyBjb2x1bW4tY291bnQ6IDU7IH1cbiAgICAudWstY29sdW1uLTEtNlxcQGwgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEB4bCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAeGwgeyBjb2x1bW4tY291bnQ6IDM7IH1cbiAgICAudWstY29sdW1uLTEtNFxcQHhsIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEB4bCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAeGwgeyBjb2x1bW4tY291bnQ6IDY7IH1cblxufVxuXG4vKiBNYWtlIGVsZW1lbnQgc3BhbiBhY3Jvc3MgYWxsIGNvbHVtbnNcbiAqIERvZXMgbm90IHdvcmsgaW4gRmlyZWZveCB5ZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29sdW1uLXNwYW4geyBjb2x1bW4tc3BhbjogYWxsOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29sdW1uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb2x1bW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3ZlclxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gbGV0IGVtYmVkZGVkIGNvbnRlbnQgY292ZXIgdGhlaXIgY29udGFpbmVyIGluIGEgY2VudGVyZWQgcG9zaXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb3ZlcmBcbi8vXG4vLyBTdWItb2JqZWN0OiAgICAgIGB1ay1jb3Zlci1jb250YWluZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFdvcmtzIHdpdGggaWZyYW1lcyBhbmQgZW1iZWRkZWQgY29udGVudFxuICogMS4gUmVzZXQgcmVzcG9uc2l2ZW5lc3MgZm9yIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDIuIENlbnRlciBvYmplY3RcbiAqIE5vdGU6IFBlcmNlbnQgdmFsdWVzIG9uIHRoZSBgdG9wYCBwcm9wZXJ0eSBvbmx5IHdvcmtzIGlmIHRoaXMgZWxlbWVudFxuICogICAgICAgaXMgYWJzb2x1dGUgcG9zaXRpb25lZCBvciBpZiB0aGUgY29udGFpbmVyIGhhcyBhIGhlaWdodFxuICovXG5cbi51ay1jb3ZlciB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xufVxuXG5pZnJhbWUudWstY292ZXIgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQYXJlbnQgY29udGFpbmVyIHdoaWNoIGNsaXBzIHJlc2l6ZWQgb2JqZWN0XG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXG4gKi9cblxuLnVrLWNvdmVyLWNvbnRhaW5lciB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3Zlci1taXNjKSkge0BpbmNsdWRlIGhvb2stY292ZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY292ZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhY2tncm91bmRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhY2tncm91bmQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWNrZ3JvdW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWRlZmF1bHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ7IH1cbi51ay1iYWNrZ3JvdW5kLW11dGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtcHJpbWFyeSB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtc2Vjb25kYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7IH1cblxuXG4vKiBTaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtY292ZXIsXG4udWstYmFja2dyb3VuZC1jb250YWluLFxuLnVrLWJhY2tncm91bmQtd2lkdGgtMS0xLFxuLnVrLWJhY2tncm91bmQtaGVpZ2h0LTEtMSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4udWstYmFja2dyb3VuZC1jb3ZlciB7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4geyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbi51ay1iYWNrZ3JvdW5kLXdpZHRoLTEtMSB7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtaGVpZ2h0LTEtMSB7IGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlOyB9XG5cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9XG5cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXggYnVnIGludHJvZHVjZWQgaW4gQ2hyb21lIDY3OiB0aGUgYmFja2dyb3VuZCBpbWFnZSBpcyBub3QgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCBvbiB0aGUgcGFnZSB1c2VzIGB0cmFuc2xhdGUzZGBcbiAqL1xuXG4udWstYmFja2dyb3VuZC1maXhlZCB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAvKiAxICovXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRXhjbHVkZSB0b3VjaCBkZXZpY2VzIGJlY2F1c2UgYGZpeGVkYCBkb2Vzbid0IHdvcmsgb24gaU9TIGFuZCBBbmRyb2lkXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstYmFja2dyb3VuZC1maXhlZCB7IGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG59XG5cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBtIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbCB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ibGVuZC1tdWx0aXBseSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNjcmVlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kYXJrZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbGlnaHRlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1idXJuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1oYXJkLWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kaWZmZXJlbmNlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1leGNsdXNpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNhdHVyYXRpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhY2tncm91bmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhY2tncm91bmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGlnblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gYWxpZ24gZW1iZWRkZWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsaWduLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1jZW50ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10geyBtYXJnaW4tdG9wOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuXG4udWstYWxpZ24tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cblxuLnVrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1sZWZ0LFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgICAudWstYWxpZ24tbGVmdFxcQG0sXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0LFxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHsgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsaWduLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGlnbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU1ZHXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBzdHlsZSBTVkdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3ZnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMi4gU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLyogMSAqL1xuLnVrLXN2Zyxcbi8qIDIgKi9cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1zdmcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3ZnLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3ZnLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFV0aWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGNvbGxlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYW5lbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2xlYXJmaXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mbG9hdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmZsb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc2l6ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzcGxheS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5saW5lLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNwb25zaXZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZS13aWR0aGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJvcmRlci0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wY2FwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbG9nb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJsZW5kLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS1vcmlnaW4tKmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnb3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6ICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcblxuJGxvZ28tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJhZ292ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYW5lbCB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXBhbmVsID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLypcbiAqIFNjcm9sbGFibGVcbiAqL1xuXG4udWstcGFuZWwtc2Nyb2xsYWJsZSB7XG4gICAgaGVpZ2h0OiAkcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZztcbiAgICBib3JkZXI6ICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHJlc2l6ZTogYm90aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFuZWwtc2Nyb2xsYWJsZSkpIHtAaW5jbHVkZSBob29rLXBhbmVsLXNjcm9sbGFibGUoKTt9XG59XG5cblxuLyogQ2xlYXJmaXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gYHRhYmxlLWNlbGxgIGlzIHVzZWQgd2l0aCBgOjpiZWZvcmVgIGJlY2F1c2UgYHRhYmxlYCBjcmVhdGVzIGEgMXB4IGdhcCB3aGVuIGl0IGJlY29tZXMgYSBmbGV4IGl0ZW0sIG9ubHkgaW4gV2Via2l0XG4gKiAyLiBgdGFibGVgIGlzIHVzZWQgYWdhaW4gd2l0aCBgOjphZnRlcmAgYmVjYXVzZSBgY2xlYXJgIG9ubHkgd29ya3Mgd2l0aCBibG9jayBlbGVtZW50cy5cbiAqIE5vdGU6IGBkaXNwbGF5OiBibG9ja2Agd2l0aCBgb3ZlcmZsb3c6IGhpZGRlbmAgaXMgY3VycmVudGx5IG5vdCB3b3JraW5nIGluIHRoZSBsYXRlc3QgU2FmYXJpXG4gKi9cblxuLyogMSAqL1xuLnVrLWNsZWFyZml4OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLyogMiAqL1xuLnVrLWNsZWFyZml4OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuXG4vKiBGbG9hdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqL1xuXG4udWstZmxvYXQtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4udWstZmxvYXQtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLyogMSAqL1xuW2NsYXNzKj0ndWstZmxvYXQtJ10geyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuXG4vKiBPdmVyZm93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIEVuYWJsZSBzY3JvbGxiYXJzIGlmIGNvbnRlbnQgaXMgY2xpcHBlZFxuICogTm90ZTogRmlyZWZveCBpZ25vcmVzIGBwYWRkaW5nLWJvdHRvbWAgZm9yIHRoZSBzY3JvbGxhYmxlIG92ZXJmbG93IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUxOFxuICovXG5cbi51ay1vdmVyZmxvdy1hdXRvIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi51ay1vdmVyZmxvdy1hdXRvID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogUmVzaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXJlc2l6ZSB7IHJlc2l6ZTogYm90aDsgfVxuLnVrLXJlc2l6ZS12ZXJ0aWNhbCB7IHJlc2l6ZTogdmVydGljYWw7IH1cblxuXG4vKiBEaXNwbGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc3BsYXktYmxvY2sgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4udWstZGlzcGxheS1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lLWJsb2NrIHsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBJbmxpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKiA1LiBGb3JjZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24gd2l0aG91dCBjcmVhdGluZyBhIG5ldyBzdGFja2luZyBjb250ZXh0XG4gKiAgICB0byBmaXggMXB4IGdsaXRjaCB3aGVuIGNvbWJpbmVkIHdpdGggb3ZlcmxheXMgYW5kIHRyYW5zaXRpb25zIGluIFdlYmtpdFxuICogNi4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5cbltjbGFzcyo9J3VrLWlubGluZSddIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA1ICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51ay1pbmxpbmUtY2xpcCB7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogUmVzcG9uc2l2ZSBvYmplY3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXNlcnZlIG9yaWdpbmFsIGRpbWVuc2lvbnNcbiAqIEJlY2F1c2UgYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFyZSBhbHJlYWR5IHJlc3BvbnNpdmUgYnkgZGVmYXVsdCwgc2VlIEJhc2UgY29tcG9uZW50XG4gKi9cblxuLnVrLXByZXNlcnZlLXdpZHRoLFxuLnVrLXByZXNlcnZlLXdpZHRoIGNhbnZhcyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBpbWcsXG4udWstcHJlc2VydmUtd2lkdGggc3ZnLFxuLnVrLXByZXNlcnZlLXdpZHRoIHZpZGVvIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogQ29ycmVjdHMgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCxcbi51ay1yZXNwb25zaXZlLWhlaWdodCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGguIGBpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBgdWstcHJlc2VydmUtd2lkdGggaW1nYFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gaGVpZ2h0LiBPbmx5IHdvcmtzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBoYXMgYSBmaXhlZCBoZWlnaHRcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIHdpZHRoLiBPbmx5IG5lZWRlZCBpZiBgd2lkdGhgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAzLiBSZXNldCBtYXgtd2lkdGgsIHdoaWNoIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhbHJlYWR5IGhhdmUgYnkgZGVmYXVsdFxuICovXG5cbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gICAgLyogMSAqL1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cblxuLyogQm9yZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJvcmRlci1jaXJjbGUgeyBib3JkZXItcmFkaXVzOiA1MCU7IH1cbi51ay1ib3JkZXItcGlsbCB7IGJvcmRlci1yYWRpdXM6IDUwMHB4OyB9XG4udWstYm9yZGVyLXJvdW5kZWQgeyBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czsgfVxuXG4vKlxuICogRml4IGBvdmVyZmxvdzogaGlkZGVuYCB0byBiZSBpZ25vcmVkIHdpdGggYm9yZGVyLXJhZGl1cyBhbmQgQ1NTIHRyYW5zZm9ybXMgaW4gV2Via2l0XG4gKi9cblxuLnVrLWlubGluZS1jbGlwW2NsYXNzKj0ndWstYm9yZGVyLSddIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuXG4vKiBCb3gtc2hhZG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJveC1zaGFkb3ctc21hbGwgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy14bGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLWJveC1zaGFkb3ctaG92ZXInXSB7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJveC1zaGFkb3ctZHVyYXRpb24gZWFzZS1pbi1vdXQ7IH1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItc21hbGw6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLW1lZGl1bTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLWxhcmdlOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1ob3Zlci14bGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cblxuLyogQm94LXNoYWRvdyBib3R0b21cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uLlxuICogMi4gU2V0IHN0eWxlXG4gKiAzLiBCbHVyIGRvZXNuJ3Qgd29yayBvbiBwc2V1ZG8gZWxlbWVudHMgd2l0aCBuZWdhdGl2ZSBgei1pbmRleGAgaW4gRWRnZS5cbiAqICAgIFNvbHZlZCBieSB1c2luZyBgYmVmb3JlYCBhbmQgYWRkIHBvc2l0aW9uIGNvbnRleHQgdG8gY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuQHN1cHBvcnRzIChmaWx0ZXI6IGJsdXIoMCkpIHtcblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgLyogMSAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogKC0kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8qIDIgKi9cbiAgICAgICAgaGVpZ2h0OiAkYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ7XG4gICAgICAgIGZpbHRlcjogYmx1cigkYm94LXNoYWRvdy1ib3R0b20tYmx1cik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ib3gtc2hhZG93LWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWJveC1zaGFkb3ctYm90dG9tKCk7fVxuICAgIH1cblxuICAgIC8qIDMgKi9cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20gPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbn1cblxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXJlZm94IGRvZXNuJ3QgYXBwbHkgYDo6Zmlyc3QtbGV0dGVyYCBpZiB0aGUgZmlyc3QgbGV0dGVyIGlzIGluc2lkZSBjaGlsZCBlbGVtZW50c1xuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MDA0XG4gKiAyLiBJbiBGaXJlZm94LCBhIGZsb2F0aW5nIGA6OmZpcnN0LWxldHRlcmAgZG9lc24ndCBoYXZlIGEgbGluZSBib3ggYW5kIHRoZXJlIGZvciBubyBgbGluZS1oZWlnaHRgXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5MzNcbiAqIDMuIENhdXNlZCBieSAxLjogRWRnZSBjcmVhdGVzIHR3byBuZXN0ZWQgYDo6Zmlyc3QtbGV0dGVyYCBjb250YWluZXJzLCBvbmUgZm9yIGVhY2ggc2VsZWN0b3JcbiAqICAgIFRoaXMgZG91YmxlcyB0aGUgYGZvbnQtc2l6ZWAgZXhwb25lbnRpYWwgd2hlbiB1c2luZyB0aGUgYGVtYCB1bml0LlxuICovXG5cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4vKiAxICovXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wY2FwLW1hcmdpbi1yaWdodDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRkcm9wY2FwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWRyb3BjYXAoKTt9XG59XG5cbi8qIDIgKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cbiAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7IG1hcmdpbi10b3A6IDEuMSU7IH1cblxufVxuXG4vKiAzICovXG5Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcblxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgZm9udC1zaXplOiAxZW07IH1cblxufVxuXG5cbi8qIExvZ29cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1sb2dvIHtcbiAgICBmb250LXNpemU6ICRsb2dvLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJGxvZ28tZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRsb2dvLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1sb2dvKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbG9nbzpob3Zlcixcbi51ay1sb2dvOmZvY3VzIHtcbiAgICBjb2xvcjogJGxvZ28taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbG9nby1ob3ZlcigpO31cbn1cblxuLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBEaXNhYmxlZCBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNhYmxlZCB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZyBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBOZWVkZWQgaWYgbW92aW5nIG92ZXIgZWxlbWVudHMgd2l0aCBoYXZlIHRoZWlyIG93biBjdXJzb3Igb24gaG92ZXIsIGUuZy4gbGlua3Mgb3IgYnV0dG9uc1xuICogMi4gRml4IGRyYWdnaW5nIG92ZXIgaWZyYW1lc1xuICovXG5cbi51ay1kcmFnLFxuLyogMSAqL1xuLnVrLWRyYWcgKiB7IGN1cnNvcjogbW92ZTsgfVxuXG4vKiAyICovXG4udWstZHJhZyBpZnJhbWUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIERyYWdvdmVyIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENyZWF0ZSBhIGJveC1zaGFkb3cgd2hlbiBkcmFnZ2luZyBhIGZpbGUgb3ZlciB0aGUgdXBsb2FkIGFyZWFcbiAqL1xuXG4udWstZHJhZ292ZXIgeyBib3gtc2hhZG93OiAkZHJhZ292ZXItYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJsZW5kLW11bHRpcGx5IHsgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4udWstYmxlbmQtc2NyZWVuIHsgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuLnVrLWJsZW5kLW92ZXJsYXkgeyBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuLnVrLWJsZW5kLWRhcmtlbiB7IG1peC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cbi51ay1ibGVuZC1saWdodGVuIHsgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cbi51ay1ibGVuZC1jb2xvci1kb2RnZSB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuLnVrLWJsZW5kLWNvbG9yLWJ1cm4geyBtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuLnVrLWJsZW5kLWhhcmQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuLnVrLWJsZW5kLXNvZnQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuLnVrLWJsZW5kLWRpZmZlcmVuY2UgeyBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuLnVrLWJsZW5kLWV4Y2x1c2lvbiB7IG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cbi51ay1ibGVuZC1odWUgeyBtaXgtYmxlbmQtbW9kZTogaHVlOyB9XG4udWstYmxlbmQtc2F0dXJhdGlvbiB7IG1peC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG4udWstYmxlbmQtY29sb3IgeyBtaXgtYmxlbmQtbW9kZTogY29sb3I7IH1cbi51ay1ibGVuZC1sdW1pbm9zaXR5IHsgbWl4LWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuXG4vKiBUcmFuc2Zvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuXG4vKiBUcmFuc2Zvcm0gT3JpZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWNlbnRlciB7IHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWNlbnRlci1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay11dGlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay11dGlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhbmVsLXNjcm9sbGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXV0aWxpdHktbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGbGV4XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbGF5b3V0cyBiYXNlZCBvbiBmbGV4Ym94XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZmxleC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZsZXggeyBkaXNwbGF5OiBmbGV4OyB9XG4udWstZmxleC1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb25cbiAqL1xuXG4udWstZmxleDo6YmVmb3JlLFxuLnVrLWZsZXg6OmFmdGVyLFxuLnVrLWZsZXgtaW5saW5lOjpiZWZvcmUsXG4udWstZmxleC1pbmxpbmU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIEFsaWdubWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IEhvcml6b250YWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1sZWZ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtcmlnaHQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC1hcm91bmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAcyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEB4bCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtc3RyZXRjaCB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4udWstZmxleC10b3AgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtbWlkZGxlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnVrLWZsZXgtYm90dG9tIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cblxuLyogRGlyZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuLnVrLWZsZXgtcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbi51ay1mbGV4LWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cblxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LW5vd3JhcCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4udWstZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG4udWstZmxleC13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXdyYXAtc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXdyYXAtdG9wIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtd3JhcC1taWRkbGUgeyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbi51ay1mbGV4LXdyYXAtYm90dG9tIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogSXRlbSBvcmRlcmluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuXG4udWstZmxleC1maXJzdCB7IG9yZGVyOiAtMTt9XG4udWstZmxleC1sYXN0IHsgb3JkZXI6IDk5O31cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHMgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAcyB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBtIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQG0geyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQGwgeyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEB4bCB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEB4bCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cblxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEluaXRpYWw6IDAgMSBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzXG4gKi9cblxuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuXG4udWstZmxleC1ub25lIHsgZmxleDogbm9uZTsgfVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cblxuLnVrLWZsZXgtYXV0byB7IGZsZXg6IGF1dG87IH1cblxuLypcbiAqIEFic29sdXRlIEZsZXg6IDEgMSAwJVxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBmbGV4XG4gKi9cblxuLnVrLWZsZXgtMSB7IGZsZXg6IDE7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mbGV4LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mbGV4LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZsZXgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmdpblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIG1hcmdpbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJnaW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1zbWFsbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLW1lZGl1bS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4teGxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tcmVtb3ZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tYXV0by0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJnaW4tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbWFyZ2luIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7IG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWxlZnQgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEB4bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1tYXJnaW4tcmVtb3ZlIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS10b3AgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiBcbiAudWstbWFyZ2luLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuIH1cbiBcbiAudWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICosXG4gLnVrLW1hcmdpbi1yZW1vdmUtZmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1sYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBzIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbSB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEB4bCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHhsIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFyZ2luLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJnaW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZGRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBwYWRkaW5nXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFkZGluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLXJlbW92ZS0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWRkaW5nLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctc21hbGwgeyBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC1wYWRkaW5nOyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1yZW1vdmUgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS10b3AgeyBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtYm90dG9tIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZGRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZGRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQb3NpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gcG9zaXRpb24gY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBvc2l0aW9uLWFic29sdXRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmVsYXRpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi16LWluZGV4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jb3ZlcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1wb3NpdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIERpcmVjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGBtYXgtd2lkdGg6IDEwMCVgIGlzIHVzZWQgaW5zaWRlIHBvc2l0aW9uIGNvbnRhaW5lci5cbiAqL1xuXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5cbi8qIEVkZ2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCBpcyB3cm9uZyBpZiB0aGUgcGFyZW50IGhhcyBwYWRkaW5nLiAqL1xuLnVrLXBvc2l0aW9uLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogQ29ybmVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICovXG5cbi51ay1wb3NpdGlvbi1jZW50ZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFZlcnRpY2FsICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHsgbGVmdDogMDsgfVxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7IHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdC1vdXQge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodC1vdXQge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4vKiBIb3Jpem9udGFsICovXG4udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHsgdG9wOiAwOyB9XG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IGJvdHRvbTogMDsgfVxuXG5cbi8qIENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tcmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4udWstcG9zaXRpb24tei1pbmRleCB7IHotaW5kZXg6IDE7IH1cblxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstcG9zaXRpb24tc21hbGwge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLXNtYWxsLW1hcmdpbn0gKiAyKSknKTtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1zbWFsbC1tYXJnaW47XG59XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4sICgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4udWstcG9zaXRpb24tbWVkaXVtIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1tZWRpdW0tbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW47XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbiwgKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1wb3NpdGlvbi1sYXJnZSB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbiwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sfSAqIDIpKScpO1xuICAgICAgICBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDtcbiAgICB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwsICgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKSk7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcG9zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBvc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRyYW5zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0cmFuc2l0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRyYW5zaXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10cmFuc2l0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tb3BhcXVlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYCxcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tYWN0aXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zcyAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2NhbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMDMgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAwLjdzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8qIFRyYW5zaXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgYnkgdHdvIG1ldGhvZHM6XG4gKiAxLiBVc2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFVzaW5nIGA6aG92ZXJgIGFuZCBhIGB0b3VjaHN0YXJ0YCBldmVudCBsaXN0ZW5lciByZWdpc3RlcmVkIG9uIHRoZSBkb2N1bWVudFxuICogICAgKERvZXNuJ3Qgd29yayBvbiBTdXJmYWNlIHRvdWNoIGRldmljZXMpXG4gKlxuICogTm90ZTogVHJhbnNpdGlvbnMgZG9uJ3Qgd29yayB3aXRoIGB1ay1wb3N0aW9uLWNlbnRlci0qYCBjbGFzc2VzIGJlY2F1c2UgdGhleSBhbHNvIHVzZSBgdHJhbnNmb3JtYCxcbiAqICAgICAgIHRoZXJlZm9yZSBpdCdzIHJlY29tbWVuZGVkIHRvIHVzZSBhbiBleHRyYSBgZGl2YCBmb3IgdGhlIHRyYW5zaXRpb24uXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tZmFkZSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1mYWRlIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKTsgfVxuLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7IHRyYW5zZm9ybTogc2NhbGUoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLDEpO1xufVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7XG59XG5cblxuLyogT3BhY2l0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1zbG93IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRyYW5zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXRyYW5zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBWaXNpYmlsaXR5XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBzaG93IG9yIGhpZGUgY29udGVudCBvbiBicmVha3BvaW50cywgaG92ZXIgb3IgdG91Y2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oaWRkZW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXZpc2libGUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXZpc2libGUtdG9nZ2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGlkZGVuLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGlkZGVuLXRvdWNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGlkZGVuLW5vdG91Y2hgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZGVuXG4gKiBgaGlkZGVuYCBhdHRyaWJ1dGUgYWxzbyBzZXQgaGVyZSB0byBtYWtlIGl0IHN0cm9uZ2VyXG4gKi9cblxuW2hpZGRlbl0sXG4udWstaGlkZGVuIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1oaWRkZW5cXEBzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGlkZGVuXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstaGlkZGVuXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstaGlkZGVuXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmlzaWJsZVxuICovXG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZGVuXG4gKiAxLiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIHVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICogMi4gVGhlIHRhcmdldCBzdGF5cyB2aXNpYmxlIGlmIGFueSBlbGVtZW50IHdpdGhpbiByZWNlaXZlcyBmb2N1cyB0aHJvdWdoIGtleWJvYXJkXG4gKiAgICBEb2Vzbid0IHdvcmsgaW4gRWRnZSwgeWV0LlxuICogMy4gQ2FuJ3QgdXNlIGBkaXNwbGF5OiBub25lYCBub3IgYHZpc2liaWxpdHk6IGhpZGRlbmAgYmVjYXVzZSBib3RoIGFyZSBub3QgZm9jdXNhYmxlLlxuICpcbiAqL1xuXG4vKiAxICsgMiAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIC51ay1oaWRkZW4taG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogSW52aXNpYmxlXG4gKi9cblxuLyogMSArIDIgKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaW52aXNpYmxlLWhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgLyogMyAqL1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXZpc2libGUtdG9nZ2xlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cblxuLnVrLXZpc2libGUtdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8qIFRvdWNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaGFzIGxpbWl0ZWQgYWNjdXJhY3ksIGUuZy4gYSB0b3VjaCBzY3JlZW4uXG4gKiBXb3JrcyBvbiBtb2JpbGUgYnJvd3NlcnM6IFNhZmFyaSwgQ2hyb21lIGFuZCBBbmRyb2lkIGJyb3dzZXJcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cblxuLyogMSAqL1xuLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVrLWhpZGRlbi1ub3RvdWNoIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXZpc2liaWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXZpc2liaWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBJbnZlcnNlXG4vLyBEZXNjcmlwdGlvbjogICAgIEludmVyc2UgY29tcG9uZW50IHN0eWxlIGZvciBsaWdodCBvciBkYXJrIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kYXJrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEludmVyc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuLypcbiAqIEltcGxlbWVudGVkIGNsYXNzIGRlcGVuZHMgb24gdGhlIGdlbmVyYWwgdGhlbWUgY29sb3JcbiAqIGB1ay1saWdodGAgaXMgZm9yIGxpZ2h0IGNvbG9ycyBvbiBkYXJrIGJhY2tncm91bmRzXG4gKiBgdWstZGFya2AgaXMgb3IgZGFyayBjb2xvcnMgb24gbGlnaHQgYmFja2dyb3VuZHNcbiAqL1xuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGxpZ2h0KSB7IC51ay1saWdodCB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBkYXJrKSB7IC51ay1kYXJrIHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFByaW50XG4vLyBEZXNjcmlwdGlvbjogICAgIE9wdGltaXplIHBhZ2UgZm9yIHByaW50aW5nXG4vL1xuLy8gQWRhcHRlZCBmcm9tIGh0dHA6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGVcbi8vXG4vLyBNb2RpZmljYXRpb25zOiAgIFJlbW92ZWQgbGluayBgaHJlZmAgYW5kIGB0aXRsZWAgcmVsYXRlZCBydWxlc1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcmludFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG5cbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcmludCkpIHtAaW5jbHVkZSBob29rLXByaW50KCk7fVxuXG59XG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcHJpbnQoKXt9XG4iLCIkZ2VuZXJhbC1mb250OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4vL0Jhc2UgY29udGFpbmVyIHdpZHRoXG4kY29udGFpbmVyLXdpZHRoOiAxMjUwcHg7XG4kbGFyZ2UtY29udGFpbmVyLXdpZHRoOiAxMzkwcHg7XG5cbi8vIEFsZ2VtZW5lIGtsZXVyZW5cbi8vICRkZWVwZXN0LWJsYWNrOiAjMDAwO1xuLy8gJGJsYWNrOiAjMkQyQzMxO1xuLy8gJHdoaXRlOiAjRkZGRkZGO1xuLy8gJHJlZDogI0QzMzYzNjtcbi8vICRvcmFuZ2U6ICNGMTlFMzg7XG4vLyAvKiRncmVlbjogIzA0QjZDRTsqL1xuLy8gJGdyZWVuOiAjMDA5ZTNlO1xuLy8gJGdyZXk6ICNCMUI4Qzc7XG4vLyAkbGlnaHQtZ3JleTogI0Y1RjZGODtcbi8vICRkYXJrLWdyZXk6ICM3NzdCODY7XG5cbiR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXG4lY29udGFpbmVyLXNldHRpbmdzIHtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbiVsYXJnZS1jb250YWluZXItc2V0dGluZ3Mge1xuICAgIG1heC13aWR0aDogJGxhcmdlLWNvbnRhaW5lci13aWR0aDtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuJWZvbnQtc2V0dGluZ3MtYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICRnZW5lcmFsLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuJWZvbnQtc2V0dGluZ3MtMS1tZWdhIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjVweDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICB9XG59XG5cbiVmb250LXNldHRpbmdzLTEge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG59XG5cbiVmb250LXNldHRpbmdzLTIge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxufVxuXG4lZm9udC1zZXR0aW5ncy0zIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4lZm9udC1zZXR0aW5ncy00IHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMi44MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRncmVlbjtcbn0iLCIqIFt0cmFuc2l0aW9uXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5odG1sLFxuYm9keSB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy1ib2R5O1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbmh0bWwubWVudS1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgICBvdmVyZmxvdzogb3ZlcmxheTtcbn1cblxuLnBhZ2Utd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuaDEge1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtMTtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5oMS5tZWdhLCBoMi5tZWdhIHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTEtbWVnYTtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG5oMS5jdXN0b20ge1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtNDtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5oMiB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy0yO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbmgyLmN1c3RvbSB7XG4gICAgQGV4dGVuZCAlZm9udC1zZXR0aW5ncy0xO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbmgzIHtcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTM7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuaDQge1xuICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtNDtcbn1cblxuLmNvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLXNldHRpbmdzO1xufVxuXG4ubGFyZ2UtY29udGFpbmVyIHtcbiAgICBAZXh0ZW5kICVsYXJnZS1jb250YWluZXItc2V0dGluZ3M7XG59XG5cbm1haW4uY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZW0ge1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbmEsIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICBjb2xvcjogJGdyZWVuO1xufVxuXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cblxuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDhweDtcbn1cbiAgICBcbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRibGFjazsgXG4gICAgd2lkdGg6IDlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRncmVlblxufSIsImhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDAxO1xufVxuXG5oZWFkZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG5oZWFkZXIgLnRvcC1tZW51LWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAudmFjYXR1cmUtY291bnQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA0OSU7XG4gICAgICAgICAgICAgICAgbGVmdDogNDclO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgfVxuICAgIFxuICAgIGxpLmV4dGVybmFsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy93aGl0ZS1hcnJvdy1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgbWF4LXdpZHRoOiAxODUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgIHdpZHRoOiA0NDBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgIFxuICAgICYuY3VzdG9tLWxvZ28ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgIH1cbn1cblxuaGVhZGVyIC5tZW51LWJhciAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbmhlYWRlciAubWVudS1iYXIge1xuICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYudWstYWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2IoMCAwIDAgLyAxMCUpO1xuICAgIH1cbn1cblxuaGVhZGVyIC5tZW51LWJhciAubWVudS1ob2xkZXIge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbmhlYWRlciAubWVudS1iYXIgLm1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuaGFzLXN1YiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9hcnJvdy1kb3duLWJsYWNrLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgYTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNDRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjazsgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmhlYWRlciAubWVudS1iYXIgLm1lbnUgPiB1bCA+IGxpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5oZWFkZXIgLm1lbnUtYmFyIC5tZW51LXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG59XG5cbmhlYWRlciAubWVudS1yaWdodCAubGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIFxuICAgICY6aG92ZXIgLmN1cnJlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cbn1cblxuaGVhZGVyIC5tZW51LXJpZ2h0IC5sYW5ndWFnZS1zZWxlY3RvciBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDE4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuaGVhZGVyIC5tZW51LXJpZ2h0IC5sYW5ndWFnZS1zZWxlY3RvciAuY3VycmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYXJyb3ctZG93bi1ibGFjay5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gICAgfVxufVxuXG5oZWFkZXIgLm1lbnUtcmlnaHQgLmxhbmd1YWdlLXNlbGVjdG9yIHVsIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCAwIHJnYmEoMCwwLDAsIDEwJSk7XG4gICAgXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuXG5cbmhlYWRlciAubWVudS1yaWdodCAubGFuZ3VhZ2Utc2VsZWN0b3I6aG92ZXIge1xuICAgIC5jdXJyZW50OjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAgICBcbiAgICB9XG4gICAgXG4gICAgdWwge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuaGVhZGVyIC5tZW51LXJpZ2h0IC5zZWFyY2gtaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNFMEUwRTA7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG59XG5cblxuXG5oZWFkZXIgLm1lbnUtY3RhIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICBcbiAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC01MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5pbWFnZS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTAwcHgpO1xuICAgICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5oZWFkZXIgLm1vYmlsZS1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5oZWFkZXIgLm5hdi10b2dnbGUtaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG4gICAgXG5oZWFkZXIgLm5hdi10b2dnbGUge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5oZWFkZXIgLm5hdi10b2dnbGUgLmxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xufVxuXG5oZWFkZXIgLm5hdi10b2dnbGUgLmxpbmUubGluZS10b3Age1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG5oZWFkZXIgLm5hdi10b2dnbGUgLmxpbmUubGluZS1taWRkbGUge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbmhlYWRlciAubmF2LXRvZ2dsZSAubGluZS5saW5lLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbi5kZXNrdG9wLW1lbnUtYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcGVzdC1ibGFjaztcbiAgICBvcGFjaXR5OiAuNzU7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgdG9wOiAwO1xuICAgIFxuICAgICYuaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uc2l0ZS1zZWxlY3Rpb24tbWVudSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgMC43KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICBcbiAgICA+IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgICAgXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy93aGl0ZS1hcnJvdy1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnNpdGUtbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICBcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgICAgXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgPiBkaXY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuc2l0ZS1tZW51IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5oZWFkZXIgLm1lbnUtYmFyICB7XG4gICAgLmhhcy1zdWIgYSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zbWFsbC1zdWJtZW51LWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjVweCk7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuc21hbGwtc3VibWVudSBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGFzLXN1Yjpob3ZlciAuc21hbGwtc3VibWVudS1ob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmZha2UtbGluayB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMyRDJDMzE7XG59XG5cbi5ndHJhbnNsYXRlX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6bm90KC5ndC1jdXJyZW50LWxhbmcpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgIGhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgIGhlYWRlciAuaGFzLXN1YiAuc3VibWVudS1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM2MHB4KSB7XG4gICAgaGVhZGVyIC5tZW51LWJhciAubWVudSBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tZW51LXJpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXIgLmxvZ28taG9sZGVyIGltZy5jdXN0b20tbG9nbyB7XG4gICAgICAgIGhlaWdodDogNDNweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWN0YSAudGV4dC1ob2xkZXI6OmJlZm9yZSwgaGVhZGVyIC5tZW51LWN0YSAuaW1hZ2UtaG9sZGVyOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmhhcy1zdWIgLnN1Ym1lbnUtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNjVweCAwIDcwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGhlYWRlciAubWVudS1iYXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1lbnUtaG9sZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMTMzcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzM3B4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDQwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0U3RTdFNztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvbWVudS1iYWNrZ3JvdW5kLnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0NnB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1tZW51IHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIFxuICAgICAgICBkaXYgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLW1lbnUgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICBcbiAgICAgICAgLmFycm93LWhvbGRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9ibGFjay1hcnJvdy1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtc3VibWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4IDUwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgb3ZlcmZsb3cteTogb3ZlcmxheTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBcbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtc3VibWVudSAuc3VibWVudS1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgODBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgXG4gICAgICAgIC5jbG9zZS1zdWJtZW51IHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy93aGl0ZS1hcnJvdy1yaWdodC5zdmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtc3VibWVudSB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgICBcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgODBweCk7XG4gICAgICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U3RTdFNztcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5uYXYtdG9nZ2xlLWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgXG4gICAgLm1vYmlsZS1tZW51LWJhY2tkcm9wIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcGVzdC1ibGFjaztcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIFxuICAgICAgICAmLmhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtY3RhIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDtcbiAgICAgICAgXG4gICAgICAgIC5jdGEtaW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1jdGEgLnRleHQtaG9sZGVyOjpiZWZvcmUsIGhlYWRlciAubWVudS1jdGEgLmltYWdlLWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwMHB4KTtcbiAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIudWstYWN0aXZlIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIHRvcDogOTJweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOTJweCk7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubWVudS1iYXIgIHtcbiAgICAgICAgLmhhcy1zdWIgYSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgaGVhZGVyIC5tZW51LWJhciAubW9iaWxlLW1lbnUge1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGhlYWRlciAudG9wLW1lbnUtaG9sZGVyIC50b3AtbWVudSBuYXYgPiB1bCB7XG4gICAgICAgID4gbGk6bm90KC5zaXRlLXNlbGVjdGlvbi1tZW51KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAudG9wLW1lbnUtaG9sZGVyIC5zaXRlLXNlbGVjdGlvbi1tZW51OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1tZW51IHVsIC50b3AtbWVudS1pdGVtcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIFxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAudmFjYXR1cmUtY291bnQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA0OSU7XG4gICAgICAgICAgICAgICAgbGVmdDogNDclO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubW9iaWxlLW1lbnUge1xuICAgICAgICB0b3A6IDEwOXB4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwOXB4KTtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1vYmlsZS1zdWJtZW51IHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMDlweCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCA0MHB4O1xuICAgICAgICB0b3A6IC03MHB4O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyLnVrLWFjdGl2ZSAubW9iaWxlLW1lbnUge1xuICAgICAgICB0b3A6IDEwOXB4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDlweCk7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAubW9iaWxlLXN1Ym1lbnUgLnN1Ym1lbnUtaGVhZGVyIC5jbG9zZS1zdWJtZW51IHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tb2JpbGUtc3VibWVudSAuc3VibWVudS1oZWFkZXIgLmNsb3NlLW1vYmlsZS1tZW51IHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY2xvc2UtaWNvbi5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubWVudS1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLm1lbnUtYmFyIC5tZW51LWhvbGRlciB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG4gICAgXG4gICAgaGVhZGVyIC5tZW51LWJhciAubW9iaWxlLW1lbnUge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIH1cbiAgICBcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXIgLmxvZ28taG9sZGVyIGltZy5jdXN0b20tbG9nbyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMzcHg7XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcbiAgICB9XG4gICAgXG4gICAgLmd0X2NvbnRhaW5lci0tb2l6OXFzIGEuZ2xpbmsgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1MHB4KSB7XG4gICAgaGVhZGVyIC5sb2dvLWhvbGRlciBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICB9XG59IiwiZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTgwO1xufVxuXG5mb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbn1cblxuZm9vdGVyIC50aXRsZS1ob2xkZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC5jZXJ0aWZpY2F0ZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgbWF4LWhlaWdodDogODJweDtcbiAgICB9XG59XG5cbmZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAudGl0bGUtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5mb290ZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5mb290ZXIgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFxuICAgICYuc2Vjb25kLWg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG59XG5cbi5mb290ZXItaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLmZvb3Rlci1ob2xkZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5mb290ZXItaG9sZGVyIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uZm9vdGVyLWhvbGRlciAuZm9vdGVyLW1lbnUgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjUwbXM7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItaG9sZGVyIC5zdXBwb3J0LXRpdGxlIHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uZm9vdGVyLWhvbGRlciAubG9jYXRpb24taG9sZGVyIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9vdGVyLWhvbGRlciAubG9jYXRpb24taG9sZGVyIGEgPiBzcGFuIHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cblxuLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci1kaXNjbGFpbWVyIHtcbiAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBjb2xvcjogIzc3N0I4NjtcbiAgICBcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICM3NzdCODY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgdWwuZGlzY2xhaW1lci1tZW51IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3N0I4NjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2cHgpO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItaG9sZGVyIC5mb290ZXItZGlzY2xhaW1lciAuc29jaWFscyB7XG4gICAgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuZmFjZWJvb2sge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2ZhY2Vib29rLnN2ZycpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2ZhY2Vib29rLXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmxpbmtlZEluIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9saW5rZWRJbi5zdmcnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9saW5rZWRJbi13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi55b3V0dWJlIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy95b3V0dWJlLnN2ZycpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3lvdXR1YmUtd2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYucGludGVyZXN0IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9waW50ZXJlc3Quc3ZnJyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvcGludGVyZXN0LXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmluc3RhZ3JhbSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvaW5zdGFncmFtLnN2ZycpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2luc3RhZ3JhbS13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cbmZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAuY2VydGlmaWNhdGVuLm1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN1cHBvcnQtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5mb290ZXIgLmZvb3Rlci1sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgfVxufVxuXG5mb290ZXIgLmRpc2NsYWltZXItbWVudSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG5mb290ZXIgLnNvY2lhbHMtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xufVxuXG4uZm9vdGVyLWNlcnRpZmljYWF0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgXG4gICAgLmNlcnRpZmljYWF0LWlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgXG4gICAgLmNlcnRpZmljYWF0IHtcbiAgICAgICAgXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRhdGEtcGFydG5lci1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDkwcHg7XG59XG5cbi5kaXNjbGFpbWVyLW1lbnUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIGZvb3Rlci5leHRyYS1wYWRkaW5nIC5mb290ZXItaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTIwcHggMCA4MHB4O1xuICAgIH0gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLmZvb3Rlci1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA3NXB4IDA7XG4gICAgfVxuICAgIFxuICAgIGZvb3Rlci5leHRyYS1wYWRkaW5nIC5mb290ZXItaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTIwcHggMCA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuZm9vdGVyLWRpc2NsYWltZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuZm9vdGVyLWRpc2NsYWltZXIgLnNvY2lhbHMgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIgLnN1cHBvcnQtZGVrc3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC51ay13aWR0aC0xLTJcXEBtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmZvb3Rlci1ob2xkZXIgLmZvb3Rlci1kaXNjbGFpbWVyIC5zb2NpYWxzIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAuY2VydGlmaWNhdGVuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAudGl0bGUtaG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIGZvb3RlciAuY2VydGlmaWNhdGVuLWhvbGRlciAudWstd2lkdGgtMS0zXFxAbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLnVrLXdpZHRoLTItM1xcQG0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC5jZXJ0aWZpY2FhdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgICAgXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLmNlcnRpZmljYXRlbi5tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC5jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIgLmNlcnRpZmljYXRlbi5kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcbiAgICB9IFxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5mb290ZXItdG9wIC51ay1ncmlkLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jb2xsYXBzZS1pdGVtLWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MDYwNjA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY29sbGFwc2UtaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9hcnJvdy1kb3duLXdoaXRlLnN2Zyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5jb2xsYXBzZS1pdGVtIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaDM6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWhvbGRlciAuZm9vdGVyLWRpc2NsYWltZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5kaXNjbGFpbWVyLW1lbnUtaG9sZGVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5zb2NpYWxzLWhvbGRlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICBcbiAgICAuc3VwcG9ydC1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICB9XG4gICAgXG4gICAgLnN1cHBvcnQtbW9iaWxlIC50aXRsZS1ob2xkZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItaG9sZGVyIC5zdXBwb3J0LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyIC50aXRsZS1jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9IFxuICAgIFxuICAgIGZvb3RlciAuc29jaWFscy1jb2x1bW4ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1jZXJ0aWZpY2FhdCB7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIGZvb3Rlci5leHRyYS1wYWRkaW5nIC5mb290ZXItaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTIwcHggMCA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuZXh0cmEtcGFkZGluZyAuZm9vdGVyLXRvcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MDYwNjA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICBmb290ZXIgLmZvb3Rlci1sb2dvIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAuZGF0YS1wYXJ0bmVyLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH0gXG4gICAgXG4gICAgLmRpc2NsYWltZXItbWVudS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59IiwiLmhvbWVwYWdlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7ICAgIFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNjcm9sbGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgY29sb3I6ICRncmV5O1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAxNTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMCU7XG4gICAgbGVmdDogODBweDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGdyZXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDkuNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIGxlZnQ6IDE4cHg7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZSAxLjVzIGluZmluaXRlO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kZXRhaWwtaGVhZGVyIC5zY3JvbGxlcjpob3ZlciB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtaGVhZGVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhvbWVwYWdlLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMTAwcHggNDBweDtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAxNjBweCAwIGF1dG87XG4gICAgXG4gICAgLnRleHQge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICB9XG59XG5cbi5maXJzdC1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uaG9tZXBhZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICBcbiAgICBpbWc6bm90KC5oZWFkZXItaWxsdXN0cmF0aW9uKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBtYXgtaGVpZ2h0OiA3NzVweDtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbn1cblxuLmhvbWVwYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyIC5oZWFkZXItaWxsdXN0cmF0aW9uIHtcbiAgICB3aWR0aDogODclO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogMjtcbn1cblxuLm5vLWltYWdlLWhlYWRlci1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbi5uby1pbWFnZS1oZWFkZXIge1xuICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMTAwcHggMCAxMjBweDtcbiAgICBtYXgtd2lkdGg6IDE4NTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbn1cblxuLm5vLWltYWdlLWhlYWRlciBoMSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAmLmN1c3RvbSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxufVxuXG4ubm8taW1hZ2UtaGVhZGVyIGgyLmN1c3RvbSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLm5vLWltYWdlLWhlYWRlciBoNCB7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ubm8taW1hZ2UtaGVhZGVyIC5pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDAgMCBhdXRvO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICB9XG59XG5cbi5uby1pbWFnZS1oZWFkZXIgLnNjcm9sbGVyIHtcbiAgICB0b3A6IDE5NXB4O1xufVxuXG4uaW1hZ2UtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbWFnZS1oZWFkZXIgaDQge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmltYWdlLWhlYWRlciBpbWcge1xuICAgIG1heC13aWR0aDogODUwcHg7XG59XG5cbi5pbWFnZS1oZWFkZXIgLmZsZXgtY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmltYWdlLWhlYWRlciAuc2Nyb2xsZXIge1xuICAgIHRvcDogMTk1cHg7XG59XG5cbi5pbWFnZS1oZWFkZXIgLmltYWdlLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwMHB4O1xuICAgICAgICB0b3A6IDc1cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlciB7XG4gICAgcGFkZGluZzogNzVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIFxuICAgICYuY3VzdG9tLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlciAucHJvZHVjdGVuLWludHJvLWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICBtYXJnaW46IDAgYXV0byA3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtaG9sZGVyIC5wcm9kdWN0IHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBcbiAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDcwcHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3RzLWhvbGRlciAucHJvZHVjdDpob3ZlciB7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIgLmJ1dHRvbi1ob2xkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBcbiAgICAuYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMjBweCAwIHJnYigwIDAgMCAvIDIwJSk7XG4gICAgfVxufVxuXG4ucHJvZHVjdGVuLWdyaWQubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaG9tZXBhZ2UtY3RhLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMTIwcHggMCAxMDBweDtcbiAgICAvKmJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5OyovXG4gICAgXG4gICAgLyomOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB3aWR0aDogNjh2dztcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH0qL1xuICAgIFxuICAgIC8qJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH0qL1xuICAgIFxuICAgID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbn1cblxuLmhvbWVwYWdlLWN0YS1ob2xkZXIgLmNvbHVtbiB7ICAgIFxuICAgIHBhZGRpbmc6IDU1cHggNzBweCA0NXB4O1xuICAgIGNvbG9yOiAkd2hpdGU7ICAgICBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIFxuICAgICYuYmxhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7ICAgXG4gICAgfVxuICAgIFxuICAgICYuYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjsgICBcbiAgICB9XG4gICAgXG4gICAgLmljb24taG9sZGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTA1JSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuN3M7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgYS5yZWFkLW1vcmUsIHNwYW4ucmVhZC1tb3JlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG5cbi5ob21lcGFnZS1jdGEtaG9sZGVyIHtcbiAgICAuY29sdW1uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MgY3ViaWMtYmV6aWVyKDAuMSwgMC4zOCwgMC41MywgMC45OCksIG9wYWNpdHkgMS4zcyBlYXNlO1xuICAgIH1cbiAgICBcbiAgICAubGFyZ2UtY29udGFpbmVyIHtcbiAgICAgICAgLmNvbHVtbi5ibGFjayB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNTBweCk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jb2x1bW4uYmx1ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNob3cge1xuICAgICAgICAubGFyZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5pY29uLWhvbGRlciBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tZXBhZ2UtY3RhLW9uZS1jb2x1bW4ge1xuICAgIC5jb2x1bW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDg3MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5cbi5kZW1vLWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZzogMTIwcHggMCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAvKiY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiA2OHZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH0qL1xuICAgIFxuICAgID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbn1cblxuLmRlbW8taG9sZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG59XG5cbi5kZW1vLWhvbGRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7ICAgIFxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIge1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZzogMTUwcHggMCAwO1xuICAgIFxuICAgIC5kaWVuc3Rlbi1pbnRyby1ob2xkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA3MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgICAgXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGllbnN0ZW4taG9sZGVyIC5kaWVuc3Rlbi10YWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciAuZGllbnN0ZW4tdGFicy1pbm5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXItZGVza3RvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbn1cblxuLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRncmV5O1xuICAgIFxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLnNob3cgLmxhYmVsLWhvbGRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uZGllbnN0ZW4taG9sZGVyIC5sYWJlbC1ob2xkZXIgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgICAgICBcbiAgICB9XG59XG5cbi5jb3Jwb3JhdGUgLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyIHtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIC5sYWJlbC53aXRoLWljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmxhYmVsIHtcbiAgICAgICAgJi53aXRoLWljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuaW5uZXItbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDI4cHgpO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyLmFjdGl2ZSAubGFiZWwsIC5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlcjpob3ZlciAubGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgIHBhZGRpbmc6IDkwcHggMCAwO1xuICAgIFxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIFxuICAgIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMzBweDtcbiAgICB9XG4gICAgXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIFxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9ncmVlbi1jaGVjay5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXIgLmltYWdlLWhvbGRlciBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDcwcHgpO1xufVxuXG4uZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlci1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgLmFycm93IHtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyNXB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9hcnJvdy1ibGFjay1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvZ28tc2xpZGVyIHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG59XG5cbi5sb2dvLXNsaWRlciAudWstc2xpZGVyLWl0ZW1zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmxvZ28tc2xpZGVyIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG4ubG9nby1zbGlkZXIgLnNxdWFyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAxMCUpO1xuICAgIGhlaWdodDogMTcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNzBweDtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBtYXgtd2lkdGg6IDEyNXB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgIH1cbn1cblxuLmtsYW50ZW4taG9sZGVyIHtcbiAgICBtYXJnaW46IDEyMHB4IDA7XG59XG5cbi5rbGFudGVuLWhvbGRlciAua2xhbnRlbi1pbnRyby1ob2xkZXIge1xuICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG59XG5cbi5iZWtpamstY2lya2VsXG57XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDgwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdmlzaWJpbGl0eSAzMDBtcywgdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjY0LCAwLjU3LCAwLjY3LCAxLjIpO1xufVxuXG4ubG9nby1zbGlkZXIgLnNxdWFyZS53aXRoLWxpbms6aG92ZXIgLmJla2lqay1jaXJrZWxcbntcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmxvZ28tc2xpZGVyIC5iZWtpamstY2lya2VsXG57XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zZWN0aW9uLXZpY3RhUWxpa0hvbWVwYWdlIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIHtcbiAgICBwYWRkaW5nOiAxNDBweCAwO1xuICAgIFxuICAgIC5jdGEtZGVzY3JpcHRpb246OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgfVxufVxuXG4ubmlldXdzLWhvbGRlciB7XG4gICAgbWFyZ2luOiAxMDBweCAwO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJi5jdXN0b20ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdGVuLWludHJvLWhvbGRlciB7XG4gICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxufVxuXG4ubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03MHB4O1xuICAgIGxlZnQ6IDgwcHg7XG4gICAgei1pbmRleDogNTtcbn1cblxuLm5pZXV3cy1ncmlkLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIFxuICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxufVxuXG4ubmlldXdzLWdyaWQtaG9sZGVyIC5uaWV1d3MtaXRlbSB7XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5pZXV3cy1ncmlkLWhvbGRlciAubmlldXdzLWl0ZW0gLnRleHQtaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nOiAzMHB4IDI1cHg7XG4gICAgXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGF0ZSB7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICB9XG59XG5cbi5uaWV1d3MtZ3JpZC1ob2xkZXIgLmJ1dHRvbi1ob2xkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uY3RhLXJpZ2h0LWltYWdlLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbi5wb3B1cCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDc3MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgei1pbmRleDogMTAwMDAwMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgXG4gICAgJi5zaG93IHtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4ucG9wdXAgLnBvcHVwLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbn1cblxuLnBvcHVwIC5pbWFnZS1ob2xkZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG59XG5cbi5wb3B1cCAudGV4dC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3BvcHVwLWRlY29yYXRpb24uc3ZnJyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICBoZWlnaHQ6IDIyNHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLnBvcHVwIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogNjVweCA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIFxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgICB9XG59XG5cbi5wb3B1cC1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWVwZXN0LWJsYWNrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIHRvcDogLTMwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuXG4uZmlsdGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4uZmlsdGVyIC5sYWJlbCB7XG4gICAgLy9jb2xvcjogJHdoaXRlO1xufVxuXG4uZmlsdGVyIC5jYXQtbGFiZWwge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmV5O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uZmlsdGVyIC5jYXQtbGFiZWwgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4ucmVzb3VyY2VzLWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbn1cblxuLnJlc291cmNlcy1ob2xkZXIgLmltYWdlLWhvbGRlciAubGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogM3B4IDE1cHg7XG4gICAgei1pbmRleDogNDtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbi5zZWN0aW9uLXJlc291cmNlc092ZXJ6aWNodCwgLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQge1xuICAgIC5uby1pbWFnZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1yZXNvdXJjZXNPdmVyemljaHQsIC5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0IHtcbiAgICAubmlldXdzLWhvbGRlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5zZWN0aW9uLXJlc291cmNlc092ZXJ6aWNodCwgLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQge1xuICAgIC5uaWV1d3MtZ3JpZC1ob2xkZXIgLm5pZXV3cy1pdGVtIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMjVweCAzNXB4IDIwcHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1yZXNvdXJjZXNPdmVyemljaHQgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyLCAuc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgZm9vdGVyIC5jZXJ0aWZpY2F0ZW4taG9sZGVyLCAuc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLnByb2R1Y3Rlbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQ1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA3M3Z3O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLnByb2R1Y3Rlbi1oZWFkZXIgLmltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXgtd2lkdGg6IDg3MHB4O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbi5wcm9kdWN0ZW4taGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIG1hcmdpbjogMCAxMDBweCAwIGF1dG87XG4gICAgcGFkZGluZzogMTAwcHggMCAwO1xuICAgIFxuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG4gICAgXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNTBweDtcbiAgICBsZWZ0OiA4MHB4O1xuICAgIHotaW5kZXg6IDU7XG59XG5cbi5zZWN0aW9uLXByb2R1Y3Rlbk92ZXJ6aWNodCAucHJvZHVjdHMtaG9sZGVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9wcm9kdWN0cy1kZWNvcmF0aW9uLWdyZWVuLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAyMThweDtcbiAgICAgICAgaGVpZ2h0OiAzODhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLnNlY3Rpb24tcHJvZHVjdGVuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXIgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG59XG5cbi5kZXRhaWwtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5kZXRhaWwtaGVhZGVyIC5pbWFnZS1ob2xkZXIge1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG59XG5cbi5kZXRhaWwtaGVhZGVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA2MHB4IDcwcHggNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICBtYXJnaW46IDUwcHggLTEwNXB4IDAgYXV0bztcbiAgICBcbiAgICBoMS5jdXN0b20ge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbiAgICBcbiAgICAubGFiZWwge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuI2luaG91ZC5uby1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5kaWVuc3Rlbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIFxuICAgIC8qJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZGllbnN0ZW4taWxsdXN0cmF0aW9uLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDI2NXB4O1xuICAgICAgICBoZWlnaHQ6IDIyOXB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH0qL1xuICAgIFxuICAgIC5kaWVuc3Rlbi1wYXJ0aWNsZXMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG1heC13aWR0aDogMzUwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDklICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjMwcHggIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICBcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuICAgIFxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1oZWFkZXIgLmludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBtYXJnaW46IDEwcHggMCAwIGF1dG87XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDAgMTIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgICBcbiAgICAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgICAgICB0b3A6IC0xMDBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3QgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5MzgzRDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZ3JlZW4tY2hlY2suc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiAuZG90cy1hbmltYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIubGljZW50aWVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIFxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgIH1cbn1cblxuLnNlY3Rpb24tZGllbnN0ZW4gLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZGllbnN0LWRldGFpbC1pbGx1c3RyYXRpb24uc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgd2lkdGg6IDE1MnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIFxuICAgID4gKiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gICAgXG4gICAgaDEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxucC5uci1yZXN1bHRzIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG59XG5cbi5yZXN1bHRhdGVuLWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVzdWx0YXRlbiAuc2VhcmNoLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDMwcHggMjBweCAzMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5O1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgXG4gICAgJi5maXJzdC1yZXN1bHQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG4gICAgfVxuICAgIFxuICAgID4gKiB7XG4gICAgICAgIG1heC13aWR0aDogOTcwcHg7XG4gICAgfVxuICAgIFxuICAgIC5yZWFkLW1vcmUge1xuICAgICAgICBcbiAgICB9XG59XG5cbi5yZXN1bHRhdGVuIC5zZWFyY2gtaXRlbSBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGNvbG9yOiAkZ3JlZW47XG59XG5cbi5yZXN1bHRhdGVuIC5zZWFyY2gtaXRlbSBoMyArIHAge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbn1cbi5yZXN1bHRhdGVuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbn1cblxuLmZvcm0taG9sZGVyLnpvZWstZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuLmZvcm0taG9sZGVyLnpvZWstZm9ybSBpbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbn1cblxuLmZvcm0taG9sZGVyLnpvZWstZm9ybSAuaW5wdXQtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3NlYXJjaC1pY29uLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgdG9wOiAxN3B4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLmZvcm0taG9sZGVyLnpvZWstZm9ybSBidXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xufVxuXG4uY29udGFjdC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmc6IDExMHB4IDA7XG59XG5cbi5jb250YWN0LWhlYWRlciBoMSwgLmNvbnRhY3QtaGVhZGVyIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uY29udGFjdC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgXG4gICAgJi5yaWdodCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cbn1cblxuLmNvbnRhY3QtaGVhZGVyIC52ZXN0aWdpbmdlbi1ob2xkZXIgLnVrLWRvdG5hdntcbiAgICBcbiAgICA+ICogPiAqIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gICAgfVxuICAgIFxuICAgID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG5cbi5jb250YWN0LWhlYWRlciAuY29udGFjdC1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDNENkRGO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uY29udGFjdC1oZWFkZXIgLmxvY2F0aW9uLWhvbGRlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBcbiAgICBsaSBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0QjZDRTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjUwbXM7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhY3QtaGVhZGVyIC5sb2NhdGlvbi1ob2xkZXIge1xuICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgXG4gICAgXG4gICAgJi5vZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgfVxuICAgIFxuICAgIC52ZXN0aWdpbmduYWFtIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG4uY29udGFjdC1oZWFkZXIgLmJsb2trZW4taG9sZGVyIC5ibG9rIHtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0QzRDZERjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFxuICAgICYubGFzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAwO1xuICAgIH1cbiAgICBcbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmNvbnRhY3QtaGVhZGVyIC5ibG9ra2VuLWhvbGRlciAuYnV0dG9uLWhvbGRlciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBcbiAgICAuZmlyc3QtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICAudW5kZXJsaW5lIHtcbiAgICAgICAgY29sb3I6ICM3NzdCODY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNTBtcztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vL2Zvcm11bGllclxuLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xufVxuXG4uY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5hY2h0ZXJncm9uZC10aXRlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjAwcHg7XG4gICAgbGVmdDogNzBweDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMzBweDtcbiAgICBsaW5lLWhlaWdodDogMTMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggJGdyZXk7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgei1pbmRleDogNTtcbn1cblxuLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAubGVmdC1jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDkwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiAzMDAwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0yMDBweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gICAgXG4gICAgJi5uby1pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IC03NXB4O1xuICAgIH1cbn1cblxuLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAuYWNodGVyZ3JvbmQtdGl0ZWwgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLnJpZ2h0LWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxODBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgMTgwcHgpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyXG4gICAgfVxufVxuXG4ubm8taW1hZ2UtaGVhZGVyLWhvbGRlci53aXRoLWlsbHVzdHJhdGlvbiAuZG90cy1hbmltYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uaXRlbXMtY29udGFpbmVyIC5pdGVtIHtcbiAgICAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6bm90KC5wYXJ0bmVyLWl0ZW0pOmhvdmVyIHtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5pdGVtLWNvbHVtbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uaXRlbS1jb2x1bW4uaGlkZSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi5sb2FkLW1vcmUtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIFxuICAgICYuY3VzdG9tIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgfVxufVxuXG4ubG9hZC1tb3JlLWJ1dHRvbi1jb250YWluZXIgLmFtb3VudC12aXNpYmxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICRncmV5O1xufVxuXG4ubG9hZC1tb3JlLWJ1dHRvbi1ob2xkZXIuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLml0ZW1zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAwIDEyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xufVxuXG4uaXRlbXMtY29udGFpbmVyIC5pdGVtLm92ZXJ6aWNodC1jdGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBcbiAgICAudWstZ3JpZCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvc21hbGwtY3RhLWlsbHVzdHJhdGlvbi5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxNDlweDtcbiAgICAgICAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYud2l0aC1pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuY3RhLXRleHQtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMzVweCAyMHB4IDM1cHggNTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBcbiAgICAgICAgJi5uby1pbWFnZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDU1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmltYWdlLWhvbGRlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXRlbXMtY29udGFpbmVyIC5pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMzVweCAxMTBweDtcbiAgICAgICAgXG4gICAgICAgIC50ZXh0LWJvdHRvbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgICAgICBib3R0b206IDM1cHg7XG4gICAgICAgICAgICBsZWZ0OiAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4uaXRlbXMtY29udGFpbmVyIC5pdGVtIC50ZXh0LWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBcbiAgICAubG9nby1ob2xkZXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICB9XG4gICAgXG4gICAgLmJ1dHRvbi1ob2xkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtOHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VjdGlvbi1rbGFudHZlcmhhbGVuT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIsXG4uc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLm5vLWltYWdlLWhlYWRlcixcbi5zZWN0aW9uLXBhcnRuZXJzT3ZlcnppY2h0IC5uby1pbWFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMjgwcHg7XG59XG5cbi5zZWN0aW9uLWtsYW50dmVyaGFsZW5PdmVyemljaHQgLmxvYWQtbW9yZS1jb250YWluZXIsXG4uc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLmxvYWQtbW9yZS1jb250YWluZXIsXG4uc2VjdGlvbi1wYXJ0bmVyc092ZXJ6aWNodCAubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBtYXJnaW4tdG9wOiAtMTQwcHg7XG59XG5cbi5zZWN0aW9uLWtsYW50dmVyaGFsZW4gLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyLFxuLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlcixcbi5zZWN0aW9uLXBhcnRuZXJzT3ZlcnppY2h0IC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA2MTBweDtcbiAgICBtYXJnaW46IDUwcHggLTE0NXB4IDAgYXV0bztcbiAgICBwYWRkaW5nOiA2MHB4IDYwcHggNzBweCA3MHB4O1xufVxuXG4uc2VjdGlvbi1wYXJ0bmVyc092ZXJ6aWNodCAuaXRlbXMtY29udGFpbmVyIC5pdGVtIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogMzVweDtcbn1cblxuLnNlY3Rpb24tbmlldXdzT3ZlcnppY2h0IC5pdGVtcy1jb250YWluZXIgLml0ZW0gLnRleHQtYm90dG9tIC5idXR0b24taG9sZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIFxuICAgIC5yZWFkLW1vcmUge1xuICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG4uc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLml0ZW1zLWNvbnRhaW5lciAuaXRlbSAuZGF0ZSB7XG4gICAgY29sb3I6ICRncmV5O1xufVxuXG4uc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLml0ZW1zLWNvbnRhaW5lciAuaXRlbSBoMyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLy9kb3RzIGFuaW1hdGlvblxuXG4uZG90cy1hbmltYXRpb24gc3ZnIGNpcmNsZSB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmRvdHMtYW5pbWF0aW9uIHN2ZyBwb2x5Z29uIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uaG9tZXBhZ2UtaGVhZGVyIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xufVxuXG4uY3RhLXJpZ2h0LWltYWdlLmxlZnQgLmRvdHMtYW5pbWF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xufVxuXG4ubm8taW1hZ2UtaGVhZGVyLWhvbGRlciAuZG90cy1hbmltYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLmN0YS1yaWdodC1pbWFnZTpub3QoLmxlZnQpIC5kb3RzLWFuaW1hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi5oZWFkZXItNDA0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTAwcHggMjBweDtcbn1cblxuXG4uaGVhZGVyLTQwNCAuY29udGVudC00MDQge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59IFxuXG4uaGVhZGVyLTQwNCBzdmcge1xuICAgIHdpZHRoOiAzMjlweDtcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIGN1cnNvcjogbm9uZTtcbn1cblxuLmhlYWRlci00MDQgaDEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuLmhlYWRlci00MDQgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuI2JpZy12LCBcbiNzZWFyY2gge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXM7XG59XG5cbi5oZWFkZXItNDA0IHN2Zy5pbmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uaGVhZGVyLTQwNCBzdmcuaW5hY3RpdmUgI2JpZy12LFxuLmhlYWRlci00MDQgc3ZnLmluYWN0aXZlICNzZWFyY2h7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLnNlY3Rpb24tY29udGFjdEVuU3VwcG9ydCBmb290ZXIgLmNlcnRpZmljYXRlbi1ob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLnZpZGVvLXBvcHVwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1heC13aWR0aDogNzcwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICB6LWluZGV4OiAxMDAwMDAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgXG4gICAgJi5zaG93IHtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4udmlkZW8tcG9wdXAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbn1cblxuLnZpZGVvLXBvcHVwLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZXBlc3QtYmxhY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG4gICAgdG9wOiAtMzAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgXG4gICAgJi5zaG93IHtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4ubm8taW1hZ2UtaGVhZGVyIC5mb3JtLWhvbGRlciB7XG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDI0NjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQzNDI0NjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5uaWNlLXNlbGVjdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQyNDYgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQzNDI0NiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAub3B0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmZ1aS1sYWJlbCwgLmZ1aS1lcnJvciAuZnVpLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgXG4gICAgLmZ1aS1lcnJvciAuZnVpLWlucHV0LWNvbnRhaW5lciBpbnB1dDpmb2N1cywgLmZ1aS1lcnJvciAuZnVpLWlucHV0LWNvbnRhaW5lciB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQyNDYgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50XG4gICAgfVxuICAgIFxuICAgIC5mdWktZXJyb3IgLmZ1aS1pbnB1dC1jb250YWluZXIgaW5wdXQsIC5mdWktZXJyb3IgLmZ1aS1pbnB1dC1jb250YWluZXIgdGV4dGFyZWEge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG59XG5cbi5jdGEtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICBcbiAgICA+IGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbn1cblxuLnZpY3RhLWRpZW5zdGVuIHtcbiAgICBwYWRkaW5nOiA3NXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIFxuICAgIC5pbnRyby1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA3MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jdXN0b20tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICB9XG59XG5cbi5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vd2lkdGg6IDkzdnc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICBcbiAgICAudWstc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiA0MCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYXJyb3dzLnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTZweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZGllbnN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBcbiAgICAgICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDk1cHggMjBweCA3MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnN0ZXAtaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYnV0dG9uLWhvbGRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIC03NXB4O1xuICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuaW1hZ2UtaG9sZGVyIGltZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZpY3RhLWRpZW5zdGVuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgLmRpZW5zdGVuLWRvdHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC51ay1kb3RuYXYge1xuICAgICAgICAmLnVrLW1hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gKiA+ICoge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPiAqID4gOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnN3aXBlLWNpcmtlbFxue1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBib3JkZXItcmFkaXVzOiA4MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zLCB2aXNpYmlsaXR5IDMwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQsIDAuNTcsIDAuNjcsIDEuMik7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvc3dpcGUtaWNvbi5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAzN3B4O1xuICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbn1cblxuLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnNsaWRlci1ob2xkZXI6aG92ZXIgLnN3aXBlLWNpcmtlbFxue1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4uZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuc3dpcGUtY2lya2VsXG57XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pbGx1c3RyYXRpb24taG9sZGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogNHZ3IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yaWJvbi1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIFxuICAgIC5yaWJvbi1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogMTU2MHB4O1xuICAgIH1cbiAgICBcbiAgICAucmlib24taWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTg1MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIFxuICAgICYuY3VzdG9tIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDIwcHg7XG4gICAgICAgIFxuICAgICAgICAubWljcm9zb2Z0LWljb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDdweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmxpbmtlZGluLWhvbGRlciBhIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmxpbmtlZGluLWhvbGRlciBhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7ICAgIFxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2xpbmtlZEluLXdoaXRlLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLWFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMzBweCA5MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIFxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2NoZWNrLW91dGxpbmUuc3ZnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIH1cbn1cblxuLnZpY3RhLWRpZW5zdGVuLmRldGFpbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBcbiAgICAuaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTVweDtcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnVrLXNsaWRlci1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyOjpiZWZvcmUge1xuICAgICAgICBib3R0b206IDQwJTtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ob2xkZXIgLnNjcm9sbGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRvcDogNjAlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaWRlLXBvcHVwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHBhZGRpbmc6IDUwcHggNDBweCAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL3BvcHVwLWRlY29yYXRpb24uc3ZnKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBcbiAgICAuc2lkZS1wb3B1cC1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICArIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbiAgICAmLnNob3cge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4uaG9tZS1wYXJ0aWNsZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEyJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjYwcHggIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAuMztcbiAgICBcbiAgICAmLnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDclICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5sYW5kaW5nLXBhcnRpY2xlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1heC13aWR0aDogMzUwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNyUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogLjM7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnByb2R1Y3QtbGFiZWxzLWhvbGRlciB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIFxuICAgIC5wcm9kdWN0LWxhYmVscy1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0LWxhYmVscyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgXG4gICAgICAgID4gZGl2ID4gZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCAyNXB4IDVweCA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmljb24taG9sZGVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCAubmlldXdzLWdyaWQtaG9sZGVyIC5uaWV1d3MtaXRlbSAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAub21zY2hyaWp2aW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG59XG5cbi5uaWV1d3NicmllZi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNkY4O1xuICAgIFxuICAgIC50aXRsZS1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDUzMHB4O1xuICAgIH1cbn1cblxuLnBheW1lbnQtZm9ybSBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wYXltZW50LWZvcm0ge1xuICAgIG1hcmdpbjogODBweCBhdXRvO1xuICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcbiAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgIH1cbiAgICBcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxufVxuXG4ucG9kY2FzdHMtaG9sZGVyIHtcbiAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAuaXRlbSB7XG4gICAgICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDI1cHggMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBvZGNhc3QtaXRlbSB7XG4gICAgbWF4LXdpZHRoOiA4NzBweDtcbiAgICBtYXJnaW46IDc1cHggYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgYXVkaW8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICBcbiAgICAgICAgJjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufSIsIltjbGFzcyo9dWstYW5pbWF0aW9uLV0ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0Q3VzdG9tO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0Q3VzdG9tO1xufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHRDdXN0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbUN1c3RvbTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b21DdXN0b207XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b21DdXN0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcbiAgICB9XG4gICAgXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIH1cbiAgICBcbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICB9XG59XG5cbi5yZXZlYWwtZWxlbWVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubGluZS1hbmltYXRpb24sIC5saW5lLWFuaW1hdGlvbi1kZWxheSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjYWxlLXVwIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC4xLCAwLjM4LCAwLjUzLCAwLjk4KTsgIFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KSB0cmFuc2xhdGVZKDEwMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5mYWRlLWJvdHRvbSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOXMgY3ViaWMtYmV6aWVyKDAuMSwgMC4zOCwgMC41MywgMC45OCk7ICBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgXG4gICAgJi5zaG93IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuXG4ubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDExMTA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDExMDA7XG4gICAgZm9udC1zaXplOiAyNTBweDtcbn1cblxuLmxhcmdlLW91dGxpbmUtdGV4dC5zaG93IHRleHQge1xuICAgIGFuaW1hdGlvbjogZmlsbE91dGxpbmUgM3MgbGluZWFyIGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIGZpbGxPdXRsaW5lIHtcbiAgdG8ge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59IiwiLyogSUUgMTAgYWxlcnQgKi9cbi5ibG9ja2VyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC45MCk7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4zcztcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmxvY2tlciAuYmxvY2tfaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogMTUlIGF1dG87XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLWhlaWdodDogNDUwcHg7XG59XG5cbi5ibG9ja2VyIC5ibG9ja19ob2xkZXIgYSB7XG4gICAgY29sb3I6ICM0QkFFNDc7XG59XG5cbi5ibG9ja2VyLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59IiwiYS5idXR0b24sIGJ1dHRvbi5idXR0b24sIHNwYW4uYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42LCAwLCAwLCAxKTtcbiAgICBcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwNSU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjIsIDEpO1xuICAgIH1cbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMTM1JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAxJSwwLDApO1xuICAgIH1cbiAgICBcbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgXG4gICAgPiBzcGFuIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjcsIDAsIDAuMiwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gc3BhbiA+IHNwYW4ge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBNb3ZlUmlnaHRJbml0aWFsIDAuM3MgZm9yd2FyZHMsIE1vdmVSaWdodEVuZCAwLjNzIGZvcndhcmRzIDAuMnM7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDFzIDAuM3MgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4yLCAxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLm91dGxpbmUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc3Qjg2O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLndoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmdyZXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuZG93bmxvYWQge1xuICAgICAgICBcbiAgICAgICAgPiBzcGFuID4gc3BhbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9kb3dubG9hZC1pY29uLnN2ZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLm9yYW5nZS1yZXZlYWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5ibGFjay5vcmFuZ2UtcmV2ZWFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5hLnJlYWQtbW9yZSwgc3Bhbi5yZWFkLW1vcmUge1xuICAgIGZvbnQtZmFtaWx5OiAkZ2VuZXJhbC1mb250O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIH1cbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MG1zO1xuICAgIH1cbiAgICBcbiAgICA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9hcnJvdy1ncmVlbi1yaWdodC5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5ibGFjayB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPiBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9hcnJvdy1ibGFjay1yaWdodC5zdmcnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIE1vdmVSaWdodEluaXRpYWwge1xuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNSUsMCwwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgTW92ZVJpZ2h0RW5kIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cbn0iLCIuY29tcG9uZW50LWdyaWQge1xuICAgIG1hcmdpbjogODBweCBhdXRvO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC51ay1ncmlkLWRpdmlkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb21wb25lbnQtZ3JpZCAuY29tcG9uZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29tcG9uZW50LWdyaWQgLmNvbXBvbmVudDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5jb21wb25lbnQtZ3JpZCAuZmxleC1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNvbXBvbmVudC1ncmlkIC5mbGV4LWNvbHVtbi5jb2x1bW4tMiA+IGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbiNpbmhvdWQgPiAuYmFja2dyb3VuZC1jb2xvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbiNpbmhvdWQgPiAuYmFja2dyb3VuZC1jb2xvci5ncmlqczpmaXJzdC1jaGlsZCA+IC5jb21wb25lbnQtZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogMTcwcHg7XG59XG5cbiNpbmhvdWQgPiAuYmFja2dyb3VuZC1jb2xvci5ncmlqczpmaXJzdC1jaGlsZCA+IC5jb21wb25lbnQtZ3JpZC5jb250YWluZXItZm9ybXVsaWVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4jaW5ob3VkID4gLmJhY2tncm91bmQtY29sb3Iud2l0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbiNpbmhvdWQgPiAuYmFja2dyb3VuZC1jb2xvci5uby10b3AtbWFyZ2luID4gLmNvbXBvbmVudC1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYmFja2dyb3VuZC1jb2xvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIFxuICAgICYuZ3JpanMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICB9XG4gICAgXG4gICAgJi53aXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG5cbi8vdGVrc3Rcbi5jb21wb25lbnQtdGVrc3QsIC5jb21wb25lbnQtaHRtbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogOTcwcHg7XG59XG5cbi5jb250YWluZXItdGVrc3Qge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbn1cbi5jb21wb25lbnQtdGVrc3QgaDMsICB7XG4gICAgY29sb3I6ICRncmVlbjtcbn1cblxuLmNvbXBvbmVudC10ZWtzdCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jb21wb25lbnQtdGVrc3QgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKC9hc3NldHMvaW1hZ2VzL2dyZWVuLWNoZWNrLnN2Zyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgfVxufVxuXG4uY29tcG9uZW50LWdyaWQtMiAuY29tcG9uZW50LXRla3N0IHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAudWstZ3JpZC1kaXZpZGVyIC5jb21wb25lbnQtdGVrc3Qge1xuICAgIG1heC13aWR0aDogMzcwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC5jb2x1bW4tMiAuY29tcG9uZW50LXRla3N0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLy9tZWRpYVxuLmNvbXBvbmVudC1ncmlkLmNvbnRhaW5lci1tZWRpYSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY29tcG9uZW50LW1lZGlhIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21wb25lbnQtbWVkaWEgaW1nLmZ1bGwtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbXBvbmVudC1ncmlkLTIgLmNvbXBvbmVudC1tZWRpYSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDcwcHgpO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAudWstZ3JpZC1kaXZpZGVyIC5jb21wb25lbnQtbWVkaWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC51ay1ncmlkLWRpdmlkZXIgLmNvbXBvbmVudC1tZWRpYSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDM3MHB4O1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAudWstZ3JpZC1kaXZpZGVyIC5jb2x1bW4tMSAuY29tcG9uZW50LW1lZGlhIHtcbiAgICAgIGZsb2F0OiBub25lO1xufVxuXG4uY29tcG9uZW50LWdyaWQtMiAuY29sdW1uLTEgLmNvbXBvbmVudC1tZWRpYSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vL2J1dHRvblxuLmNvbXBvbmVudC1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDk3MHB4O1xufVxuXG4uY29udGFpbmVyLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMCA0MHB4O1xufVxuXG4uY29tcG9uZW50LWJ1dHRvbjpub3QoLmNvbXBvbmVudC1pbmRleC0xKSB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbi5jb21wb25lbnQtZ3JpZC0yIC5jb2x1bW4tMiAuY29tcG9uZW50LWJ1dHRvbiB7XG4gIG1heC13aWR0aDogNDcwcHg7XG59XG5cbi8vcXVvdGVcbi5jb250YWluZXItcXVvdGUge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uY29tcG9uZW50LXF1b3RlIHtcbiAgcGFkZGluZy1sZWZ0OiAxNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcbiAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybCgvYXNzZXRzL2ltYWdlcy9xdW90ZS5zdmcpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTJweDtcbiAgfVxuICBcbn1cblxuLmNvbXBvbmVudC1xdW90ZSBibG9ja3F1b3RlIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBAZXh0ZW5kICVmb250LXNldHRpbmdzLTE7XG59XG5cbi5jb21wb25lbnQtcXVvdGUgLnF1b3RlcyBpbWcge1xuICAgIHdpZHRoOiA1NnB4O1xufVxuXG4uY29tcG9uZW50LXF1b3RlIC5hdXRldXIge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG5cbi5jb21wb25lbnQtcXVvdGUgLmF1dGV1ciA+IGRpdiB7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuLy9DYWxsIHRvIGFjdGlvblxuLmNvbXBvbmVudC1ncmlkLmNvbnRhaW5lci1jYWxsVG9BY3Rpb24ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmN0YS1mdWxsLWJhY2tncm91bmQge1xuICAgIHBhZGRpbmc6IDIwMHB4IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgfVxufVxuXG4uY3RhLWZ1bGwtYmFja2dyb3VuZCAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmN0YS1mdWxsLWJhY2tncm91bmQgaDIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5jdGEtZnVsbC1iYWNrZ3JvdW5kIGg0IHtcbiAgICBjb2xvcjogJGdyZWVuO1xufVxuXG4uY3RhLWZ1bGwtYmFja2dyb3VuZCAuY3RhLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgfVxufVxuXG4uY3RhLWZ1bGwtYmFja2dyb3VuZCAuY3RhLWRlc2NyaXB0aW9uIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5jdGEtcmlnaHQtaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDIwMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwMHB4KTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgei1pbmRleDogLTI7XG4gICAgfVxufVxuXG4uY3RhLXJpZ2h0LWltYWdlIC5jdGEtYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogJGdlbmVyYWwtZm9udDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAwIDEwMHB4IDAgMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBcbiAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDAgMjVweCAyNXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC5hcnJvdy1ob2xkZXIge1xuICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9jdGEtYXJyb3cuc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuNiwgMCwgMCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAtMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIFxuICAgICAgICAuYXJyb3ctaG9sZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdGEtZnVsbC1uby1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgcGFkZGluZzogMTAwcHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoL2Fzc2V0cy9pbWFnZXMvY3RhLWRvdHMtbGVmdC1jb3JuZXIuc3ZnKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKC9hc3NldHMvaW1hZ2VzL2N0YS1kb3RzLXJpZ2h0LWNvcm5lci5zdmcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4uY3RhLWZ1bGwtbm8tYmFja2dyb3VuZCAuY3RhLXRleHQge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3RhLWZ1bGwtbm8tYmFja2dyb3VuZCBoMiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmN0YS1mdWxsLW5vLWJhY2tncm91bmQgaDQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5jb2x1bW4tMSAuY3RhLTEtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xufVxuXG4uY29sdW1uLTIgLmN0YS0xLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbn1cblxuLmN0YS0xLTIge1xuICAgIHBhZGRpbmc6IDYwcHggNTBweCAxMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdGEtMS0yIGgzIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi5jdGEtMS0yIGEucmVhZC1tb3JlLCAuY3RhLTEtMiBzcGFuLnJlYWQtbW9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNTBweDtcbn1cblxuLmNvbHVtbi0yIC5jdGEtMS0yIGEucmVhZC1tb3JlLCAuY29sdW1uLTIgLmN0YS0xLTIgc3Bhbi5yZWFkLW1vcmUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbi5jb2x1bW4tMiAuY3RhLTEtMiBhLnJlYWQtbW9yZSA+IHNwYW46OmJlZm9yZSwgLmNvbHVtbi0yIC5jdGEtMS0yIHNwYW4ucmVhZC1tb3JlID4gc3Bhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2Fycm93LWJsYWNrLXJpZ2h0LnN2Zyk7XG59XG5cbi8vVWl0Z2VsaWNodGUgaXRlbXNcbi5jb21wb25lbnQtZ3JpZC5jb250YWluZXItdWl0Z2VsaWNodGVJdGVtcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIFxuICAgIC5pdGVtLWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaW50cm8ge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgNTBweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0zMDBweDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMDBweCk7XG4gICAgICAgIHdpZHRoOiAzMDAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgei1pbmRleDogLTI7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtMzAwcHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaW50cm8gPiAqIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pbnRybyBoMiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmNvbXBvbmVudC1nZXJlbGF0ZWVyZGVJdGVtcyAuaXRlbS1ob2xkZXIgPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pdGVtLWhvbGRlciAuaXRlbS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBcbiAgICAmLndpdGgtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pdGVtLWhvbGRlciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pdGVtLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pdGVtLXRleHQuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pdGVtLXRleHQgcCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLy9mb3JtdWxpZXJcbi5jb21wb25lbnQtZm9ybXVsaWVyIHtcbiAgICBwYWRkaW5nOiAxMjBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbXBvbmVudC1mb3JtdWxpZXIgLmFjaHRlcmdyb25kLXRpdGVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtNTBweDs7XG4gICAgbGVmdDogNzBweDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMzBweDtcbiAgICBsaW5lLWhlaWdodDogMTMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggJGdyZXk7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5cbi5jb21wb25lbnQtZm9ybXVsaWVyIC5hY2h0ZXJncm9uZC10aXRlbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbXBvbmVudC1ncmlkLmNvbnRhaW5lci1mb3JtdWxpZXIge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLy9zbGlkZXJcbi5jb21wb25lbnQtZ3JpZC5jb250YWluZXItc2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5jb21wb25lbnQtc2xpZGVyIHtcbiAgICBwYWRkaW5nOiAxNTBweCAwIDE1MHB4O1xufVxuXG4uc2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyArIDUwMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTI1MHB4O1xufVxuXG4uc2xpZGVyIC5zbGlkZXItaW1hZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNsaWRlciAuc2xpZGVyLWltYWdlIC5sYW5kc2NhcGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpZGVyIC5zbGlkZXItaW1hZ2UgLnBvcnRyYWl0IHtcbiAgICB3aWR0aDogNjUlO1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5rb2xvbS10aXRlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XG4gICAgXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgXG4gICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbi52cmFnZW4tY29tcG9uZW50IHtcbiAgICAudnJhZ2VuLWludHJvLWhvbGRlciB7XG4gICAgICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDcwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgLnZyYWdlbi1ob2xkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgXG4gICAgLnZyYWFnOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgICBcbiAgICAudnJhYWctaGVhZGVyIHsgICAgXG4gICAgICAgIEBleHRlbmQgJWZvbnQtc2V0dGluZ3MtMztcbiAgICAgICAgcGFkZGluZzogMjBweCA3NXB4IDIwcHggMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYXJyb3ctZG93bi1ibGFjay5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnZyYWFnLWFudHdvb3JkIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAudnJhYWctaGVhZGVyLm9wZW4gIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICsgLnZyYWFnLWFudHdvb3JkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC43cyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIFxufVxuXG4udmlkZW8tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEzMTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy9yZXNwb25zaXZlXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE4NTBweCkge1xuICAgIC5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLmludHJvIHtcbiAgICBcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IC05N3B4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZm9ybXVsaWVyIC5hY2h0ZXJncm9uZC10aXRlbCB7XG4gICAgICBib3R0b206IDUwcHg7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC5jb21wb25lbnQtdWl0Z2VsaWNodGVJdGVtczo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC02N3B4O1xuICAgICAgdG9wOiAzOHB4O1xuICAgICAgd2lkdGg6IDIxNHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXVpdGdlbGljaHRlSXRlbXM6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtODVweDtcbiAgICAgIGJvdHRvbTogMThweDtcbiAgICAgIHdpZHRoOiAyMjVweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1mdWxsLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogMTIwcHggMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLmNvbXBvbmVudC11aXRnZWxpY2h0ZUl0ZW1zOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC11aXRnZWxpY2h0ZUl0ZW1zOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pbnRybzo6YmVmb3JlLCBcbiAgICAuY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pbnRybzo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC02MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWZvcm11bGllciAuYWNodGVyZ3JvbmQtdGl0ZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMyMHB4KSB7XG4gICAgLmNvbXBvbmVudC1ncmlkLTIgLmNvbXBvbmVudC1tZWRpYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgLmNvbXBvbmVudC1ncmlkIHtcbiAgICAgIG1hcmdpbjogNzBweCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXF1b3RlIC5xdW90ZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTY1cHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtcXVvdGUgLnF1b3RlcyBpbWcge1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWdlcmVsYXRlZXJkZUl0ZW1zIC5pbnRybyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogLTQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMDtcbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuY29tcG9uZW50LWZvcm11bGllciB7XG4gICAgICBwYWRkaW5nOiAxMnZ3IDAgODBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC11aXRnZWxpY2h0ZUl0ZW1zIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXNsaWRlciB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDAgODBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmN0YS1yaWdodC1pbWFnZSAuY3RhLWJ1dHRvbiAudGV4dC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAyNXB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLXJpZ2h0LWltYWdlIC5jdGEtYnV0dG9uIC5hcnJvdy1ob2xkZXIge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1yaWdodC1pbWFnZSAuY3RhLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgODBweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gICAgXG4gICAgLnZyYWdlbi1jb21wb25lbnQgLnZyYWdlbi1pbnRyby1ob2xkZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAudnJhZ2VuLWNvbXBvbmVudCAudnJhYWctaGVhZGVyIHsgICAgXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNjBweCAyMHB4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudnJhZ2VuLWNvbXBvbmVudCAudnJhYWctYW50d29vcmQge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNvbXBvbmVudC1ncmlkIHtcbiAgICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWdyaWQuY29tcG9uZW50LWdyaWQtMSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWdyaWQgLmNvbXBvbmVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtZ3JpZC0yIC5jb21wb25lbnQtdGVrc3Qge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWdyaWQtMiAuY29tcG9uZW50LW1lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAjaW5ob3VkID4gLmJhY2tncm91bmQtY29sb3IuZ3JpanM6Zmlyc3QtY2hpbGQgPiAuY29tcG9uZW50LWdyaWRcbiAgICB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZ3JpZC5jb21wb25lbnQtZ3JpZC0xLmNvbnRhaW5lci10ZWtzdCxcbiAgICAuY29tcG9uZW50LWdyaWQuY29tcG9uZW50LWdyaWQtMS5jb250YWluZXItYnV0dG9uLFxuICAgIC5jb21wb25lbnQtZ3JpZC5jb21wb25lbnQtZ3JpZC0xLmNvbnRhaW5lci1xdW90ZVxuICAgIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXF1b3RlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXF1b3RlIC5hdXRldXIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LWZvcm11bGllciB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbXBvbmVudC11aXRnZWxpY2h0ZUl0ZW1zIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29tcG9uZW50LXNsaWRlciB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgNTBweDtcbiAgICB9XG4gICAgXG4gICAgLnNsaWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuc2xpZGVyIC5zbGlkZXItaW1hZ2UgLnBvcnRyYWl0IHtcbiAgICAgIHdpZHRoOiA1OC41JTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jb21wb25lbnQtZ2VyZWxhdGVlcmRlSXRlbXMgLml0ZW0taG9sZGVyID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1mdWxsLWJhY2tncm91bmQgLmN0YS1kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIC5jdGEtZGVzY3JpcHRpb24gLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtcmlnaHQtaW1hZ2Uge1xuICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgIH1cbiAgICBcbiAgICAuY3RhLXJpZ2h0LWltYWdlOjpiZWZvcmUsXG4gICAgLmN0YS1yaWdodC1pbWFnZTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1mdWxsLW5vLWJhY2tncm91bmQge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmN0YS0xLTIge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4IDg1cHg7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtMS0yIGEucmVhZC1tb3JlIHtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YS1yaWdodC1pbWFnZSAuY3RhLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC52cmFnZW4tY29tcG9uZW50IC52cmFhZy1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDUwcHggMTVweCAyMHB4O1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnZyYWdlbi1jb21wb25lbnQgLnZyYWdlbi1pbnRyby1ob2xkZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIH1cbn0iLCJib2R5IHtcbiAgLm5pY2Utc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgaGVpZ2h0OiA1OHB4O1xuICBsaW5lLWhlaWdodDogNThweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gfVxuIFxuIC5mdWktaSAqLCAuZnVpLWkgOjphZnRlciwgLmZ1aS1pIDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5mdWktaW5wdXQ6Zm9jdXMsIC5mdWktc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm5pY2Utc2VsZWN0IHNwYW4ge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiAgLm5pY2Utc2VsZWN0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNkODExMTE7IH1cbiAgLm5pY2Utc2VsZWN0OmFjdGl2ZSwgLm5pY2Utc2VsZWN0Lm9wZW4sIC5uaWNlLXNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDgxMTExOyB9XG4gIC5uaWNlLXNlbGVjdDphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMjI7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzIyMjtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDlweDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMThweDtcbiAgICB0b3A6IDQ1JTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDY2JSA2NiU7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDY2JSA2NiU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNjYlIDY2JTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDlweDtcbiB9XG4gIC5uaWNlLXNlbGVjdC5vcGVuOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuICAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsgfVxuICAubmljZS1zZWxlY3QuZGlzYWJsZWQge1xuICAgIGJvcmRlci1jb2xvcjogI2VkZWRlZDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5uaWNlLXNlbGVjdC5kaXNhYmxlZDphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7IH1cbiAgLm5pY2Utc2VsZWN0LndpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5pY2Utc2VsZWN0LndpZGUgLmxpc3Qge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubmljZS1zZWxlY3QucmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5uaWNlLXNlbGVjdC5yaWdodCAubGlzdCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgLm5pY2Utc2VsZWN0LnNtYWxsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9XG4gICAgLm5pY2Utc2VsZWN0LnNtYWxsOmFmdGVyIHtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgd2lkdGg6IDRweDsgfVxuICAgIC5uaWNlLXNlbGVjdC5zbWFsbCAub3B0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgbWluLWhlaWdodDogMzRweDsgfVxuICAubmljZS1zZWxlY3QgLmxpc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC8qYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoNjgsIDY4LCA2OCwgMC4xMSk7Ki9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLTIxcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSkgdHJhbnNsYXRlWSgtMjFweCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgICB6LWluZGV4OiA5OyBcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgfVxuICAgIC5uaWNlLXNlbGVjdCAubGlzdDpob3ZlciAub3B0aW9uOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgLm5pY2Utc2VsZWN0IC5vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uOmhvdmVyLCAubmljZS1zZWxlY3QgLm9wdGlvbi5mb2N1cywgLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQuZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxuICAgIC8qLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0qL1xuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLm5vLWNzc3BvaW50ZXJldmVudHMgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG59IiwiI2xvYWRlclxue1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluIDUwMG1zO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICAgIFxuICAgIC8qJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE1MHZoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCA0MDBtcztcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgICAqL1xuICAgICYuaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jbG9hZGVyLmxvYWRlZFxue1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG59XG5cbiNsb2FkZXIuZmluaXNoZWRcbntcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwbXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBcbn1cblxuI2xvYWRlci51bmxvYWRwYWdlXG57XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgNjAwbXM7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluIDUwMG1zO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgICB9XG59XG5cbiNwYWdlLXdyYXBwZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jcGFnZS13cmFwcGVyLmxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuIiwiJHRoZW1lQ29sb3I6ICRncmVlbjtcblxuQGtleWZyYW1lcyBwbHlyLXByb2dyZXNze1xuICAgIHRve1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjI1cHggMFxuICAgIH1cbn1cbkBrZXlmcmFtZXMgcGx5ci1wb3B1cHtcbiAgICAwJXtcbiAgICAgICAgb3BhY2l0eTouNTtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweClcbiAgICB9XG4gICAgdG97XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHBseXItZmFkZS1pbntcbiAgICBmcm9te1xuICAgICAgICBvcGFjaXR5OjBcbiAgICB9XG4gICAgdG97XG4gICAgICAgIG9wYWNpdHk6MVxuICAgIH1cbn1cbi5wbHlye1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzpzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICBkaXJlY3Rpb246bHRyO1xuICAgIGZvbnQtZmFtaWx5OkF2ZW5pcixcIkF2ZW5pciBOZXh0XCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLFwiU2Vnb2UgVUlcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgIGxpbmUtaGVpZ2h0OjEuNztcbiAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICBtaW4td2lkdGg6MjAwcHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdGV4dC1zaGFkb3c6bm9uZTtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2Vcbn1cbi5wbHlyIGF1ZGlvLC5wbHlyIHZpZGVve1xuICAgIGJvcmRlci1yYWRpdXM6aW5oZXJpdDtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXIgYnV0dG9ue1xuICAgIGZvbnQ6aW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDppbmhlcml0O1xuICAgIHdpZHRoOmF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuLnBseXIgYnV0dG9uOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGx5cjpmb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpe1xuICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveFxufVxuLnBseXItLWZ1bGwtdWkgKiwucGx5ci0tZnVsbC11aSA6OmFmdGVyLC5wbHlyLS1mdWxsLXVpIDo6YmVmb3Jle1xuICAgIGJveC1zaXppbmc6aW5oZXJpdFxufVxuLnBseXItLWZ1bGwtdWkgYSwucGx5ci0tZnVsbC11aSBidXR0b24sLnBseXItLWZ1bGwtdWkgaW5wdXQsLnBseXItLWZ1bGwtdWkgbGFiZWx7XG4gICAgdG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvblxufVxuLnBseXJfX2JhZGdle1xuICAgIGJhY2tncm91bmQ6IzRmNWI1ZjtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBjb2xvcjojZmZmO1xuICAgIGZvbnQtc2l6ZTo5cHg7XG4gICAgbGluZS1oZWlnaHQ6MTtcbiAgICBwYWRkaW5nOjNweCA0cHhcbn1cbi5wbHlyLS1mdWxsLXVpIDo6LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLWNvbnRhaW5lcntcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19jYXB0aW9uc3tcbiAgICBhbmltYXRpb246cGx5ci1mYWRlLWluIC4zcyBlYXNlO1xuICAgIGJvdHRvbTowO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgZGlzcGxheTpub25lO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxlZnQ6MDtcbiAgICBwYWRkaW5nOjEwcHg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyX19jYXB0aW9ucyAucGx5cl9fY2FwdGlvbntcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6Y2xvbmU7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6Y2xvbmU7XG4gICAgbGluZS1oZWlnaHQ6MTg1JTtcbiAgICBwYWRkaW5nOi4yZW0gLjVlbTtcbiAgICB3aGl0ZS1zcGFjZTpwcmUtd3JhcFxufVxuLnBseXJfX2NhcHRpb25zIC5wbHlyX19jYXB0aW9uIGRpdntcbiAgICBkaXNwbGF5OmlubGluZVxufVxuLnBseXJfX2NhcHRpb25zIHNwYW46ZW1wdHl7XG4gICAgZGlzcGxheTpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDo0ODBweCl7XG4gICAgLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgcGFkZGluZzoyMHB4XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpe1xuICAgIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjE4cHhcbiAgICB9XG59XG4ucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jYXB0aW9uc3tcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjpub3QoLnBseXItLWhpZGUtY29udHJvbHMpIC5wbHlyX19jb250cm9sczpub3QoOmVtcHR5KX4ucGx5cl9fY2FwdGlvbnN7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpXG59XG4ucGx5cl9fY29udHJvbHtcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjNweDtcbiAgICBjb2xvcjppbmhlcml0O1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZTtcbiAgICBwYWRkaW5nOjdweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZVxufVxuLnBseXJfX2NvbnRyb2wgc3Zne1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZmlsbDpjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OjE4cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICB3aWR0aDoxOHB4XG59XG4ucGx5cl9fY29udHJvbDpmb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbmEucGx5cl9fY29udHJvbHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZVxufVxuYS5wbHlyX19jb250cm9sOjphZnRlcixhLnBseXJfX2NvbnRyb2w6OmJlZm9yZXtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19jb250cm9sLnBseXJfX2NvbnRyb2wtLXByZXNzZWQgLmljb24tLW5vdC1wcmVzc2VkLC5wbHlyX19jb250cm9sLnBseXJfX2NvbnRyb2wtLXByZXNzZWQgLmxhYmVsLS1ub3QtcHJlc3NlZCwucGx5cl9fY29udHJvbDpub3QoLnBseXJfX2NvbnRyb2wtLXByZXNzZWQpIC5pY29uLS1wcmVzc2VkLC5wbHlyX19jb250cm9sOm5vdCgucGx5cl9fY29udHJvbC0tcHJlc3NlZCkgLmxhYmVsLS1wcmVzc2Vke1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cywucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2w6aG92ZXIsLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvcjtcbiAgICBjb2xvcjojZmZmXG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wgc3Zne1xuICAgIGZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMTUpKVxufVxuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cywucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2w6aG92ZXIsLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvcjtcbiAgICBjb2xvcjojZmZmXG59XG4ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWR7XG4gICAgYmFja2dyb3VuZDogJHRoZW1lQ29sb3I7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KTtcbiAgICBjb2xvcjojZmZmO1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBsZWZ0OjUwJTtcbiAgICBwYWRkaW5nOjE1cHg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgei1pbmRleDoyXG59XG4ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQgc3Zne1xuICAgIGxlZnQ6MnB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQ6Zm9jdXMsLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkOmhvdmVye1xuICAgIGJhY2tncm91bmQ6JHRoZW1lQ29sb3Jcbn1cbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9sLS1vdmVybGFpZHtcbiAgICBvcGFjaXR5OjA7XG4gICAgdmlzaWJpbGl0eTpoaWRkZW5cbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sLS1vdmVybGFpZHtcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5ci0tZnVsbC11aSA6Oi13ZWJraXQtbWVkaWEtY29udHJvbHN7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cl9fY29udHJvbHN7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXJcbn1cbi5wbHlyX19jb250cm9scyAucGx5cl9fbWVudSwucGx5cl9fY29udHJvbHMgLnBseXJfX3Byb2dyZXNzLC5wbHlyX19jb250cm9scyAucGx5cl9fdGltZSwucGx5cl9fY29udHJvbHMgLnBseXJfX3ZvbHVtZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2x7XG4gICAgbWFyZ2luLWxlZnQ6NXB4XG59XG4ucGx5cl9fY29udHJvbHMgLnBseXJfX21lbnUrLnBseXJfX2NvbnRyb2wsLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcysucGx5cl9fY29udHJvbCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2wrLnBseXJfX2NvbnRyb2wsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sKy5wbHlyX19tZW51e1xuICAgIG1hcmdpbi1sZWZ0OjJweFxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCtbZGF0YS1wbHlyPXBhdXNlXXtcbiAgICBtYXJnaW4tbGVmdDowO1xuICAgIG1hcmdpbi1yaWdodDphdXRvXG59XG4ucGx5cl9fY29udHJvbHM6ZW1wdHl7XG4gICAgZGlzcGxheTpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDo0ODBweCl7XG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51LC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3MsLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lLC5wbHlyX19jb250cm9scyAucGx5cl9fdm9sdW1lLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MTBweFxuICAgIH1cbn1cbi5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbHN7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6aW5oZXJpdDtcbiAgICBjb2xvcjojNGY1YjVmO1xuICAgIHBhZGRpbmc6MTBweFxufVxuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sc3tcbiAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjcpKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6aW5oZXJpdDtcbiAgICBib3R0b206MDtcbiAgICBjb2xvcjojZmZmO1xuICAgIGxlZnQ6MDtcbiAgICBwYWRkaW5nOjIwcHggNXB4IDVweDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDowO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQsdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDtcbiAgICB6LWluZGV4OjNcbn1cbkBtZWRpYSAobWluLXdpZHRoOjQ4MHB4KXtcbiAgICAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xze1xuICAgICAgICBwYWRkaW5nOjM1cHggMTBweCAxMHB4XG4gICAgfVxufVxuLnBseXItLXZpZGVvLnBseXItLWhpZGUtY29udHJvbHMgLnBseXJfX2NvbnRyb2xze1xuICAgIG9wYWNpdHk6MDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpXG59XG4ucGx5ciBbZGF0YS1wbHlyPWFpcnBsYXldLC5wbHlyIFtkYXRhLXBseXI9Y2FwdGlvbnNdLC5wbHlyIFtkYXRhLXBseXI9ZnVsbHNjcmVlbl0sLnBseXIgW2RhdGEtcGx5cj1waXBde1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXItLWFpcnBsYXktc3VwcG9ydGVkIFtkYXRhLXBseXI9YWlycGxheV0sLnBseXItLWNhcHRpb25zLWVuYWJsZWQgW2RhdGEtcGx5cj1jYXB0aW9uc10sLnBseXItLWZ1bGxzY3JlZW4tZW5hYmxlZCBbZGF0YS1wbHlyPWZ1bGxzY3JlZW5dLC5wbHlyLS1waXAtc3VwcG9ydGVkIFtkYXRhLXBseXI9cGlwXXtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9ja1xufVxuLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIGhlaWdodDowO1xuICAgIHBhZGRpbmctYm90dG9tOjU2LjI1JTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX3ZpZGVvLWVtYmVkIGlmcmFtZXtcbiAgICBib3JkZXI6MDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBsZWZ0OjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6bm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyLS1mdWxsLXVpIC5wbHlyX192aWRlby1lbWJlZD4ucGx5cl9fdmlkZW8tZW1iZWRfX2NvbnRhaW5lcntcbiAgICBwYWRkaW5nLWJvdHRvbToyNDAlO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zOC4yODEyNSUpXG59XG4ucGx5cl9fbWVudXtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX19tZW51IC5wbHlyX19jb250cm9sIHN2Z3tcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZVxufVxuLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSBzdmd7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZylcbn1cbi5wbHlyX19tZW51IC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLnBseXJfX3Rvb2x0aXB7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVye1xuICAgIGFuaW1hdGlvbjpwbHlyLXBvcHVwIC4ycyBlYXNlO1xuICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gICAgYm9yZGVyLXJhZGl1czo0cHg7XG4gICAgYm90dG9tOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGNvbG9yOiM0ZjViNWY7XG4gICAgZm9udC1zaXplOjE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0Oi0zcHg7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICB6LWluZGV4OjNcbn1cbi5wbHlyX19tZW51X19jb250YWluZXI+ZGl2e1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOmhlaWdodCAuMzVzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4zNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXI6OmFmdGVye1xuICAgIGJvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBjb250ZW50OicnO1xuICAgIGhlaWdodDowO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjE1cHg7XG4gICAgdG9wOjEwMCU7XG4gICAgd2lkdGg6MFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51XXtcbiAgICBwYWRkaW5nOjdweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbV0sLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbXJhZGlvXXtcbiAgICBtYXJnaW4tdG9wOjJweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbV06Zmlyc3QtY2hpbGQsLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbXJhZGlvXTpmaXJzdC1jaGlsZHtcbiAgICBtYXJnaW4tdG9wOjBcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2x7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGNvbG9yOiM0ZjViNWY7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIHBhZGRpbmc6NHB4IDExcHg7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6bm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2w+c3BhbntcbiAgICBhbGlnbi1pdGVtczppbmhlcml0O1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sOjphZnRlcntcbiAgICBib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZHtcbiAgICBwYWRkaW5nLXJpZ2h0OjI4cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQ6OmFmdGVye1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOnJnYmEoNzksOTEsOTUsLjgpO1xuICAgIHJpZ2h0OjVweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZC5wbHlyX190YWItZm9jdXM6OmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQ6aG92ZXI6OmFmdGVye1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOmN1cnJlbnRDb2xvclxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFja3tcbiAgICBmb250LXdlaWdodDo1MDA7XG4gICAgbWFyZ2luOjdweDtcbiAgICBtYXJnaW4tYm90dG9tOjNweDtcbiAgICBwYWRkaW5nLWxlZnQ6MjhweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB3aWR0aDpjYWxjKDEwMCUgLSAxNHB4KVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazo6YWZ0ZXJ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOnJnYmEoNzksOTEsOTUsLjgpO1xuICAgIGxlZnQ6N3B4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDojYjdjNWNkO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMCAjZmZmO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgaGVpZ2h0OjFweDtcbiAgICBsZWZ0OjA7XG4gICAgbWFyZ2luLXRvcDo0cHg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjA7XG4gICAgdG9wOjEwMCVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2sucGx5cl9fdGFiLWZvY3VzOjphZnRlciwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOmhvdmVyOjphZnRlcntcbiAgICBib3JkZXItcmlnaHQtY29sb3I6Y3VycmVudENvbG9yXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb117XG4gICAgcGFkZGluZy1sZWZ0OjdweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjphZnRlciwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmJlZm9yZXtcbiAgICBib3JkZXItcmFkaXVzOjEwMCVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSk7XG4gICAgY29udGVudDonJztcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgaGVpZ2h0OjE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gICAgdHJhbnNpdGlvbjphbGwgLjNzIGVhc2U7XG4gICAgd2lkdGg6MTZweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjphZnRlcntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgaGVpZ2h0OjZweDtcbiAgICBsZWZ0OjEycHg7XG4gICAgb3BhY2l0eTowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMCk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTtcbiAgICB3aWR0aDo2cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZUNvbG9yXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdOjphZnRlcntcbiAgICBvcGFjaXR5OjE7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXS5wbHlyX190YWItZm9jdXM6OmJlZm9yZSwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106aG92ZXI6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19tZW51X192YWx1ZXtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgbWFyZ2luLXJpZ2h0Oi01cHg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDoyNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2Vde1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MjhweDtcbiAgICBjb2xvcjokdGhlbWVDb2xvcjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGhlaWdodDoyMHB4O1xuICAgIG1hcmdpbjowO1xuICAgIHBhZGRpbmc6MDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LGN1cnJlbnRDb2xvciB2YXIoLS12YWx1ZSwwKSx0cmFuc3BhcmVudCB2YXIoLS12YWx1ZSwwKSlcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBtYXJnaW4tdG9wOi01cHhcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtcHJvZ3Jlc3N7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGNvbG9yOnRyYW5zcGFyZW50XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2Vye1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3Jcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdGh1bWJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpO1xuICAgIGhlaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlO1xuICAgIHdpZHRoOjE0cHg7XG4gICAgbWFyZ2luLXRvcDowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRvb2x0aXB7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LWZvY3VzLW91dGVye1xuICAgIGJvcmRlcjowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1zLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5cl9fcG9zdGVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IzAwMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGxlZnQ6MDtcbiAgICBvcGFjaXR5OjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgei1pbmRleDoxXG59XG4ucGx5ci0tc3RvcHBlZC5wbHlyX19wb3N0ZXItZW5hYmxlZCAucGx5cl9fcG9zdGVye1xuICAgIG9wYWNpdHk6MVxufVxuLnBseXJfX3RpbWV7XG4gICAgZm9udC1zaXplOjE0cHhcbn1cbi5wbHlyX190aW1lKy5wbHlyX190aW1lOjpiZWZvcmV7XG4gICAgY29udGVudDonXFwyMDQ0JztcbiAgICBtYXJnaW4tcmlnaHQ6MTBweFxufVxuQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpe1xuICAgIC5wbHlyX190aW1lKy5wbHlyX190aW1le1xuICAgICAgICBkaXNwbGF5Om5vbmVcbiAgICB9XG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX3RpbWV7XG4gICAgdGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KVxufVxuLnBseXJfX3Rvb2x0aXB7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3JkZXItcmFkaXVzOjNweDtcbiAgICBib3R0b206MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgY29sb3I6IzRmNWI1ZjtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBmb250LXdlaWdodDo1MDA7XG4gICAgbGVmdDo1MCU7XG4gICAgbGluZS1oZWlnaHQ6MS4zO1xuICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICBvcGFjaXR5OjA7XG4gICAgcGFkZGluZzo1cHggNy41cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMTBweCkgc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIC4xcyBlYXNlLG9wYWNpdHkgLjJzIC4xcyBlYXNlO1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyX190b29sdGlwOjpiZWZvcmV7XG4gICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDo0cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gICAgYm90dG9tOi00cHg7XG4gICAgY29udGVudDonJztcbiAgICBoZWlnaHQ6MDtcbiAgICBsZWZ0OjUwJTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDowO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXIgLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX190b29sdGlwLS12aXNpYmxle1xuICAgIG9wYWNpdHk6MTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCkgc2NhbGUoMSlcbn1cbi5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwe1xuICAgIHotaW5kZXg6M1xufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcHtcbiAgICBsZWZ0OjA7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjAgMTAwJVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwOjpiZWZvcmV7XG4gICAgbGVmdDoxNnB4XG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcHtcbiAgICBsZWZ0OmF1dG87XG4gICAgcmlnaHQ6MDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMTBweCkgc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46MTAwJSAxMDAlXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGxlZnQ6YXV0bztcbiAgICByaWdodDoxNnB4O1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSlcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwe1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKSBzY2FsZSgxKVxufVxuLnBseXItLXZpZGVve1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBvdmVyZmxvdzpoaWRkZW5cbn1cbi5wbHlyLS12aWRlby5wbHlyLS1tZW51LW9wZW57XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6aW5oZXJpdDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDowXG59XG4ucGx5cl9fcHJvZ3Jlc3N7XG4gICAgZmxleDoxO1xuICAgIGxlZnQ6N3B4O1xuICAgIG1hcmdpbi1yaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV0sLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgbWFyZ2luLWxlZnQ6LTdweDtcbiAgICBtYXJnaW4tcmlnaHQ6LTdweDtcbiAgICB3aWR0aDpjYWxjKDEwMCUgKyAxNHB4KVxufVxuLnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9cmFuZ2Vde1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXJfX3Byb2dyZXNzIC5wbHlyX190b29sdGlwe1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxlZnQ6MFxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDBweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIGxlZnQ6MDtcbiAgICBtYXJnaW4tdG9wOi0ycHg7XG4gICAgcGFkZGluZzowO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCVcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotd2Via2l0LXByb2cgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YWZ0ZXIsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjpiZWZvcmV7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmbGV4LXNocmluazowO1xuICAgIGhlaWdodDoxNnB4O1xuICAgIG1hcmdpbi1yaWdodDoxMHB4O1xuICAgIHRyYW5zaXRpb246YWxsIC4zcyBlYXNlO1xuICAgIHdpZHRoOjE2cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YWZ0ZXJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGhlaWdodDo2cHg7XG4gICAgbGVmdDoxMnB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLG9wYWNpdHkgLjNzIGVhc2U7XG4gICAgd2lkdGg6NnB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvclxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTo6YWZ0ZXJ7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb10ucGx5cl9fdGFiLWZvY3VzOjpiZWZvcmUsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOmhvdmVyOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fbWVudV9fdmFsdWV7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgIG1hcmdpbi1yaWdodDotNXB4O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6MjVweDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXXtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjI4cHg7XG4gICAgY29sb3I6JHRoZW1lQ29sb3I7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBoZWlnaHQ6MjBweDtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxjdXJyZW50Q29sb3IgdmFyKC0tdmFsdWUsMCksdHJhbnNwYXJlbnQgdmFyKC0tdmFsdWUsMCkpXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpO1xuICAgIGhlaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlO1xuICAgIHdpZHRoOjE0cHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgbWFyZ2luLXRvcDotNXB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbW96LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpO1xuICAgIGhlaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlO1xuICAgIHdpZHRoOjE0cHhcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXByb2dyZXNze1xuICAgIGJhY2tncm91bmQ6Y3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHhcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICBjb2xvcjp0cmFuc3BhcmVudFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLXVwcGVye1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC1sb3dlcntcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGJhY2tncm91bmQ6Y3VycmVudENvbG9yXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4O1xuICAgIG1hcmdpbi10b3A6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10b29sdGlwe1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXN7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1mb2N1cy1vdXRlcntcbiAgICBib3JkZXI6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBib3gtc2hhZG93OjAgMCAwIDVweCByZ2JhKDI2LDE3NSwyNTUsLjUpO1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi1tcy10cmFja3tcbiAgICBib3gtc2hhZG93OjAgMCAwIDVweCByZ2JhKDI2LDE3NSwyNTUsLjUpO1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDI1NSwyNTUsMjU1LC41KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDI1NSwyNTUsMjU1LC41KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDAsMCwwLC4xKVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDAsMCwwLC4xKVxufVxuLnBseXJfX3Bvc3RlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBsZWZ0OjA7XG4gICAgb3BhY2l0eTowO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIHRyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIHotaW5kZXg6MTtcbn1cbi5wbHlyLS1zdG9wcGVkLnBseXJfX3Bvc3Rlci1lbmFibGVkIC5wbHlyX19wb3N0ZXJ7XG4gICAgb3BhY2l0eToxO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4ucGx5cl9fdGltZXtcbiAgICBmb250LXNpemU6MTRweFxufVxuLnBseXJfX3RpbWUrLnBseXJfX3RpbWU6OmJlZm9yZXtcbiAgICBjb250ZW50OidcXDIwNDQnO1xuICAgIG1hcmdpbi1yaWdodDoxMHB4XG59XG5AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7XG4gICAgLnBseXJfX3RpbWUrLnBseXJfX3RpbWV7XG4gICAgICAgIGRpc3BsYXk6bm9uZVxuICAgIH1cbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fdGltZXtcbiAgICB0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpXG59XG4ucGx5cl9fdG9vbHRpcHtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGJvcmRlci1yYWRpdXM6M3B4O1xuICAgIGJvdHRvbToxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KTtcbiAgICBjb2xvcjojNGY1YjVmO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICBsZWZ0OjUwJTtcbiAgICBsaW5lLWhlaWdodDoxLjM7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICBwYWRkaW5nOjVweCA3LjVweDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgLjFzIGVhc2Usb3BhY2l0eSAuMnMgLjFzIGVhc2U7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOjRweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3R0b206LTRweDtcbiAgICBjb250ZW50OicnO1xuICAgIGhlaWdodDowO1xuICAgIGxlZnQ6NTAlO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOjA7XG4gICAgei1pbmRleDoyXG59XG4ucGx5ciAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX3Rvb2x0aXAtLXZpc2libGV7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKSBzY2FsZSgxKVxufVxuLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXB7XG4gICAgei1pbmRleDozXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwe1xuICAgIGxlZnQ6MDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMTBweCkgc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46MCAxMDAlXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBsZWZ0OjE2cHhcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwe1xuICAgIGxlZnQ6YXV0bztcbiAgICByaWdodDowO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCVcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmV7XG4gICAgbGVmdDphdXRvO1xuICAgIHJpZ2h0OjE2cHg7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXB7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApIHNjYWxlKDEpXG59XG4ucGx5ci0tdmlkZW97XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIG92ZXJmbG93OmhpZGRlblxufVxuLnBseXItLXZpZGVvLnBseXItLW1lbnUtb3BlbntcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czppbmhlcml0O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi5wbHlyX19wcm9ncmVzc3tcbiAgICBmbGV4OjE7XG4gICAgbGVmdDo3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPXJhbmdlXSwucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBtYXJnaW4tbGVmdDotN3B4O1xuICAgIG1hcmdpbi1yaWdodDotN3B4O1xuICAgIHdpZHRoOmNhbGMoMTAwJSArIDE0cHgpXG59XG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDoyXG59XG4ucGx5cl9fcHJvZ3Jlc3MgLnBseXJfX3Rvb2x0aXB7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGVmdDowXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbi10b3A6LTJweDtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJVxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFye1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIHRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Vcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLXZhbHVle1xuICAgIGJhY2tncm91bmQ6Y3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgbWluLXdpZHRoOjRweFxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi1tb3otcHJvZ3Jlc3MtYmFye1xuICAgIGJhY2tncm91bmQ6Y3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgbWluLXdpZHRoOjRweDtcbiAgICB0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LW1zLWZpbGx7XG4gICAgYm9yZGVyLXJhZGl1czoxMDBweDtcbiAgICB0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlXG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIGNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWxvYWRpbmcgLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgYW5pbWF0aW9uOnBseXItcHJvZ3Jlc3MgMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KC00NWRlZyxyZ2JhKDQ3LDUyLDYxLC42KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDQ3LDUyLDYxLC42KSA1MCUscmdiYSg0Nyw1Miw2MSwuNikgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOjI1cHggMjVweDtcbiAgICBjb2xvcjp0cmFuc3BhcmVudFxufVxuLnBseXItLXZpZGVvLnBseXItLWxvYWRpbmcgLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1hdWRpby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5cl9fdm9sdW1le1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleDoxO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4ucGx5cl9fdm9sdW1lIGlucHV0W3R5cGU9cmFuZ2Vde1xuICAgIG1hcmdpbi1sZWZ0OjVweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjJcbn1cbkBtZWRpYSAobWluLXdpZHRoOjQ4MHB4KXtcbiAgICAucGx5cl9fdm9sdW1le1xuICAgICAgICBtYXgtd2lkdGg6OTBweFxuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXtcbiAgICAucGx5cl9fdm9sdW1le1xuICAgICAgICBtYXgtd2lkdGg6MTEwcHhcbiAgICB9XG59XG4ucGx5ci0taXMtaW9zIC5wbHlyX192b2x1bWV7XG4gICAgZGlzcGxheTpub25lIWltcG9ydGFudFxufVxuLnBseXItLWlzLWlvcy5wbHlyLS12aW1lbyBbZGF0YS1wbHlyPW11dGVde1xuICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnRcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjpmdWxsc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjpmdWxsc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOmZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG4ucGx5cjpmdWxsc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7XG4gICAgLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxuICAgIC5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbiAgICAucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxuICAgIC5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpe1xuICAgIC5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpe1xuICAgIC5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuK3N2Z3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7XG4gICAgLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MjFweFxuICAgIH1cbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNre1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgYm90dG9tOjA7XG4gICAgbGVmdDowO1xuICAgIHBvc2l0aW9uOmZpeGVkO1xuICAgIHJpZ2h0OjA7XG4gICAgdG9wOjA7XG4gICAgei1pbmRleDoxMDAwMDAwMFxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjay5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgICAucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXJfX2Fkc3tcbiAgICBib3JkZXItcmFkaXVzOmluaGVyaXQ7XG4gICAgYm90dG9tOjA7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgbGVmdDowO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDowO1xuICAgIHRvcDowO1xuICAgIHotaW5kZXg6LTFcbn1cbi5wbHlyX19hZHM+ZGl2LC5wbHlyX19hZHM+ZGl2IGlmcmFtZXtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cl9fYWRzOjphZnRlcntcbiAgICBiYWNrZ3JvdW5kOnJnYmEoNDcsNTIsNjEsLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGJvdHRvbToxMHB4O1xuICAgIGNvbG9yOiNmZmY7XG4gICAgY29udGVudDphdHRyKGRhdGEtYmFkZ2UtdGV4dCk7XG4gICAgZm9udC1zaXplOjExcHg7XG4gICAgcGFkZGluZzoycHggNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6MTBweDtcbiAgICB6LWluZGV4OjNcbn1cbi5wbHlyX19hZHM6OmFmdGVyOmVtcHR5e1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXJfX2N1ZXN7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBoZWlnaHQ6NHB4O1xuICAgIGxlZnQ6MDtcbiAgICBtYXJnaW46LTJweCAwIDA7XG4gICAgb3BhY2l0eTouODtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIHdpZHRoOjNweDtcbiAgICB6LWluZGV4OjNcbn1cbi5wbHlyLS1uby10cmFuc2l0aW9ue1xuICAgIHRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnRcbn1cbi5wbHlyX19zci1vbmx5e1xuICAgIGNsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBib3JkZXI6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjFweCFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzowIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6MXB4IWltcG9ydGFudFxufVxuLnBseXIgW2hpZGRlbl17XG4gICAgZGlzcGxheTpub25lIWltcG9ydGFudFxufVxuIiwiLm5pZXV3c2JyaWVmIHtcbiAgICBwYWRkaW5nOiAxMjBweCAwIDA7XG4gICAgbWFyZ2luLXRvcDogLTEyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5saWNodGtyYW50LWhvbGRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmxpY2h0a3JhbnQge1xuICAgIGZvbnQtc2l6ZTogM3Z3O1xuICAgIGxpbmUtaGVpZ2h0OiA1dnc7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjcxcHg7XG4gICAgY29sb3I6ICRncmV5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNDQuNXZ3O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIFxuICAgIC5vdXRsaW5lIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR3aGl0ZTsgLyogV2lsbCBvdmVycmlkZSBjb2xvciAocmVnYXJkbGVzcyBvZiBvcmRlcikgKi9cbiAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMXB4O1xuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiAkZ3JleTtcbiAgICB9XG4gICAgXG4gICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDR2dztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9saWNodGtyYW50LWFycm93LnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjJ2dztcbiAgICAgICAgICAgIGhlaWdodDogMXZ3O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEuMnZ3O1xuICAgICAgICAgICAgdG9wOiAxLjd2dztcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uaWV1d3NicmllZi1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAxMjBweDtcbn1cblxuLm5pZXV3c2JyaWVmLWhvbGRlciAuZm9ybS1ob2xkZXIge1xuICAgIG1heC13aWR0aDogNzcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIC5mdWktcGFnZS1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIFxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZnVpLWZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmZ1aS1idG4tY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAubmlldXdzYnJpZWYge1xuICAgICAgICBwYWRkaW5nOiA3NXB4IDAgMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3NicmllZi1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNzVweDtcbiAgICB9XG4gICAgXG4gICAgLmxpY2h0a3JhbnQge1xuICAgICAgICBmb250LXNpemU6IDR2dztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDZ2dztcbiAgICB9XG4gICAgXG4gICAgLmxpY2h0a3JhbnQgbGkge1xuICAgICAgICBtYXgtd2lkdGg6IDU3LjV2dztcbiAgICB9XG4gICAgXG4gICAgLmxpY2h0a3JhbnQgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDV2dztcbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMS42dnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuM3Z3O1xuICAgICAgICAgICAgcmlnaHQ6IDEuM3Z3O1xuICAgICAgICAgICAgdG9wOiAyLjF2dztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5saWNodGtyYW50IHtcbiAgICAgICAgZm9udC1zaXplOiA2dnc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA4dnc7XG4gICAgfVxuICAgIFxuICAgIC5saWNodGtyYW50IGxpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4NS41dnc7XG4gICAgfVxuICAgIFxuICAgIC5saWNodGtyYW50IHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4dnc7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDMuNnZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjN2dztcbiAgICAgICAgICAgIHJpZ2h0OiAxLjl2dztcbiAgICAgICAgICAgIHRvcDogMi44dnc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLm5pZXV3c2JyaWVmLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzYnJpZWYtaG9sZGVyIC5mb3JtLWhvbGRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3NicmllZi1ob2xkZXIgLmZvcm0taG9sZGVyIC5mdWktYnRuLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5uaWV1d3NicmllZiB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICB9XG59IiwiLmZvcm0taG9sZGVyIGlucHV0LFxuLmZvcm0taG9sZGVyIHRleHRhcmVhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFN0Y2Rjg7XG4gICAgfVxuICAgIFxufVxuXG4uZm9ybS1ob2xkZXIgdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmZvcm0taG9sZGVyIC5saWdodC1ncmV5IHtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5mb3JtLWhvbGRlciAuZXJyb3IgaW5wdXQsIC5mb3JtLWhvbGRlciAuZXJyb3IgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbn1cblxuLyouZm9ybS1ob2xkZXIgLmxpc3Qge1xuICAgIG1heC1oZWlnaHQ6IDMyMHB4O1xuICAgIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn0qL1xuXG5ib2R5IC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgICBtYXgtaGVpZ2h0OiAyMzVweDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1idG4tY29udGFpbmVyLFxuLmZvcm0taG9sZGVyIC5mdWktYnRuLXdyYXBwZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLWxhYmVsLFxuLmZvcm0taG9sZGVyIC5mdWktZXJyb3IgLmZ1aS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLWlucHV0LmZ1aS1lcnJvciB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLWFsZXJ0LWVycm9yLCAuZm9ybS1ob2xkZXIgLmZ1aS1lcnJvci1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZnVpLWVycm9yIC5mdWktaW5wdXQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9lcnJvci5zdmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICAgIFxuICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0taG9sZGVyIC5mdWktcmVxdWlyZWQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXR5cGUtY2hlY2tib3hlcyB7XG4gICAgLmZ1aS1sZWdlbmQge1xuICAgICAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgXG4gICAgLmZ1aS1jaGVja2JveCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbi5mb3JtLWhvbGRlciBmb3JtIC5mdWktZm9ybS1jb250YWluZXIgZGl2Lm5pY2Utc2VsZWN0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRkZWVwZXN0LWJsYWNrO1xufVxuXG4uZm9ybS1ob2xkZXIgZm9ybSAuZnVpLWZvcm0tY29udGFpbmVyIC5mdWktZXJyb3IgZGl2Lm5pY2Utc2VsZWN0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZWQgIWltcG9ydGFudDtcbn1cblxuLm5vLWltYWdlLWhlYWRlciAuZm9ybS1ob2xkZXIgLmZ1aS10eXBlLWNoZWNrYm94ZXMge1xuICAgIC5mdWktbGVnZW5kIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgXG4gICAgLmZ1aS1jaGVja2JveCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uZnVpLWVycm9yLmZ1aS10eXBlLWRyb3Bkb3duIC5mdWktaW5wdXQtY29udGFpbmVyOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAzNXB4O1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktbGVnZW5kIHtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuLmZvcm0taG9sZGVyIGlucHV0OmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXJhZGlvIGlucHV0OmNoZWNrZWQrbGFiZWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS1yYWRpbyB7XG4gICAgY29sb3I6ICRibGFjaztcbn1cblxuLmZvcm0taG9sZGVyIC5mdWktdHlwZS1yYWRpby1idXR0b25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZm9ybS1ob2xkZXIgLmZ1aS10eXBlLXJhZGlvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWhvbGRlciAuZnVpLXByb2dyZXNzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmZvcm0taG9sZGVyIGJ1dHRvbi5idXR0b24uZGlzYWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4ucmVDYXB0Y2hhVGV4dFxue1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG59XG5cbi5yZUNhcHRjaGFUZXh0IGFcbntcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkZ3JlZW47XG59XG5cbi5ncmVjYXB0Y2hhLWJhZGdlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mb3JtLWhvbGRlciAuZm9ybS1pbnRyby5zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbn1cblxuLmZvcm0td2lkdGgtaG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDg3MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZm9ybS1ob2xkZXIgLlN0cmlwZUVsZW1lbnQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0IxQjhDNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59IiwiQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODUwcHgpIHtcbiAgICAuaW1hZ2UtaGVhZGVyIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTB2dyAtIDc0cHgpO1xuICAgIH1cbiAgICBcbiAgICAuaW1hZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXI6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoNTB2dyAtIDQwMHB4KTtcbiAgICAgIHRvcDogNDBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAuYWNodGVyZ3JvbmQtdGl0ZWwge1xuICAgICAgYm90dG9tOiAxNTBweDtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDEyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAuc2Nyb2xsZXIge1xuICAgICAgbGVmdDogNDBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3cy1ob2xkZXIge1xuICAgICAgbWFyZ2luOiA1MHB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLmFjaHRlcmdyb25kLXRpdGVsIHtcbiAgICAgIGJvdHRvbTogMzUwcHg7XG4gICAgICBmb250LXNpemU6IDgwcHg7XG4gICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAucmlnaHQtY29sdW1uIGltZyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgOTBweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDkwcHgpO1xuICAgIH1cbiAgICBcbiAgICAuaG9tZXBhZ2UtaGVhZGVyIC5kb3RzLWFuaW1hdGlvbiBzdmcge1xuICAgICAgd2lkdGg6IDIyOXB4O1xuICAgIH1cbiAgICBcbiAgICAuY3RhLXJpZ2h0LWltYWdlLmxlZnQgLmRvdHMtYW5pbWF0aW9uIHN2ZyB7XG4gICAgICB3aWR0aDogMTk3cHg7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3Rlbi5kZXRhaWwgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gIC5wcm9kdWN0ZW4taGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cbiAgXG4gIC5wcm9kdWN0ZW4taGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogNzVweCAwIDA7ICBcbiAgfVxuICBcbiAgLnByb2R1Y3RzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgXG4gICAgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTcwcHg7XG4gICAgfVxuICB9XG4gIFxuICAubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgIHtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHRvcDogLTEwMHB4O1xuICAgIFxuICAgIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE3MHB4O1xuICAgIH1cbiAgfVxuICBcbiAgLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbk92ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDIwMHB4O1xuICB9XG4gIFxuICAgIC5uby1pbWFnZS1oZWFkZXItaG9sZGVyLndpdGgtaWxsdXN0cmF0aW9uIC5kb3RzLWFuaW1hdGlvbiBzdmcge1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgIH1cbiAgICBcbiAgLmhvbWVwYWdlLWhlYWRlciAuaW1hZ2UtaG9sZGVyIC5oZWFkZXItaWxsdXN0cmF0aW9uIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgXG4gIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5kaWVuc3QgLnRleHQtaG9sZGVyIC50ZXh0IHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICB9XG4gIFxuICAudmljdGEtZGllbnN0ZW4ge1xuICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgfVxuICBcbiAgLmhvbWUtcGFydGljbGVzIHtcbiAgICAgIHdpZHRoOiA4JSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAyMTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAuc2Nyb2xsZXIge1xuICAgICAgbGVmdDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAuYWNodGVyZ3JvbmQtdGl0ZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmhvbWVwYWdlLWhlYWRlciAuZG90cy1hbmltYXRpb24gc3ZnIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5pdGVtOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLnVrLXNsaWRlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXBhcnRpY2xlcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuaG9tZS1wYXJ0aWNsZXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgLmxhbmRpbmctcGFydGljbGVzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAuc2Nyb2xsZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXIgLmltYWdlLWhvbGRlciBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5kZW1vLWhvbGRlciAuaW1hZ2UtaG9sZGVyIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICBtYXJnaW46IDUwcHggLTQwcHggMCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5yaWdodC1jb2x1bW4gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogNzBweCAwIDkwcHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH0gICBcbiAgICBcbiAgICAubm8taW1hZ2UtaGVhZGVyLWhvbGRlci53aXRoLWlsbHVzdHJhdGlvbiAuZG90cy1hbmltYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiAuZG90cy1hbmltYXRpb24ge1xuICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI2MHB4KSB7XG4gICAgLnByb2R1Y3Rlbi1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgNDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI0MHB4KSB7XG4gICAgLmltYWdlLWhlYWRlciBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAubGVmdC1jb2x1bW4ubm8taW1hZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbiAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAubGVmdC1jb2x1bW4ubm8taW1hZ2U6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDBweDtcbiAgfVxuICBcbiAgLnJpYm9uLWJhciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIFxuICAucmlib24tYmFyIC5yaWJvbi1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaG9tZXBhZ2UtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgNzVweCA0MHB4O1xuICAgICAgbWFyZ2luOiAwIDc1cHggMCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlciAucHJvZHVjdGVuLWludHJvLWhvbGRlciB7XG4gICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaG9tZXBhZ2UtY3RhLWhvbGRlciB7XG4gICAgICBtYXJnaW46IDc1cHggMCA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAuaG9tZXBhZ2UtY3RhLWhvbGRlciAuY29sdW1uIHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggNDBweDtcbiAgICB9XG4gIFxuICAgIC5ob21lcGFnZS1jdGEtaG9sZGVyIC5jb2x1bW4gaDIge1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gICAgfVxuICAgIFxuICAgIC5kZW1vLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgMDtcbiAgICB9XG4gICAgXG4gICAgLmRlbW8taG9sZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgIH1cbiAgICBcbiAgICAuZGVtby1ob2xkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4taG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMCAwO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4taG9sZGVyIC50YWJzLWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMDtcbiAgICB9XG4gICAgXG4gICAgLmtsYW50ZW4taG9sZGVyIHtcbiAgICAgIG1hcmdpbjogNzVweCAwO1xuICAgIH1cbiAgICBcbiAgICAua2xhbnRlbi1ob2xkZXIgLmtsYW50ZW4taW50cm8taG9sZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLXZpY3RhUWxpa0hvbWVwYWdlIC5jdGEtZnVsbC1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3Rlbi1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDA7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0ZW4taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICAgIHRvcDogLTc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgZm9udC1zaXplOiAxMzBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1wcm9kdWN0ZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxNThweDtcbiAgICAgIGhlaWdodDogMjc4cHg7XG4gICAgfVxuICAgIFxuICAgIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBtYXJnaW46IDUwcHggLTEwMHB4IDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgNTBweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgICAgdG9wOiAtNTBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgIH1cbiAgICBcbiAgICAubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgIHtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB0b3A6IC0yMHB4O1xuICAgICAgXG4gICAgICAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgICBmb250LXNpemU6IDEzMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbi1kaWVuc3RlbiAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXI6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogOTJweDtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICB9XG4gICAgXG4gICAgcC5uci1yZXN1bHRzIHtcbiAgICAgIG1hcmdpbi10b3A6IDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5yZXN1bHRhdGVuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgfVxuICAgIFxuICAgIC5uby1pbWFnZS1oZWFkZXItaG9sZGVyLndpdGgtaWxsdXN0cmF0aW9uOjphZnRlciB7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBoZWlnaHQ6IDE0OXB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1oZWFkZXIgaDEsIC5jb250YWN0LWhlYWRlciBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1oZWFkZXIgLmJsb2trZW4taG9sZGVyIC5ibG9rIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjZGODtcbiAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAubGVmdC1jb2x1bW4ge1xuICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgIH1cbiAgICBcbiAgICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaXRlbXMtY29udGFpbmVyIC5pdGVtLm92ZXJ6aWNodC1jdGEgLmN0YS10ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgMzVweCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaXRlbXMtY29udGFpbmVyIC5pdGVtLm92ZXJ6aWNodC1jdGEgaDMge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtcy1jb250YWluZXIgLml0ZW0gLnRleHQtaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjVweCAxMDBweDtcbiAgICB9XG4gICAgXG4gICAgLml0ZW1zLWNvbnRhaW5lciAuaXRlbSAudGV4dC1ob2xkZXIgLnRleHQtYm90dG9tIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIGxlZnQ6IDI1cHg7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtcy1jb250YWluZXIgLml0ZW0ub3ZlcnppY2h0LWN0YSAuY3RhLXRleHQtaG9sZGVyLm5vLWltYWdlIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMzBweDtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbk92ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMCAyMDBweDtcbiAgICB9XG4gICAgXG4gICAgLml0ZW1zLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDAgNzVweDtcbiAgICB9XG4gICAgXG4gICAgLnJlc291cmNlcy1ob2xkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLXJlc291cmNlc092ZXJ6aWNodCwgLnNlY3Rpb24tbWFya2V0cGxhY2VPdmVyemljaHQge1xuICAgICAgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgXG4gICAgLnNlY3Rpb24tcmVzb3VyY2VzT3ZlcnppY2h0LCAuc2VjdGlvbi1tYXJrZXRwbGFjZU92ZXJ6aWNodCAge1xuICAgICAgLm5vLWltYWdlLWhlYWRlci1ob2xkZXIud2l0aC1pbGx1c3RyYXRpb246OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmZpbHRlciB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaG9tZXBhZ2UtaGVhZGVyIC5pbWFnZS1ob2xkZXIgLmhlYWRlci1pbGx1c3RyYXRpb24ge1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuIC5pbnRyby1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuIC5kaWVuc3Rlbi1kb3RzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0cy1ob2xkZXIuY3VzdG9tLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdC1sYWJlbHMtaG9sZGVyIC5wcm9kdWN0LWxhYmVscy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0LWxhYmVscy1ob2xkZXIgLnByb2R1Y3RzLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIFxuICAgIC5pbWFnZS1oZWFkZXIgLmltYWdlLWhvbGRlcjo6YmVmb3JlLFxuICAgIC5pbWFnZS1oZWFkZXIgLmltYWdlLWhvbGRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgI2luaG91ZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICAgIFxuICAgICNpbmhvdWQgPiAuYmFja2dyb3VuZC1jb2xvciA+IC5jb21wb25lbnQtZ3JpZCB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaG9tZXBhZ2UtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCA1MHB4IDQwcHg7XG4gICAgICAgIG1hcmdpbjogMCA0MHB4IDAgYXV0bztcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3Rlbi1ncmlkLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0ZW4tZ3JpZC5kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3Rlbi1ncmlkLm1vYmlsZSA+IGRpdiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1ob2xkZXIgLnRhYnMtaG9sZGVyLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLWhvbGRlciAudGFicy1ob2xkZXItbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgXG4gICAgICA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA4MHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuY29ycG9yYXRlIC5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlciAubGFiZWwgLmlubmVyLWxhYmVsIHsgICAgXG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICAgIFxuICAgIC5jb3Jwb3JhdGUgLmRpZW5zdGVuLWhvbGRlciAubGFiZWwtaG9sZGVyIC5sYWJlbCAuaW5uZXItbGFiZWwgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMjdweDtcbiAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1ob2xkZXIgLmxhYmVsLWhvbGRlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIFxuICAgIC5kaWVuc3Rlbi1ob2xkZXIgLmRpZW5zdGVuLXRhYnMtaW5uZXIge1xuICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgXG4gICAgICAuc2xpZGVyLWhvbGRlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmxvZ28tc2xpZGVyIC5zcXVhcmUge1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3cy1ncmlkLWhvbGRlciAubmlldXdzLWl0ZW0gLnRleHQtaG9sZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjZGODtcbiAgICAgICAgcGFkZGluZzogMjVweCAxNXB4IDEwcHg7XG4gICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICB9XG4gICAgfSBcbiAgICBcbiAgICAubmlldXdzLWdyaWQtaG9sZGVyIC5idXR0b24taG9sZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLXByb2R1Y3Rlbk92ZXJ6aWNodCAucHJvZHVjdHMtaG9sZGVyIC51ay13aWR0aC0xLTRcXEBtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpO1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyLmRpZW5zdGVuIC5wcm9kdWN0IC50ZXh0LWhvbGRlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pdGVtLm92ZXJ6aWNodC1jdGEgLmltYWdlLWNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuaXRlbS5vdmVyemljaHQtY3RhIC50ZXh0LWNvbHVtbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLml0ZW1zLWNvbnRhaW5lciAuaXRlbS5vdmVyemljaHQtY3RhIC5jdGEtdGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMzVweCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAudmlkZW8tcG9wdXAge1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICB9XG4gICAgXG4gICAgLnJpYm9uLWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZGllbnN0ZW4tc2xpZGVyLWhvbGRlciAuc3dpcGUtY2lya2VsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC51ay13aWR0aC0xLTRcXEBtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUqIDEgLyAzLjAwMSk7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLW1hcmtldHBsYWNlT3ZlcnppY2h0IC51ay13aWR0aC0xLTRcXEBtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmRlbW8taG9sZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdGVuLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciB7XG4gICAgICB0b3A6IC04NXB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZHVjdHMtaG9sZGVyIC5sYXJnZS10ZXh0LWhvbGRlciAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIC5sYXJnZS1vdXRsaW5lLXRleHQgdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kZXRhaWwtaGVhZGVyIC50ZXh0LWhvbGRlciB7XG4gICAgICBtYXJnaW46IDMwcHggLTE0MHB4IDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMDBweCk7XG4gICAgICBwYWRkaW5nOiA0MHB4IDI1cHggMzBweDtcbiAgICB9XG4gICAgXG4gICAgLm5pZXV3cy1ob2xkZXIge1xuICAgICAgcGFkZGluZzogNzVweCAwIDA7XG4gICAgfVxuICBcbiAgICAubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHRvcDogLTYwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtaGVhZGVyIC50ZXh0LWhvbGRlci5yaWdodCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jb250YWN0LWhlYWRlciAubG9jYXRpb24taG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNvbnRhaW5lciwgLmxhcmdlLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG5cbiAgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZzogNDBweCAwIDUwcHg7XG4gIH1cbiAgXG4gIC5uby1pbWFnZS1oZWFkZXIgLmludHJvIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1oZWFkZXIgLnRleHQtY29sdW1uIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICBcbiAgLmhvbWVwYWdlLWhlYWRlciAuaW1hZ2UtY29sdW1uIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICBcbiAgLmhvbWVwYWdlLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMjBweDtcbiAgICBtYXJnaW4gOiAwO1xuICB9XG5cbiAgLmhvbWVwYWdlLWhlYWRlciAudGV4dC1ob2xkZXIgLnRleHQge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1oZWFkZXIgaDEge1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gIH1cbiAgXG4gIC5wcm9kdWN0cy1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuICBcbiAgLmhvbWVwYWdlLWN0YS1ob2xkZXIgPiBkaXYsIC5ob21lcGFnZS1jdGEtb25lLWNvbHVtbiA+IGRpdiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5ob21lcGFnZS1jdGEtaG9sZGVyIHtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5ob21lcGFnZS1jdGEtaG9sZGVyIC5jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICBcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4xMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1jdGEtaG9sZGVyOjpiZWZvcmUsIC5ob21lcGFnZS1jdGEtaG9sZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgLmhvbWVwYWdlLWN0YS1ob2xkZXIgLmNvbHVtbiAuaWNvbi1ob2xkZXIgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMjJweDtcbiAgICAgIG1heC1oZWlnaHQ6IDIycHg7XG4gIH1cbiAgXG4gIC5ob21lcGFnZS1jdGEtaG9sZGVyIGEucmVhZC1tb3JlLCAuaG9tZXBhZ2UtY3RhLWhvbGRlciBzcGFuLnJlYWQtbW9yZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIFxuICAgID4gc3BhbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5kZW1vLWhvbGRlcjo6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgXG4gIC5kZW1vLWhvbGRlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDA7XG4gIH1cbiAgXG4gIC5kZW1vLWhvbGRlciBoMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG4gIFxuICAuZGVtby1ob2xkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICB9XG4gIFxuICAuZGllbnN0ZW4taG9sZGVyIHtcbiAgICBwYWRkaW5nOiA3NXB4IDAgMDtcbiAgfVxuICBcbiAgLmRpZW5zdGVuLWhvbGRlciAuZGllbnN0ZW4taW50cm8taG9sZGVyIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgfVxuICBcbiAgLmtsYW50ZW4taG9sZGVyIHtcbiAgICBtYXJnaW46IDUwcHggMDtcbiAgfVxuICBcbiAgLmxvZ28tc2xpZGVyIC5zcXVhcmUge1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgd2lkdGg6IDExMHB4O1xuICB9XG4gIFxuICAubG9nby1zbGlkZXIgLnNxdWFyZSBpbWcge1xuICAgIG1heC13aWR0aDogNzVweDtcbiAgICBtYXgtaGVpZ2h0OiAzMHB4O1xuICB9XG4gIFxuICAuc2VjdGlvbi12aWN0YVFsaWtIb21lcGFnZSAuY3RhLWZ1bGwtYmFja2dyb3VuZCB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG4gIFxuICAubGFyZ2Utb3V0bGluZS10ZXh0IHRleHQge1xuICAgICAgZm9udC1zaXplOiAxMTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cbiAgXG4gIC5wb3B1cCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgfVxuICBcbiAgLnBvcHVwIC50ZXh0LWhvbGRlciB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICBcbiAgLnBvcHVwIC50ZXh0LWhvbGRlciBoMyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG4gIFxuICAucG9wdXAgLnRleHQtY29udGFpbmVyOjpiZWZvcmUge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIGhlaWdodDogMTE0cHg7XG4gIH1cbiAgXG4gIC5wcm9kdWN0ZW4taGVhZGVyIC5pbWFnZS1jb2x1bW4ge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIFxuICAucHJvZHVjdGVuLWhlYWRlciAudGV4dC1jb2x1bW4ge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIFxuICAucHJvZHVjdGVuLWhlYWRlciAudGV4dC1ob2xkZXIge1xuICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gIH1cbiAgXG4gIC5wcm9kdWN0ZW4taGVhZGVyIC5pbWFnZS1ob2xkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbiAgXG4gIC5wcm9kdWN0ZW4taGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICAuc2VjdGlvbi1wcm9kdWN0ZW5PdmVyemljaHQgLnByb2R1Y3RzLWhvbGRlciB7XG4gICAgcGFkZGluZzogNzVweCAwIDUwcHg7XG4gIH1cbiAgXG4gIC5zZWN0aW9uLXByb2R1Y3Rlbk92ZXJ6aWNodCAucHJvZHVjdHMtaG9sZGVyIC51ay13aWR0aC0xLTRcXEBtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgLmRldGFpbC1oZWFkZXIgLnRleHQtY29sdW1uIHtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW4tdG9wOiAtNTBweFxuICB9XG4gIFxuICAuZGV0YWlsLWhlYWRlciAuaW1hZ2UtY29sdW1uIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICBcbiAgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIHBhZGRpbmc6IDQwcHggMjVweCAzMHB4O1xuICB9XG4gIFxuICAuZGV0YWlsLWhlYWRlciAuaW1hZ2UtaG9sZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC5kZXRhaWwtaGVhZGVyOjpiZWZvcmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBcbiAgLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiAubGFyZ2UtdGV4dC1ob2xkZXIge1xuICAgIGxlZnQ6IDA7XG4gIH0gIFxuICBcbiAgLm5pZXV3cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHtcbiAgICBsZWZ0OiA0MDtcbiAgICB0b3A6IC00MHB4O1xuICB9XG4gIFxuICAubmlldXdzLWhvbGRlciAubGFyZ2UtdGV4dC1ob2xkZXIgLmxhcmdlLW91dGxpbmUtdGV4dCB0ZXh0IHtcbiAgICBmb250LXNpemU6IDgwcHg7XG4gIH1cbiAgXG4gIC5kaWVuc3Rlbi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAzMHB4O1xuICB9XG4gIFxuICAuZGllbnN0ZW4taGVhZGVyIC5pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxuICBcbiAgLnByb2R1Y3RzLWhvbGRlci5kaWVuc3RlbiB7XG4gICAgcGFkZGluZzogMCAwIDUwcHg7XG4gIH1cbiAgXG4gIC5mb3JtLWhvbGRlci56b2VrLWZvcm0gLmlucHV0LWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICBcbiAgLmZvcm0taG9sZGVyLnpvZWstZm9ybSBidXR0b24ge1xuICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gIH1cbiAgXG4gIC5mb3JtLWhvbGRlci56b2VrLWZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbiAgXG4gIHAubnItcmVzdWx0cyB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxuICBcbiAgLnJlc3VsdGF0ZW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbiAgXG4gIC5mb3JtLWhvbGRlciAuZnVpLXJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgXG4gIC5zZWN0aW9uLW9wbG9zc2luZ2VuT3ZlcnppY2h0IC5kaWVuc3Rlbi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAwcHg7XG4gIH1cbiAgXG4gIC5zZWN0aW9uLW9wbG9zc2luZ2VuT3ZlcnppY2h0IC5wcm9kdWN0cy1ob2xkZXIgLmxhcmdlLXRleHQtaG9sZGVyIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgLmNvbnRhY3QtaGVhZGVyIC5jb250YWN0LWlubmVyOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5jb250YWN0LWhlYWRlciB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG4gIFxuICAuY29udGFjdC1oZWFkZXIgLnRleHQtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAuY29udGFjdC1oZWFkZXIgLnRleHQtaG9sZGVyLnJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgXG4gIC5jb250YWN0LWhlYWRlciAudmVzdGlnaW5nZW4taG9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIFxuICAuY29udGFjdC1oZWFkZXIgLmJsb2trZW4taG9sZGVyIC5ibG9rIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIFxuICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5sZWZ0LWNvbHVtbiB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG4gIFxuICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIC5sZWZ0LWNvbHVtbiB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG4gIFxuICAuY29udGFjdC1mb3JtdWxpZXItaG9sZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuICBcbiAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgXG4gIC5jb250YWN0LWZvcm11bGllci1ob2xkZXIgLnJpZ2h0LWNvbHVtbiBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgfVxuICBcbiAgLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbk92ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMTI1cHg7XG4gIH1cbiAgXG4gIC5zZWN0aW9uLWtsYW50dmVyaGFsZW5PdmVyemljaHQgLmxvYWQtbW9yZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgfVxuICBcbiAgLml0ZW1zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAwIDUwcHg7XG4gIH1cbiAgXG4gIC5sb2FkLW1vcmUtYnV0dG9uLWNvbnRhaW5lci5jdXN0b20ge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gIH1cbiAgXG4gIC5sb2FkLW1vcmUtYnV0dG9uLWNvbnRhaW5lciAuYW1vdW50LXZpc2libGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG4gIFxuICAgIC5maWx0ZXIgLmNhdC1sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmZpbHRlciAuY2F0LWxhYmVsIGltZyB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIFxuICAgIC5jdGEtcmlnaHQtaW1hZ2U6bm90KC5sZWZ0KSAuZG90cy1hbmltYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbiAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIsIFxuICAgIC5zZWN0aW9uLW5pZXV3c092ZXJ6aWNodCAuZGV0YWlsLWhlYWRlciAudGV4dC1ob2xkZXIsXG4gICAgLnNlY3Rpb24tcGFydG5lcnNPdmVyemljaHQgLmRldGFpbC1oZWFkZXIgLnRleHQtaG9sZGVye1xuICAgICAgbWFyZ2luOiAwcHggYXV0byAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHggMzBweCAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaGVhZGVyLTQwNCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHggNTBweDtcbiAgICB9XG4gICAgXG4gICAgLmhlYWRlci00MDQgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgICBcbiAgICAudmlkZW8tcG9wdXAge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4IDIwcHg7XG4gICAgfVxuICBcbiAgICAudmlkZW8tcG9wdXAgLmNsb3NlIHtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiA1cHg7XG4gICAgfVxuICAgIFxuICAgIC5uby1pbWFnZS1oZWFkZXIgLmZvcm0taG9sZGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbnRhY3QtZm9ybXVsaWVyLWhvbGRlciAubGVmdC1jb2x1bW4ubm8taW1hZ2U6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuY3RhLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4ge1xuICAgICAgcGFkZGluZzogNDVweCAwO1xuICAgIH1cbiAgXG4gICAgLnZpY3RhLWRpZW5zdGVuIC5pbnRyby1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgLnZpY3RhLWRpZW5zdGVuIC5pbnRyby1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgXG4gICAgLmlsbHVzdHJhdGlvbi1ob2xkZXIge1xuICAgICAgIHBhZGRpbmc6IDMwcHggMCAwOyBcbiAgICB9XG4gICAgXG4gICAgLnNlY3Rpb24ta2xhbnR2ZXJoYWxlbk92ZXJ6aWNodCAubm8taW1hZ2UtaGVhZGVyLCAuc2VjdGlvbi1uaWV1d3NPdmVyemljaHQgLm5vLWltYWdlLWhlYWRlciwgLnNlY3Rpb24tcGFydG5lcnNPdmVyemljaHQgLm5vLWltYWdlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMTgwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC51ay13aWR0aC0xLTRcXEBtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLmRpZW5zdCAuaW1hZ2UtaG9sZGVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAtNDVweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLmRpZW5zdCAudGV4dC1ob2xkZXIge1xuICAgICAgcGFkZGluZzogNjVweCAyMHB4IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIC5kaWVuc3QgLnRleHQtaG9sZGVyIC5zdGVwLWhvbGRlciB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gICAgXG4gICAgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXIgLmRpZW5zdCAudGV4dC1ob2xkZXIgaDMge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIH1cbiAgICBcbiAgICAudmljdGEtZGllbnN0ZW4uZGV0YWlsIC5kaWVuc3Rlbi1zbGlkZXItaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3Rlbi5kZXRhaWwgLmRpZW5zdGVuLXNsaWRlci1ob2xkZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDQ2JTtcbiAgICB9XG4gICAgXG4gICAgLnByb2R1Y3RzLWhvbGRlci5jdXN0b20tbWFyZ2luIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC52aWN0YS1kaWVuc3Rlbi5jdXN0b20tbWFyZ2luIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5wcm9kdWN0LWxhYmVscy1ob2xkZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgIH1cbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/