@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);@import url(https://fonts.googleapis.com/css?family=Lora:400,700);@import url(https://fonts.googleapis.com/css?family=Just+Another+Hand);@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 IE and iOS.
 * 3. Style
 */

html {
  /* 1 */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666;
}

/*
 * Removes default margin.
 */

body {
  margin: 0;
}

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

/*
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  /* 1 */
  background-color: transparent;
  /* 2 */
  -webkit-text-decoration-skip: objects;
}

/*
 * 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 {
  color: #0f6ecd;
  text-decoration: underline;
}

/* Text-level semantics
 ========================================================================== */

/*
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/*
 * 1. Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 * 2. Add the correct font weight in Chrome, Edge, and Safari.
 */

/* 1 */

b,
strong {
  font-weight: inherit;
}

/* 2 */

b,
strong {
  font-weight: bolder;
}

/*
 * 1. Correct the odd `em` font sizing in all browsers.
 * 2. Consolas has a better baseline in running text compared to `Courier`
 * 3. Style
 */

:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-size: 0.875rem;
  /* 2 */
  font-family: Consolas, monaco, monospace;
  /* 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;
}

/*
 * Responsiveness
 * 1. Set a maximum width
 * 2. Auto scale the height. Only needed if `height` attribute is present
 * 2. Corrects `max-width` behavior if padding and border are used
 */

audio,
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  box-sizing: border-box;
}

/*
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/*
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* 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 {
  margin: 0 0 20px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  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 {
  margin-top: 40px;
}

/*
 * Sizes
 */

h1,
.uk-h1 {
  font-size: 2.625rem;
  line-height: 1.2;
}

h2,
.uk-h2 {
  font-size: 2rem;
  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;
}

/* 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. Add the correct box sizing and height in Firefox.
 * 2. Show the overflow in Edge and IE.
 * 3. Add the correct text-align in Edge and IE.
 * 4. Style
 */

hr,
.uk-hr {
  /* 1 */
  box-sizing: content-box;
  height: 0;
  /* 2 */
  overflow: visible;
  /* 3 */
  text-align: inherit;
  /* 4 */
  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.
 * 2. Override UA
 */

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
 ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/*
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/*
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */

template,
[hidden] {
  display: none;
}

/* Iframe
 ========================================================================== */

iframe {
  border: 0;
}

/* Prevent the 300ms delay for touchscreen interactions
 ========================================================================== */

/*
 * Most browsers prevent the 300ms delay automatically for sites that use the `width=device-width` property.
 * For Safari on iOS 9.3+, IE 11 and Edge on desktops and IE 11 on Windows Phone 8.1 it must be applied manually.
 */

a,
area,
button,
input,
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

/* Pass media breakpoints to JS
 ========================================================================== */

/*
 * Breakpoints
 */

.var-media-s:before {
  content: "640px";
}

.var-media-m:before {
  content: "960px";
}

.var-media-l:before {
  content: "1200px";
}

.var-media-xl:before {
  content: "1600px";
}

/* ========================================================================
   Component: Link
 ========================================================================== */

/* Muted
 ========================================================================== */

a.uk-link-muted,
.uk-link-muted a {
  color: #999;
}

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

/* Text
 ========================================================================== */

/*
 * `!important` needed to override inverse component
 */

a.uk-link-text:not(:hover),
.uk-link-text a:not(:hover) {
  color: inherit !important;
}

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

/* Reset
 ========================================================================== */

/*
 * `!important` needed to override inverse component
 */

a.uk-link-reset,
a.uk-link-reset:hover,
.uk-link-reset a,
.uk-link-reset a:hover {
  color: inherit !important;
  text-decoration: none !important;
}

/* ========================================================================
   Component: Heading
 ========================================================================== */

/* Primary
 ========================================================================== */

.uk-heading-primary {
  font-size: 2.625rem;
  line-height: 1.2;
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-heading-primary {
    font-size: 3.75rem;
    line-height: 1.1;
  }
}

/* Hero
 ========================================================================== */

.uk-heading-hero {
  font-size: 4rem;
  line-height: 1.1;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-heading-hero {
    font-size: 6rem;
    line-height: 1;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-heading-hero {
    font-size: 8rem;
    line-height: 1;
  }
}

/* Divider
 ========================================================================== */

.uk-heading-divider {
  padding-bottom: 10px;
  border-bottom: 1px 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: 0.9em;
  margin-right: 10px;
  border-left: 5px 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% - (1px / 2));
  /* 2 */
  width: 2000px;
  /* 3 */
  border-bottom: 1px solid #e5e5e5;
}

.uk-heading-line > :before {
  right: 100%;
  margin-right: 0.6em;
}

.uk-heading-line > :after {
  left: 100%;
  margin-left: 0.6em;
}

/* ========================================================================
   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%3E%3C%2Fcircle%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
 ========================================================================== */

/*
 * Reset child height, caused by `inline-block`
 */

.uk-divider-small {
  line-height: 0;
}

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

/* ========================================================================
   Component: List
 ========================================================================== */

.uk-list {
  padding: 0;
  list-style: none;
}

/*
 * Micro clearfix
 */

.uk-list > li::before,
.uk-list > li::after {
  content: "";
  display: table;
}

.uk-list > li::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */

.uk-list > li > :last-child {
  margin-bottom: 0;
}

/*
 * Nested lists
 */

.uk-list ul {
  margin: 0;
  padding-left: 30px;
  list-style: none;
}

/*
 * Style
 */

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

/* Style modifiers
 ========================================================================== */

/*
 * Divider
 */

.uk-list-divider > li:nth-child(n+2) {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
}

/*
 * Striped
 */

.uk-list-striped > li {
  padding: 10px 10px;
}

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

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

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

/*
 * Bullet
 */

.uk-list-bullet > li {
  position: relative;
  padding-left: calc(1.5em + 10px);
}

.uk-list-bullet > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 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%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  float: left;
}

/* Size modifier
 ========================================================================== */

.uk-list-large > li:nth-child(n+2),
.uk-list-large > li > ul {
  margin-top: 20px;
}

/*
 * Divider
 */

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

/*
 * Striped
 */

.uk-list-large.uk-list-striped > li {
  padding: 20px 10px;
}

.uk-list-large.uk-list-striped > li:nth-of-type(odd) {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.uk-list-large.uk-list-striped > li: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;
}

/* Row
 ========================================================================== */

.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
  background: #ffd;
}

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

/* Size modifier
 ========================================================================== */

.uk-table-small th,
.uk-table-small td {
  padding: 10px 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: 300px;
}

/* Cell link modifier
 ========================================================================== */

/*
 * Does not work with `uk-table-justify` at the moment
 */

.uk-table-link {
  padding: 0 !important;
}

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

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

/* Responsive table
 ========================================================================== */

/* Phone landscape and smaller */

@media (max-width: 959px) {
  .uk-table-responsive,
  .uk-table-responsive tbody,
  .uk-table-responsive th,
  .uk-table-responsive td,
  .uk-table-responsive tr {
    display: block;
  }

  .uk-table-responsive thead {
    display: none;
  }

  .uk-table-responsive th,
  .uk-table-responsive td {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  .uk-table-responsive th:not(:first-child):not(.uk-table-link),
  .uk-table-responsive td:not(:first-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:first-child) > a {
    padding-top: 5px !important;
  }

  .uk-table-responsive th:not(:last-child):not(.uk-table-link),
  .uk-table-responsive td:not(:last-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:last-child) > a {
    padding-bottom: 5px !important;
  }

  .uk-table-justify.uk-table-responsive th,
  .uk-table-justify.uk-table-responsive td {
    padding-left: 0;
    padding-right: 0;
  }
}

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

/* ========================================================================
   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. 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 `button` padding and background color
 * 7. Required for `button`.
 * 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 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6. */
  padding: 0;
  background-color: transparent;
  /* 7 */
  cursor: pointer;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0;
}

/*
 * 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 [fill*='#']:not(.uk-preserve) {
  fill: currentcolor;
}

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

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */

.uk-icon > * {
  -webkit-transform: translate(0, 0);
          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: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: 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: #dfdede;
  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 #cccbcb;
}

/* Firefox */

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

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

/* 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.
 */

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

/*
 * Remove the padding in IE 10-.
 */

.uk-radio,
.uk-checkbox {
  padding: 0;
}

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

/* Focus */

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

/* Disabled */

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

/*
 * Placeholder
 */

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

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

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

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

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

.uk-textarea::-webkit-input-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
 */

.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%3E%3C%2Fpolygon%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%3E%3C%2Fpolygon%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;
}

/*
 * 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%3E%3C%2Fpolygon%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E%0A");
}

/* Radio and checkbox
 * Note: Only works in Chrome, Safari, Opera and Edge
 ========================================================================== */

/*
 * 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;
  /* 5 */
  background-color: transparent;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid #cccbcb;
  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%3E%3C%2Fcircle%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%2F%3E%0A%3C%2Fsvg%3E");
}

.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%3E%3C%2Frect%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%3E%3C%2Fcircle%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%2F%3E%0A%3C%2Fsvg%3E");
}

.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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E");
}

/* Legend
 ========================================================================== */

/*
 * Legend
 * 1. Behave like block element
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove padding so people aren't caught out if they zero out fieldsets.
 * 4. Style
 */

.uk-legend {
  /* 1 */
  width: 100%;
  /* 2 */
  color: inherit;
  /* 3 */
  padding: 0;
  /* 4 */
  font-size: 1.5rem;
  line-height: 1.4;
}

/* Custom controls
 ========================================================================== */

/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 */

.uk-form-custom {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
}

/*
 * 1. Position and resize the form control to always cover its container
 * 2. Required for Firefox for positioning to the left
 * 3. Required for Webkit to make `height` work
 * 4. Hide controle and show cursor
 * 5. Needed for the cursor
 * 6. Clip height caused by 5. Needed for Webkit only
 */

.uk-form-custom select,
.uk-form-custom input[type="file"] {
  /* 1 */
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* 2 */
  left: 0;
  /* 3 */
  -webkit-appearance: none;
  /* 4 */
  opacity: 0;
  cursor: pointer;
}

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

/* Label
 ========================================================================== */

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

/* Layout
 ========================================================================== */

/*
 * Stacked
 */

.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 5px;
}

/*
 * Horizontal
 */

/* Tablet portrait and smaller */

@media (max-width: 959px) {
  /* Behave like `uk-form-stacked` */

  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-form-horizontal .uk-form-label {
    width: 200px;
    margin-top: 7px;
    float: left;
  }

  .uk-form-horizontal .uk-form-controls {
    margin-left: 215px;
  }

  /* Better vertical alignment if controls are checkboxes and radio buttons with text */

  .uk-form-horizontal .uk-form-controls-text {
    padding-top: 7px;
  }
}

/* Icons
 ========================================================================== */

/*
 * 1. Set position
 * 2. Set width
 * 3. Center icon vertically and horizontally
 * 4. Style
 */

.uk-form-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 40px;
  /* 3 */
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: 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;
}

/*
 * Position modifier
 */

.uk-form-icon-flip {
  right: 0;
  left: auto;
}

.uk-form-icon-flip + .uk-input {
  padding-right: 40px;
}

/* ========================================================================
   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. Style
 * 7. `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.
 * 8. Align text if button has a width
 * 9. Required for `a`.
 */

.uk-button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  display: inline-block;
  box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 0.875rem;
  /* 7 */
  line-height: 38px;
  /* 8 */
  text-align: center;
  /* 9 */
  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 {
  /* 8 */
  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: #999898;
}

/*
 * 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: -ms-inline-flexbox;
  display: -webkit-inline-box;
  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: Section
 ========================================================================== */

/*
 * 1. Make it work with `100vh` and height in general
 */

.uk-section {
  box-sizing: border-box;
  /* 1 */
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Desktop and bigger */

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

/*
 * Micro clearfix
 */

.uk-section::before,
.uk-section::after {
  content: "";
  display: table;
}

.uk-section::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */

.uk-section > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */

/*
 * XSmall
 */

.uk-section-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */

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

/*
 * Large
 */

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

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-section-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}

/*
 * XLarge
 */

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

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-section-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}

/* Style modifiers
 ========================================================================== */

/*
 * Default
 */

.uk-section-default {
  background: #fff;
}

/*
 * Muted
 */

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

/*
 * Primary
 */

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

/*
 * Secondary
 */

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

/*
 * Indicate that an image or video is used as background
 */

/* 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 {
  box-sizing: content-box;
  /* 1 */
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*
 * Micro clearfix
 */

.uk-container::before,
.uk-container::after {
  content: "";
  display: table;
}

.uk-container::after {
  clear: both;
}

/*
 * 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-small {
  max-width: 900px;
}

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

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

/* ========================================================================
   Component: Grid
 ========================================================================== */

/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset lists
 */

.uk-grid {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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 {
  margin-left: -15px;
}

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

/* Vertical */

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

/*
 * Medium
 */

/* Horizontal */

.uk-grid-medium {
  margin-left: -30px;
}

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

/* Vertical */

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

/*
 * Large
 */

/* Horizontal */

.uk-grid-large {
  margin-left: -40px;
}

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

/* Vertical */

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

/* Desktop and bigger */

@media (min-width: 1200px) {
  /* Horizontal */

  .uk-grid-large {
    margin-left: -70px;
  }

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

  /* Vertical */

  .uk-grid + .uk-grid-large,
  .uk-grid-large > .uk-grid-margin,
  * + .uk-grid-margin-large {
    margin-top: 70px;
  }
}

/*
 * Collapse
 */

/* Horizontal */

.uk-grid-collapse {
  margin-left: 0;
}

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

/* Vertical */

.uk-grid + .uk-grid-collapse,
.uk-grid-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 {
  margin-left: -30px;
}

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

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

/* Vertical */

.uk-grid-divider.uk-grid-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;
}

/*
 * Medium
 */

/* Horizontal */

.uk-grid-divider.uk-grid-medium {
  margin-left: -60px;
}

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

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

/* Vertical */

.uk-grid-divider.uk-grid-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;
}

/*
 * Large
 */

/* Horizontal */

.uk-grid-divider.uk-grid-large {
  margin-left: -80px;
}

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

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

/* Vertical */

.uk-grid-divider.uk-grid-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;
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  /* Horizontal */

  .uk-grid-divider.uk-grid-large {
    margin-left: -140px;
  }

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

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

  /* Vertical */

  .uk-grid-divider.uk-grid-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;
  }
}

/* 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: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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 */
  -ms-flex: auto;
  -webkit-box-flex: 1;
          flex: auto;
}

/* ========================================================================
   Component: Tile
 ========================================================================== */

.uk-tile {
  position: relative;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

/*
 * Micro clearfix
 */

.uk-tile::before,
.uk-tile::after {
  content: "";
  display: table;
}

.uk-tile::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */

.uk-tile > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */

/*
 * XSmall
 */

.uk-tile-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */

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

/*
 * Large
 */

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

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-tile-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}

/*
 * XLarge
 */

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

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}

/* Style modifiers
 ========================================================================== */

/*
 * Default
 */

.uk-tile-default {
  background: #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 {
  padding: 30px 30px;
}

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

.uk-card-footer {
  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;
  }
}

/*
 * Micro clearfix
 */

.uk-card-body::before,
.uk-card-body::after,
.uk-card-header::before,
.uk-card-header::after,
.uk-card-footer::before,
.uk-card-footer::after {
  content: "";
  display: table;
}

.uk-card-body::after,
.uk-card-header::after,
.uk-card-footer::after {
  clear: both;
}

/*
 * 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
 ========================================================================== */

.uk-card-badge {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 1;
}

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

.uk-card-title + .uk-nav-default {
  margin-top: 0;
}

.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: -25px -40px;
  }

  .uk-card-title + .uk-nav-default {
    margin-top: 0;
  }

  .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: -5px -20px;
}

.uk-card-small .uk-card-title + .uk-nav-default {
  margin-top: 0;
}

.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: -55px -70px;
  }

  .uk-card-large .uk-card-title + .uk-nav-default {
    margin-top: 0;
  }
}

/* ========================================================================
   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% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(270deg);
  }
}

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

  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
  }
}

/*
 * Circle
 */

.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  -webkit-transform-origin: center;
          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;
    -webkit-transform: rotate(135deg);
  }

  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
  }
}

@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px;
  }

  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
  }

  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
            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: Badge
 ========================================================================== */

/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */

.uk-badge {
  box-sizing: border-box;
  min-width: 22px;
  height: 22px;
  line-height: 22px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 2 */
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: 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
 ========================================================================== */

/*
 * Micro clearfix
 */

.uk-article::before,
.uk-article::after {
  content: "";
  display: table;
}

.uk-article::after {
  clear: both;
}

/*
 * 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.625rem;
  line-height: 1.2;
}

/* 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-header {
  margin-bottom: 20px;
}

/*
 * Micro clearfix
 */

.uk-comment-body::before,
.uk-comment-body::after,
.uk-comment-header::before,
.uk-comment-header::after {
  content: "";
  display: table;
}

.uk-comment-body::after,
.uk-comment-header::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */

.uk-comment-body > :last-child,
.uk-comment-header > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */

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

/* Meta
 ========================================================================== */

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

/* Avatar
 ========================================================================== */

/* List
 ========================================================================== */

.uk-comment-list {
  padding: 0;
  list-style: none;
}

/* Adjacent siblings */

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

/*
 * Sublists
 * Note: General sibling selector allows reply block between comment and sublist
 */

.uk-comment-list .uk-comment ~ ul {
  margin: 70px 0 0 0;
  padding-left: 30px;
  list-style: none;
}

/* Tablet and bigger */

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

/* Adjacent siblings */

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

/* Style modifier
 ========================================================================== */

.uk-comment-primary {
  padding: 30px;
  background-color: #f8f8f8;
}

/* ========================================================================
   Component: Search
 ========================================================================== */

/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Reset `form`
 */

.uk-search {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  margin: 0;
}

/* Input
 ========================================================================== */

/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */

.uk-search-input::-webkit-search-cancel-button,
.uk-search-input::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes placeholder transparency in Firefox.
 */

.uk-search-input::-moz-placeholder {
  opacity: 1;
}

/*
 * 1. Define consistent box sizing.
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers
 * 5. Show the overflow in Edge.
 * 6. Remove default style in iOS.
 * 7. Vertical alignment
 * 8. Take the full container width
 * 9. Style
 */

.uk-search-input {
  /* 1 */
  box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
  /* 5 */
  overflow: visible;
  /* 6 */
  -webkit-appearance: none;
  /* 7 */
  vertical-align: middle;
  /* 8 */
  width: 100%;
  /* 9 */
  border: none;
  color: #666;
}

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

/* Placeholder */

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

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

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

/* Icon
 ========================================================================== */

/*
 * Adopts `uk-icon`
 * Required for `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 `button` padding and background color
 * 7. Required for `button`.
 */

.uk-search-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6. */
  padding: 0;
  background-color: transparent;
  /* 7 */
  cursor: pointer;
}

/*
 * Remove the inner border and padding in Firefox. Required for `button`.
 */

.uk-search-icon::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 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: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: 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: 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%3E%3C%2Fpolyline%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%3E%3C%2Fpolyline%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;
}

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

/* 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: -ms-flexbox;
  display: -webkit-box;
  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: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

/*
 * Horizontal alignment
 * 1. Create position context for centered navbar with sub groups (left/right)
 * 2. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 3. Fix text wrapping if the centered section is larger than 50% of the navbar
 * 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%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* 2 */
  z-index: 990;
}

/* 3 */

.uk-navbar-center:not(:only-child) .uk-navbar-nav > li > a,
.uk-navbar-center:not(:only-child) .uk-navbar-item,
.uk-navbar-center:not(:only-child) .uk-navbar-toggle {
  white-space: nowrap;
}

/* 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-'] .uk-navbar-nav > li > a,
[class*='uk-navbar-center-'] .uk-navbar-item,
[class*='uk-navbar-center-'] .uk-navbar-toggle {
  white-space: nowrap;
}

/* Nav
 ========================================================================== */

/*
 * 1. Reset lists
 */

.uk-navbar-nav {
  display: -ms-flexbox;
  display: -webkit-box;
  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 {
  -ms-flex-wrap: wrap;
  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: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  /* 2 */
  box-sizing: border-box;
  height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* 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: #262626;
}

.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 {
  top: 0 !important;
  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;
}

/* Dropbar
 ========================================================================== */

.uk-navbar-dropbar {
  position: relative;
  background: #fff;
  overflow: hidden;
}

/*
 * Slide modifier
 */

.uk-navbar-dropbar-slide {
  position: absolute;
  z-index: 1020;
  left: 0;
  right: 0;
}

/*
     * 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 lists
 */

.uk-subnav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          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
 ========================================================================== */

/*
 * 1. Align items and divider vertically
 */

.uk-subnav-divider > * {
  /* 1 */
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */

.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid #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
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Reset lists
 */

.uk-breadcrumb {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  padding: 0;
  list-style: none;
}

/*
 * Space is allocated solely based on content dimensions: 0 0 auto
 */

.uk-breadcrumb > * {
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
}

/* Items
 ========================================================================== */

.uk-breadcrumb > * > * {
  display: inline-block;
  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 > * {
  color: #666;
}

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */

.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  margin: 0 20px;
  color: #999;
}

/* ========================================================================
   Component: Pagination
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset lists
 */

.uk-pagination {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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-pagination > * {
  /* 1 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 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 */
  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 lists
 */

.uk-tab {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  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 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          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 {
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          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: right;
  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;
  color: rgba(102, 102, 102, 0.6);
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */

.uk-slidenav:hover,
.uk-slidenav:focus {
  color: rgba(102, 102, 102, 0.8);
  outline: none;
}

/* OnClick */

.uk-slidenav:active {
  color: rgba(102, 102, 102, 0.9);
}

/* Icon modifier
 ========================================================================== */

/*
 * Previous
 */

/*
 * Next
 */

/* Container
 ========================================================================== */

.uk-slidenav-container {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

/* ========================================================================
   Component: Dotnav
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Reset lists
 * 3. Gutter
 */

.uk-dotnav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -15px;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */

.uk-dotnav > * {
  /* 1 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  /* 2 */
  padding-left: 15px;
}

/* Items
 ========================================================================== */

/*
 * Items
 * 1. Hide text if present
 */

.uk-dotnav > * > * {
  display: block;
  box-sizing: content-box;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(102, 102, 102, 0.1);
  /* 1 */
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  transition: background-color 0.2s ease-in-out;
}

/* Hover + Focus */

.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
  background-color: rgba(102, 102, 102, 0.4);
  outline: none;
}

/* OnClick */

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

/* Active */

.uk-dotnav > .uk-active > * {
  background-color: rgba(102, 102, 102, 0.4);
}

/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */

/*
 * 1. Change direction
 * 2. Gutter
 */

.uk-dotnav-vertical {
  /* 1 */
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px;
}

/* 2 */

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

/* ========================================================================
   Component: Accordion
 ========================================================================== */

.uk-accordion {
  padding: 0;
  list-style: none;
}

/* Item
 ========================================================================== */

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

/* Title
 ========================================================================== */

.uk-accordion-title {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer;
  overflow: hidden;
}

.uk-accordion-title::after {
  content: "";
  width: 1.4em;
  height: 1.4em;
  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%3E%3C%2Frect%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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-open > .uk-accordion-title::after {
  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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E");
}

/* Content
 ========================================================================== */

.uk-accordion-content {
  margin-top: 20px;
}

/*
 * Micro clearfix
 */

.uk-accordion-content:before,
.uk-accordion-content:after {
  content: "";
  display: table;
}

.uk-accordion-content:after {
  clear: both;
}

/*
 * 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 {
  color: #666;
}

/* Direction / Alignment modifiers
 ========================================================================== */

/* Direction */

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

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

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

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

/* Grid modifiers
 ========================================================================== */

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

/* ========================================================================
   Component: Modal
 ========================================================================== */

/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */

.uk-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  background: rgba(0, 0, 0, 0.6);
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-modal {
    padding: 50px 30px;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-modal {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*
 * Open
 */

.uk-modal.uk-open {
  opacity: 1;
}

/* Page
 ========================================================================== */

/*
 * Prevent scrollbars
 */

.uk-modal-page {
  overflow: hidden;
}

/* Dialog
 ========================================================================== */

/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Style
 * 4. Slide-in transition
 */

.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  max-width: 100%;
  /* 3 */
  background: #fff;
  /* 4 */
  opacity: 0;
  -webkit-transform: translateY(-100px);
  transform: translateY(-100px);
  transition: 0.3s linear;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

/*
 * Open
 */

.uk-open > .uk-modal-dialog {
  opacity: 1;
  -webkit-transform: translateY(0);
  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%;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* Sections
 ========================================================================== */

.uk-modal-body {
  padding: 30px 30px;
}

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

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

/*
 * Micro clearfix
 */

.uk-modal-body::before,
.uk-modal-body::after,
.uk-modal-header::before,
.uk-modal-header::after,
.uk-modal-footer::before,
.uk-modal-footer::after {
  content: "";
  display: table;
}

.uk-modal-body::after,
.uk-modal-header::after,
.uk-modal-footer::after {
  clear: both;
}

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

.uk-modal-close-outside {
  top: 0;
  right: 0;
  -webkit-transform: translate(100%, -100%);
  transform: translate(100%, -100%);
  color: white;
}

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

/*
 * Full
 */

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

/* ========================================================================
   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
 */

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

/*
 * 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. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 */

.uk-lightbox-item {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  /* 2 */
  color: rgba(255, 255, 255, 0.7);
}

/* 4 */

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

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

.uk-lightbox-item.uk-active {
  display: -ms-flexbox;
  display: -webkit-box;
  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: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

/*
 * Hover
 */

.uk-lightbox-button:hover {
  color: #fff;
}

/* Caption
 ========================================================================== */

/* Iframe
 ========================================================================== */

.uk-lightbox-iframe {
  width: 80%;
  height: 80%;
}

/* ========================================================================
   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
 * 4. Transform
 */

.uk-offcanvas-bar {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-offcanvas-bar {
    width: 350px;
    padding: 40px 40px;
  }
}

/* Flip modifier */

.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

/*
 * Open
 */

.uk-open > .uk-offcanvas-bar {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

/*
 * Slide Animation (Used in slide and push mode)
 */

.uk-offcanvas-bar-animation {
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset transform
 */

.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 */
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

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

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-open > .uk-offcanvas-reveal {
    width: 350px;
  }
}

/*
 * Flip modifier
 */

.uk-offcanvas-flip .uk-offcanvas-reveal {
  right: 0;
  left: auto;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */

.uk-offcanvas-close {
  position: absolute;
  z-index: 1000;
  top: 20px;
  right: 20px;
  padding: 5px;
}

/* Overlay
 ========================================================================== */

/*
 * Overlay the whole page. Needed for the `::before`
 * 1. Using `100vw` so no modification is needed when off-canvas is flipped
 * 2. Allow for closing with swipe gesture on devices with pointer events.
 */

.uk-offcanvas-overlay {
  /* 1 */
  width: 100vw;
  /* 2 */
  -ms-touch-action: none;
      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;
}

/* Container
 ========================================================================== */

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

/*
 * Prevent all scrollbars if overlay is used
 */

.uk-offcanvas-container-overlay {
  overflow: hidden;
}

/* Content
 ========================================================================== */

/*
 * 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
 * Note: JS sets a fixed width and height so the page can slide-out without shrinking
 * 1. Smooth scrolling
 */

.uk-offcanvas-container .uk-offcanvas-content {
  position: relative;
  left: 0;
  transition: left 0.3s ease-out;
  /* 1 */
  -webkit-overflow-scrolling: touch;
}

/* Disable scrolling if overlay mode */

.uk-offcanvas-overlay .uk-offcanvas-content {
  overflow-y: hidden;
}

/*
 * Activate slide-out animation
 */

:not(.uk-offcanvas-flip) > .uk-offcanvas-content-animation {
  left: 270px;
}

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

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  :not(.uk-offcanvas-flip) > .uk-offcanvas-content-animation {
    left: 350px;
  }

  .uk-offcanvas-flip > .uk-offcanvas-content-animation {
    left: -350px;
  }
}

/* ========================================================================
   Component: Switcher
 ========================================================================== */

/*
 * Reset lists
 */

.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: Iconnav
 ========================================================================== */

/*
 * 1. Allow items to wrap into the next line
 * 2. Reset lists
 * 3. Gutter
 */

.uk-iconnav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -10px;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */

.uk-iconnav > * {
  /* 1 */
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
  /* 2 */
  padding-left: 10px;
}

/* Items
 ========================================================================== */

/*
 * Items
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */

.uk-iconnav > * > * {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
}

/* Hover + Focus */

.uk-iconnav > * > :hover,
.uk-iconnav > * > :focus {
  color: #666;
  outline: none;
}

/* Active */

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

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */

/*
 * 1. Change direction
 * 2. Gutter
 */

.uk-iconnav-vertical {
  /* 1 */
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -10px;
}

/* 2 */

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

/* ========================================================================
   Component: Notification
 ========================================================================== */

/*
 * 1. Set position
 * 2. Dimensions
 */

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

/* Position modifiers
========================================================================== */

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

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

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

/* Responsiveness
========================================================================== */

/* Phones portrait and smaller */

@media (max-width: 639px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0;
  }
}

/* Message
========================================================================== */

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

/* 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. Dimensions
 * 4. Style
 */

.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 4 */
  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: 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: Progress
 ========================================================================== */

/*
 * 1. Remove default style
 * 2. Behave like a block element
 * 3. Remove borders in Firefox and Edge
 * 4. Set background color for progress container in Firefox, IE11 and Edge
 * 5. Style
 */

.uk-progress {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  display: block;
  width: 100%;
  /* 3 */
  border: 0;
  /* 4 */
  background-color: #f8f8f8;
  /* 5 */
  margin-bottom: 20px;
  height: 15px;
  border-radius: 500px;
  overflow: hidden;
}

/* Add margin if adjacent element */

* + .uk-progress {
  margin-top: 20px;
}

/*
 * Remove animated circles for indeterminate state in IE11 and Edge
 */

.uk-progress:indeterminate {
  color: transparent;
}

/*
 * Progress container
 * 2. Remove progress bar for indeterminate state in Firefox
 */

.uk-progress::-webkit-progress-bar {
  background-color: #f8f8f8;
  border-radius: 500px;
  overflow: hidden;
}

/* 2 */

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

/*
 * Progress bar
 * 1. Remove right border in IE11 and Edge
 */

.uk-progress::-webkit-progress-value {
  background-color: #1e87f0;
  transition: width 0.6s ease;
}

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

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

/* ========================================================================
   Component: Sortable
 ========================================================================== */

.uk-sortable {
  position: relative;
}

/*
 * Deactivate browser touch actions in IE11
 */

.uk-sortable > * {
  -ms-touch-action: none;
      touch-action: none;
}

/*
 * Deactivate pointer-events on SVGs in Safari
 */

.uk-sortable svg {
  pointer-events: none;
}

/*
 * Remove margin from the last-child
 */

.uk-sortable > :last-child {
  margin-bottom: 0;
}

/* Drag
 ========================================================================== */

.uk-sortable-drag {
  position: absolute !important;
  z-index: 1050 !important;
  pointer-events: none;
}

/* Placeholder
 ========================================================================== */

.uk-sortable-placeholder {
  opacity: 0;
}

/* Empty modifier
 ========================================================================== */

.uk-sortable-empty {
  min-height: 50px;
}

/* Handle
 ========================================================================== */

/* Hover */

.uk-sortable-handle:hover {
  cursor: move;
}

/* ========================================================================
   Component: Countdown
 ========================================================================== */

/* Item
 ========================================================================== */

/*
 * 1. Center numbers and separators vertically
 */

.uk-countdown-number,
.uk-countdown-separator {
  /* 1 */
  line-height: 70px;
}

/* Number
 ========================================================================== */

.uk-countdown-number {
  font-size: 2rem;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-countdown-number {
    font-size: 4rem;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-countdown-number {
    font-size: 6rem;
  }
}

/* Separator
 ========================================================================== */

.uk-countdown-separator {
  font-size: 1rem;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-countdown-separator {
    font-size: 2rem;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-countdown-separator {
    font-size: 3rem;
  }
}

/* Label
 ========================================================================== */

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

/* Direction modifier
 ========================================================================== */

.uk-animation-reverse {
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

/* Animations for scrollspy
 ========================================================================== */

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

/* Duration modifier
 ========================================================================== */

.uk-animation-fast {
  -webkit-animation-duration: 0.1s;
  animation-duration: 0.1s;
}

/* Enable animation only on hover
========================================================================== */

/*
 * Note: Firefox and IE needs this because animations are not triggered when switching between display `none` and `block`
 */

.uk-animation-toggle:not(:hover):not(.uk-hover) [class*='uk-animation-'] {
  -webkit-animation-name: none;
  animation-name: 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;
    -webkit-transform: translateY(-100%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

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

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*
 * Slide Bottom
 */

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

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

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

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*
 * Slide Left
 */

@-webkit-keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/*
 * Slide Right
 */

@-webkit-keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/*
 * Slide Top Small
 */

@-webkit-keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*
 * Slide Bottom Small
 */

@-webkit-keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*
 * Slide Left Small
 */

@-webkit-keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/*
 * Slide Right Small
 */

@-webkit-keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/*
 * Slide Top Medium
 */

@-webkit-keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*
 * Slide Bottom Medium
 */

@-webkit-keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/*
 * Slide Left Medium
 */

@-webkit-keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/*
 * Slide Right Medium
 */

@-webkit-keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/*
 * Scale Up
 */

@-webkit-keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
  }

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

@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
            transform: scale(0.2);
  }

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

/*
 * Scale Down
 */

@-webkit-keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
  }

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

@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
            transform: scale(1.8);
  }

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

/*
 * Kenburns
 */

@-webkit-keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.2);
  }
}

@keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

/*
 * Shake
 */

@-webkit-keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
  }

  10% {
    -webkit-transform: translateX(-9px);
  }

  20% {
    -webkit-transform: translateX(8px);
  }

  30% {
    -webkit-transform: translateX(-7px);
  }

  40% {
    -webkit-transform: translateX(6px);
  }

  50% {
    -webkit-transform: translateX(-5px);
  }

  60% {
    -webkit-transform: translateX(4px);
  }

  70% {
    -webkit-transform: translateX(-3px);
  }

  80% {
    -webkit-transform: translateX(2px);
  }

  90% {
    -webkit-transform: translateX(-1px);
  }
}

@keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }

  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px);
  }

  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
  }

  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px);
  }

  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px);
  }

  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }

  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }

  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px);
  }

  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }

  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px);
  }
}

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

/*
 *    Instead of 0, 1px is needed to make cell wrap into next row if predecessor is 100% wide
 *    and the grid gutter is 0 pixels wide
 */

.uk-child-width-expand > * {
  width: 1px;
}

/*
 * 1. Make `width: 1px` work, because according to the spec flex items won’t shrink
 *    below their minimum content size. To change this, set the min-width.
 *    Only needed for Firefox. All other browsers ignore this.
 *
 * 2. `width` is ignored when wrapping flex items in Safari
 *    https://github.com/philipwalton/flexbugs#11-min-and-max-size-declarations-are-ignored-when-wrapping-flex-items
 */

.uk-child-width-expand > :not([class*='uk-width']) {
  -ms-flex: 1;
  -webkit-box-flex: 1;
          flex: 1;
  /* 1 */
  min-width: 0;
  /* 2 */
  -ms-flex-preferred-size: 1px;
      flex-basis: 1px;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-child-width-1-1\@s > * {
    width: 100%;
  }

  .uk-child-width-1-2\@s > * {
    width: 50%;
  }

  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001);
  }

  .uk-child-width-1-4\@s > * {
    width: 25%;
  }

  .uk-child-width-1-5\@s > * {
    width: 20%;
  }

  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001);
  }

  .uk-child-width-auto\@s > * {
    width: auto;
  }

  .uk-child-width-expand\@s > * {
    width: 1px;
  }

  .uk-child-width-expand\@s > :not([class*='uk-width']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-child-width-1-1\@m > * {
    width: 100%;
  }

  .uk-child-width-1-2\@m > * {
    width: 50%;
  }

  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001);
  }

  .uk-child-width-1-4\@m > * {
    width: 25%;
  }

  .uk-child-width-1-5\@m > * {
    width: 20%;
  }

  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001);
  }

  .uk-child-width-auto\@m > * {
    width: auto;
  }

  .uk-child-width-expand\@m > * {
    width: 1px;
  }

  .uk-child-width-expand\@m > :not([class*='uk-width']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 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 > * {
    width: 1px;
  }

  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 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 > * {
    width: 1px;
  }

  .uk-child-width-expand\@xl > :not([class*='uk-width']) {
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 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-xxlarge {
  width: 750px;
}

/* Auto */

.uk-width-auto {
  width: auto;
}

/* Expand */

.uk-width-expand {
  width: 1px;
  -ms-flex: 1;
  -webkit-box-flex: 1;
          flex: 1;
  min-width: 0;
  -ms-flex-preferred-size: 1px;
      flex-basis: 1px;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  /* Whole */

  .uk-width-1-1\@s {
    width: 100%;
  }

  /* Halves */

  .uk-width-1-2\@s {
    width: 50%;
  }

  /* Thirds */

  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001);
  }

  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001);
  }

  /* Quarters */

  .uk-width-1-4\@s {
    width: 25%;
  }

  .uk-width-3-4\@s {
    width: 75%;
  }

  /* Fifths */

  .uk-width-1-5\@s {
    width: 20%;
  }

  .uk-width-2-5\@s {
    width: 40%;
  }

  .uk-width-3-5\@s {
    width: 60%;
  }

  .uk-width-4-5\@s {
    width: 80%;
  }

  /* Sixths */

  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001);
  }

  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001);
  }

  /* Pixel */

  .uk-width-small\@s {
    width: 150px;
  }

  .uk-width-medium\@s {
    width: 300px;
  }

  .uk-width-large\@s {
    width: 450px;
  }

  .uk-width-xlarge\@s {
    width: 600px;
  }

  .uk-width-xxlarge\@s {
    width: 750px;
  }

  /* Auto */

  .uk-width-auto\@s {
    width: auto;
  }

  /* Expand */

  .uk-width-expand\@s {
    width: 1px;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  /* Whole */

  .uk-width-1-1\@m {
    width: 100%;
  }

  /* Halves */

  .uk-width-1-2\@m {
    width: 50%;
  }

  /* Thirds */

  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001);
  }

  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001);
  }

  /* Quarters */

  .uk-width-1-4\@m {
    width: 25%;
  }

  .uk-width-3-4\@m {
    width: 75%;
  }

  /* Fifths */

  .uk-width-1-5\@m {
    width: 20%;
  }

  .uk-width-2-5\@m {
    width: 40%;
  }

  .uk-width-3-5\@m {
    width: 60%;
  }

  .uk-width-4-5\@m {
    width: 80%;
  }

  /* Sixths */

  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001);
  }

  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001);
  }

  /* Pixel */

  .uk-width-small\@m {
    width: 150px;
  }

  .uk-width-medium\@m {
    width: 300px;
  }

  .uk-width-large\@m {
    width: 450px;
  }

  .uk-width-xlarge\@m {
    width: 600px;
  }

  .uk-width-xxlarge\@m {
    width: 750px;
  }

  /* Auto */

  .uk-width-auto\@m {
    width: auto;
  }

  /* Expand */

  .uk-width-expand\@m {
    width: 1px;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 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-xxlarge\@l {
    width: 750px;
  }

  /* Auto */

  .uk-width-auto\@l {
    width: auto;
  }

  /* Expand */

  .uk-width-expand\@l {
    width: 1px;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 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-xxlarge\@xl {
    width: 750px;
  }

  /* Auto */

  .uk-width-auto\@xl {
    width: auto;
  }

  /* Expand */

  .uk-width-expand\@xl {
    width: 1px;
    -ms-flex: 1;
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    -ms-flex-preferred-size: 1px;
        flex-basis: 1px;
  }
}

/* ========================================================================
   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: 17px;
  line-height: 1.5;
}

/* Weight modifier
 ========================================================================== */

.uk-text-bold {
  font-weight: bolder;
}

/* Transform modifier
 ========================================================================== */

.uk-text-uppercase {
  text-transform: uppercase !important;
}

.uk-text-capitalize {
  text-transform: capitalize !important;
}

.uk-text-lowercase {
  text-transform: lowercase !important;
}

/* Color modifiers
 ========================================================================== */

.uk-text-muted {
  color: #999 !important;
}

.uk-text-primary {
  color: #1e87f0 !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;
  -webkit-text-fill-color: transparent;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #1e87f0 !important;
}

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #1e87f0;
  }
}

/* Alignment modifiers
 ========================================================================== */

.uk-text-left {
  text-align: left !important;
}

.uk-text-right {
  text-align: right !important;
}

.uk-text-center {
  text-align: center !important;
}

.uk-text-justify {
  text-align: justify !important;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-text-left\@s {
    text-align: left !important;
  }

  .uk-text-right\@s {
    text-align: right !important;
  }

  .uk-text-center\@s {
    text-align: center !important;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-text-left\@m {
    text-align: left !important;
  }

  .uk-text-right\@m {
    text-align: right !important;
  }

  .uk-text-center\@m {
    text-align: center !important;
  }
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-text-left\@l {
    text-align: left !important;
  }

  .uk-text-right\@l {
    text-align: right !important;
  }

  .uk-text-center\@l {
    text-align: center !important;
  }
}

/* Large screen and bigger */

@media (min-width: 1600px) {
  .uk-text-left\@xl {
    text-align: left !important;
  }

  .uk-text-right\@xl {
    text-align: right !important;
  }

  .uk-text-center\@xl {
    text-align: center !important;
  }
}

/*
 * Vertical
 */

.uk-text-top {
  vertical-align: top !important;
}

.uk-text-middle {
  vertical-align: middle !important;
}

.uk-text-bottom {
  vertical-align: bottom !important;
}

.uk-text-baseline {
  vertical-align: baseline !important;
}

/* Wrap modifiers
 ========================================================================== */

/*
 * Prevent text from wrapping onto multiple lines
 */

.uk-text-nowrap {
  white-space: nowrap;
}

/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */

.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 2 */

th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0;
}

/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Add a hyphen where the word breaks
 * 4. 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
 */

.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word;
  /* 3 */
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/* 4 */

th.uk-text-break,
td.uk-text-break {
  word-break: break-all;
}

/* ========================================================================
   Component: Column
 ========================================================================== */

[class*='uk-column-'] {
  -webkit-column-gap: 30px;
  column-gap: 30px;
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  [class*='uk-column-'] {
    -webkit-column-gap: 40px;
    column-gap: 40px;
  }
}

/*
 * Fix image 1px line wrapping into the next column in Chrome
 */

[class*='uk-column-'] img {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

/* Divider
 ========================================================================== */

/*
 * 1. Double the column gap
 */

.uk-column-divider {
  -webkit-column-rule: 1px solid #e5e5e5;
  column-rule: 1px solid #e5e5e5;
  /* 1 */
  -webkit-column-gap: 60px;
  column-gap: 60px;
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-column-divider {
    -webkit-column-gap: 80px;
    column-gap: 80px;
  }
}

/* Width modifiers
 ========================================================================== */

.uk-column-1-2 {
  -webkit-column-count: 2;
  column-count: 2;
}

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

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

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

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

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-column-1-2\@s {
    -webkit-column-count: 2;
    column-count: 2;
  }

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

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

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

  .uk-column-1-6\@s {
    -webkit-column-count: 6;
    column-count: 6;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-column-1-2\@m {
    -webkit-column-count: 2;
    column-count: 2;
  }

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

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

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

  .uk-column-1-6\@m {
    -webkit-column-count: 6;
    column-count: 6;
  }
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    -webkit-column-count: 2;
    column-count: 2;
  }

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

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

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

  .uk-column-1-6\@l {
    -webkit-column-count: 6;
    column-count: 6;
  }
}

/* Large screen and bigger */

@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    -webkit-column-count: 2;
    column-count: 2;
  }

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

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

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

  .uk-column-1-6\@xl {
    -webkit-column-count: 6;
    column-count: 6;
  }
}

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */

.uk-column-span {
  -webkit-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%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* 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 {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.uk-background-cover {
  background-size: cover;
}

.uk-background-contain {
  background-size: contain;
}

/* 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
 ========================================================================== */

.uk-background-fixed {
  background-attachment: fixed;
}

/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */

@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll;
  }
}

/* Image
 ========================================================================== */

/* Phone portrait and smaller */

@media (max-width: 639px) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}

/* Phone landscape and smaller */

@media (max-width: 959px) {
  .uk-background-image\@m {
    background-image: none !important;
  }
}

/* Tablet landscape and smaller */

@media (max-width: 1199px) {
  .uk-background-image\@l {
    background-image: none !important;
  }
}

/* Desktop and smaller */

@media (max-width: 1599px) {
  .uk-background-image\@xl {
    background-image: none !important;
  }
}

/* Blend modes
 ========================================================================== */

.uk-background-blend-multiply {
  background-blend-mode: multiply;
}

.uk-background-blend-screen {
  background-blend-mode: screen;
}

.uk-background-blend-overlay {
  background-blend-mode: overlay;
}

.uk-background-blend-darken {
  background-blend-mode: darken;
}

.uk-background-blend-lighten {
  background-blend-mode: lighten;
}

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge;
}

.uk-background-blend-color-burn {
  background-blend-mode: color-burn;
}

.uk-background-blend-hard-light {
  background-blend-mode: hard-light;
}

.uk-background-blend-soft-light {
  background-blend-mode: soft-light;
}

.uk-background-blend-difference {
  background-blend-mode: difference;
}

.uk-background-blend-exclusion {
  background-blend-mode: exclusion;
}

.uk-background-blend-hue {
  background-blend-mode: hue;
}

.uk-background-blend-saturation {
  background-blend-mode: saturation;
}

.uk-background-blend-color {
  background-blend-mode: color;
}

.uk-background-blend-luminosity {
  background-blend-mode: luminosity;
}

/* ========================================================================
   Component: Align
 ========================================================================== */

/*
 * Default
 */

[class*='uk-align'] {
  display: block;
  margin-bottom: 30px;
}

* + [class*='uk-align'] {
  margin-top: 30px;
}

/*
 * Center
 */

.uk-align-center {
  margin-left: auto;
  margin-right: auto;
}

/*
 * Left/Right
 */

.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left;
}

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-align-left\@s {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }

  .uk-align-right\@s {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-align-left\@m {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }

  .uk-align-right\@m {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left;
  }

  .uk-align-right\@l {
    margin-top: 0;
    float: right;
  }

  .uk-align-left,
  .uk-align-left\@s,
  .uk-align-left\@m,
  .uk-align-left\@l {
    margin-right: 40px;
  }

  .uk-align-right,
  .uk-align-right\@s,
  .uk-align-right\@m,
  .uk-align-right\@l {
    margin-left: 40px;
  }
}

/* Large screen and bigger */

@media (min-width: 1600px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left;
  }

  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right;
  }
}

/* ========================================================================
   Component: Utility
 ========================================================================== */

/* Panel
 ========================================================================== */

.uk-panel {
  position: relative;
  box-sizing: border-box;
}

/*
 * Micro clearfix
 */

.uk-panel::before,
.uk-panel::after {
  content: "";
  display: table;
}

.uk-panel::after {
  clear: both;
}

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

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

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

/* 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 audio,
.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-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 ((-webkit-filter: blur(0)) or (filter: blur(0))) or (-webkit-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;
    -webkit-filter: blur(20px);
    filter: blur(20px);
  }

  /* 3 */

  .uk-box-shadow-bottom > * {
    position: relative;
  }
}

/* Drop cap
 ========================================================================== */

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

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

.var-leader-fill:before {
  content: ".";
}

/* Logo
 ========================================================================== */

/*
 * 1. Required for `a`
 */

.uk-logo {
  font-size: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  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;
}

/* 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 {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/* 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 {
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* Transform Origin
========================================================================== */

.uk-transform-origin-top-left {
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.uk-transform-origin-top-center {
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
}

.uk-transform-origin-top-right {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.uk-transform-origin-center-left {
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
}

.uk-transform-origin-center-right {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
}

.uk-transform-origin-bottom-left {
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}

.uk-transform-origin-bottom-center {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}

.uk-transform-origin-bottom-right {
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

/* ========================================================================
   Component: Flex
 ========================================================================== */

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

.uk-flex-inline {
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  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 {
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
}

.uk-flex-center {
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
}

.uk-flex-right {
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
}

.uk-flex-between {
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

.uk-flex-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-flex-left\@s {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
  }

  .uk-flex-center\@s {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
  }

  .uk-flex-right\@s {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end;
  }

  .uk-flex-between\@s {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }

  .uk-flex-around\@s {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-flex-left\@m {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
  }

  .uk-flex-center\@m {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
  }

  .uk-flex-right\@m {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end;
  }

  .uk-flex-between\@m {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }

  .uk-flex-around\@m {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-flex-left\@l {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
  }

  .uk-flex-center\@l {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
  }

  .uk-flex-right\@l {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end;
  }

  .uk-flex-between\@l {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }

  .uk-flex-around\@l {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}

/* Large screen and bigger */

@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
  }

  .uk-flex-center\@xl {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
  }

  .uk-flex-right\@xl {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end;
  }

  .uk-flex-between\@xl {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }

  .uk-flex-around\@xl {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}

/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */

.uk-flex-stretch {
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
}

.uk-flex-top {
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}

.uk-flex-middle {
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}

.uk-flex-bottom {
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
}

/* Direction
 ========================================================================== */

.uk-flex-row {
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}

.uk-flex-row-reverse {
  -ms-flex-direction: row-reverse;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
          flex-direction: row-reverse;
}

.uk-flex-column {
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.uk-flex-column-reverse {
  -ms-flex-direction: column-reverse;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
          flex-direction: column-reverse;
}

/* Wrap
 ========================================================================== */

.uk-flex-nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.uk-flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.uk-flex-wrap-reverse {
  -ms-flex-wrap: 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 {
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}

.uk-flex-wrap-top {
  -ms-flex-line-pack: start;
  align-content: flex-start;
}

.uk-flex-wrap-middle {
  -ms-flex-line-pack: center;
  align-content: center;
}

.uk-flex-wrap-bottom {
  -ms-flex-line-pack: end;
  align-content: flex-end;
}

.uk-flex-wrap-between {
  -ms-flex-line-pack: justify;
  align-content: space-between;
}

.uk-flex-wrap-around {
  -ms-flex-line-pack: distribute;
  align-content: space-around;
}

/* Item ordering
 ========================================================================== */

/*
 * Default is 0
 */

.uk-flex-first {
  -ms-flex-order: -1;
  -webkit-box-ordinal-group: 0;
          order: -1;
}

.uk-flex-last {
  -ms-flex-order: 99;
  -webkit-box-ordinal-group: 100;
          order: 99;
}

/* Phone landscape and bigger */

@media (min-width: 640px) {
  .uk-flex-first\@s {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .uk-flex-last\@s {
    -ms-flex-order: 99;
    -webkit-box-ordinal-group: 100;
            order: 99;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-flex-first\@m {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .uk-flex-last\@m {
    -ms-flex-order: 99;
    -webkit-box-ordinal-group: 100;
            order: 99;
  }
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-flex-first\@l {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .uk-flex-last\@l {
    -ms-flex-order: 99;
    -webkit-box-ordinal-group: 100;
            order: 99;
  }
}

/* Large screen and bigger */

@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1;
  }

  .uk-flex-last\@xl {
    -ms-flex-order: 99;
    -webkit-box-ordinal-group: 100;
            order: 99;
  }
}

/* Item dimensions
 ========================================================================== */

/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */

/*
 * No Flex: 0 0 auto
 * Content dimensions
 */

.uk-flex-none {
  -ms-flex: none;
  -webkit-box-flex: 0;
          flex: none;
}

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */

.uk-flex-auto {
  -ms-flex: auto;
  -webkit-box-flex: 1;
          flex: auto;
}

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */

.uk-flex-1 {
  -ms-flex: 1;
  -webkit-box-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;
  }
}

/* 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 + * {
  margin-top: 0 !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;
}

/* ========================================================================
   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
 ========================================================================== */

[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
  position: absolute !important;
}

/* 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 (Not working in Firefox)
 * 2. Fix text wrapping for Firefox
 */

.uk-position-center {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* 1 */
  display: table;
  /* 2 */
  width: -moz-max-content;
  max-width: 100%;
}

/* Vertical */

.uk-position-center-left,
.uk-position-center-right {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

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

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

/* Horizontal */

.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  /* 1 */
  display: table;
}

.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 {
  margin: 15px;
}

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

.uk-position-small.uk-position-center-left,
.uk-position-small.uk-position-center-right {
  -webkit-transform: translateY(-50%) translateY(-15px);
  transform: translateY(-50%) translateY(-15px);
}

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

/*
 * Medium
 */

.uk-position-medium {
  margin: 30px;
}

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

.uk-position-medium.uk-position-center-left,
.uk-position-medium.uk-position-center-right {
  -webkit-transform: translateY(-50%) translateY(-30px);
  transform: translateY(-50%) translateY(-30px);
}

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

/* ========================================================================
   Component: Transition
 ========================================================================== */

/*
 * Using multiple selectors to exclude `uk-transition-toggle`
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`
 *       Just put the transition in an extra `div`
 */

.uk-transition-fade,
[class*='uk-transition-scale'],
[class*='uk-transition-slide'] {
  transition: 0.3s ease-out;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter;
}

/*
 * Fade
 */

.uk-transition-fade {
  opacity: 0;
}

.uk-transition-toggle:hover [class*='uk-transition-fade'],
.uk-transition-toggle.uk-hover [class*='uk-transition-fade'] {
  opacity: 1;
}

/*
 * Scale
 * Note: Using `scale3d` for better image rendering
 */

[class*='uk-transition-scale'] {
  opacity: 0;
}

.uk-transition-scale-up {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle.uk-hover .uk-transition-scale-up {
  opacity: 1;
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1);
}

.uk-transition-scale-down {
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1);
}

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

/*
 * Slide
 */

[class*='uk-transition-slide'] {
  opacity: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* Hover */

.uk-transition-toggle:hover [class*='uk-transition-slide'],
.uk-transition-toggle.uk-hover [class*='uk-transition-slide'] {
  opacity: 1;
  -webkit-transform: translateX(0) translateY(0);
  transform: translateX(0) translateY(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: 640px) {
  .uk-hidden\@s {
    display: none !important;
  }
}

/* Tablet landscape and bigger */

@media (min-width: 960px) {
  .uk-hidden\@m {
    display: none !important;
  }
}

/* Desktop and bigger */

@media (min-width: 1200px) {
  .uk-hidden\@l {
    display: none !important;
  }
}

/* Large screen and bigger */

@media (min-width: 1600px) {
  .uk-hidden\@xl {
    display: none !important;
  }
}

/*
 * Visible
 */

/* Phone portrait and smaller */

@media (max-width: 639px) {
  .uk-visible\@s {
    display: none !important;
  }
}

/* Phone landscape and smaller */

@media (max-width: 959px) {
  .uk-visible\@m {
    display: none !important;
  }
}

/* Tablet landscape and smaller */

@media (max-width: 1199px) {
  .uk-visible\@l {
    display: none !important;
  }
}

/* Desktop and smaller */

@media (max-width: 1599px) {
  .uk-visible\@xl {
    display: none !important;
  }
}

/* Visibility
 ========================================================================== */

.uk-invisible {
  visibility: hidden !important;
}

/* Hover
 ========================================================================== */

/* Hidden */

.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-hidden-hover {
  display: none !important;
}

/* Invisible */

.uk-visible-toggle:not(:hover):not(.uk-hover) .uk-invisible-hover {
  visibility: hidden !important;
}

/* 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 {
  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 {
  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 {
  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 {
  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 {
  color: rgba(255, 255, 255, 0.5);
}

.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%3E%3C%2Fcircle%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-list-divider > li:nth-child(n+2),
.uk-section-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2),
.uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2),
.uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2),
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2),
.uk-card-primary.uk-card-body .uk-list-divider > li:nth-child(n+2),
.uk-card-primary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2),
.uk-card-secondary.uk-card-body .uk-list-divider > li:nth-child(n+2),
.uk-card-secondary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2),
.uk-overlay-primary .uk-list-divider > li:nth-child(n+2),
.uk-offcanvas-bar .uk-list-divider > li:nth-child(n+2) {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-list-striped > li:nth-of-type(odd),
.uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd),
.uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd),
.uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd),
.uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd),
.uk-overlay-primary .uk-list-striped > li:nth-of-type(odd),
.uk-offcanvas-bar .uk-list-striped > li: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 > li:nth-of-type(odd),
.uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd),
.uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd),
.uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd),
.uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd),
.uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd),
.uk-overlay-primary .uk-list-striped > li:nth-of-type(odd),
.uk-offcanvas-bar .uk-list-striped > li:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.1);
}

.uk-light .uk-list-bullet > li::before,
.uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > li::before,
.uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before,
.uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > li::before,
.uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before,
.uk-card-primary.uk-card-body .uk-list-bullet > li::before,
.uk-card-primary > :not([class*='uk-card-media']) .uk-list-bullet > li::before,
.uk-card-secondary.uk-card-body .uk-list-bullet > li::before,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-list-bullet > li::before,
.uk-overlay-primary .uk-list-bullet > li::before,
.uk-offcanvas-bar .uk-list-bullet > li::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%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E");
}

.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, 229, 229, 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:-ms-input-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input:-ms-input-placeholder,
.uk-card-primary.uk-card-body .uk-input:-ms-input-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-input:-ms-input-placeholder,
.uk-card-secondary.uk-card-body .uk-input:-ms-input-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-input:-ms-input-placeholder,
.uk-overlay-primary .uk-input:-ms-input-placeholder,
.uk-offcanvas-bar .uk-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-input::-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::-webkit-input-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder,
.uk-card-primary.uk-card-body .uk-input::-webkit-input-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder,
.uk-card-secondary.uk-card-body .uk-input::-webkit-input-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder,
.uk-overlay-primary .uk-input::-webkit-input-placeholder,
.uk-offcanvas-bar .uk-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-textarea:-ms-input-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:-ms-input-placeholder,
.uk-card-primary.uk-card-body .uk-textarea:-ms-input-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-textarea:-ms-input-placeholder,
.uk-card-secondary.uk-card-body .uk-textarea:-ms-input-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea:-ms-input-placeholder,
.uk-overlay-primary .uk-textarea:-ms-input-placeholder,
.uk-offcanvas-bar .uk-textarea:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-textarea::-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::-webkit-input-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder,
.uk-card-primary.uk-card-body .uk-textarea::-webkit-input-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder,
.uk-card-secondary.uk-card-body .uk-textarea::-webkit-input-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder,
.uk-overlay-primary .uk-textarea::-webkit-input-placeholder,
.uk-offcanvas-bar .uk-textarea::-webkit-input-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%3E%3C%2Fpolygon%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%3E%3C%2Fpolygon%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: #e6e5e5;
}

.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%3E%3C%2Fcircle%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%2F%3E%0A%3C%2Fsvg%3E");
}

.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%3E%3C%2Frect%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-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: #e6e5e5;
  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: #e6e5e5;
  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-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::-webkit-input-placeholder,
.uk-section-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder,
.uk-card-primary.uk-card-body .uk-search-input::-webkit-input-placeholder,
.uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder,
.uk-card-secondary.uk-card-body .uk-search-input::-webkit-input-placeholder,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder,
.uk-overlay-primary .uk-search-input::-webkit-input-placeholder,
.uk-offcanvas-bar .uk-search-input::-webkit-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%3E%3C%2Fpolyline%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%3E%3C%2Fpolyline%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-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-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.3);
}

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

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

.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: rgba(255, 255, 255, 0.1);
}

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

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

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

.uk-light .uk-accordion-title::after,
.uk-section-primary:not(.uk-preserve-color) .uk-accordion-title::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title::after,
.uk-card-primary.uk-card-body .uk-accordion-title::after,
.uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title::after,
.uk-card-secondary.uk-card-body .uk-accordion-title::after,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title::after,
.uk-overlay-primary .uk-accordion-title::after,
.uk-offcanvas-bar .uk-accordion-title::after {
  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%3E%3C%2Frect%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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-open > .uk-accordion-title::after,
.uk-section-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::after,
.uk-card-primary.uk-card-body .uk-open > .uk-accordion-title::after,
.uk-card-primary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::after,
.uk-card-secondary.uk-card-body .uk-open > .uk-accordion-title::after,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::after,
.uk-overlay-primary .uk-open > .uk-accordion-title::after,
.uk-offcanvas-bar .uk-open > .uk-accordion-title::after {
  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%3E%3C%2Frect%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-iconnav > * > *,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > *,
.uk-card-primary.uk-card-body .uk-iconnav > * > *,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > *,
.uk-card-secondary.uk-card-body .uk-iconnav > * > *,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > *,
.uk-overlay-primary .uk-iconnav > * > *,
.uk-offcanvas-bar .uk-iconnav > * > * {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-iconnav > * > :hover,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > :hover,
.uk-card-primary.uk-card-body .uk-iconnav > * > :hover,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > :hover,
.uk-card-secondary.uk-card-body .uk-iconnav > * > :hover,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > :hover,
.uk-overlay-primary .uk-iconnav > * > :hover,
.uk-offcanvas-bar .uk-iconnav > * > :hover,
.uk-light .uk-iconnav > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > :focus,
.uk-card-primary.uk-card-body .uk-iconnav > * > :focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > :focus,
.uk-card-secondary.uk-card-body .uk-iconnav > * > :focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > :focus,
.uk-overlay-primary .uk-iconnav > * > :focus,
.uk-offcanvas-bar .uk-iconnav > * > :focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-iconnav > .uk-active > *,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > *,
.uk-card-primary.uk-card-body .uk-iconnav > .uk-active > *,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > *,
.uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > *,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > *,
.uk-overlay-primary .uk-iconnav > .uk-active > *,
.uk-offcanvas-bar .uk-iconnav > .uk-active > * {
  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-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: rgba(255, 255, 255, 0.7) !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 {
  -webkit-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;
  }
}

.uk-heading-primary {
  font-family: Lora;
}

.tm-headerbar-top {
  padding-top: 40px;
  padding-bottom: 40px;
  background: #FFF;
}

.header-cover h1 {
  font-family: 'Just Another Hand', cursive;
  font-size: 5em;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9fdmFyaWFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdmFyaWFibGVzLXRoZW1lLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvbWl4aW5zLXRoZW1lLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdWlraXQtdGhlbWUuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9faW1wb3J0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdmFyaWFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYmFzZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2xpbmsuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9oZWFkaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZGl2aWRlci5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2xpc3Quc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9kZXNjcmlwdGlvbi1saXN0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdGFibGUuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9pY29uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZm9ybS1yYW5nZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Zvcm0uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9idXR0b24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zZWN0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY29udGFpbmVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3RpbGUuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9jYXJkLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY2xvc2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zcGlubmVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbWFya2VyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdG90b3Auc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9hbGVydC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2JhZGdlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbGFiZWwuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9vdmVybGF5LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYXJ0aWNsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2NvbW1lbnQuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zZWFyY2guc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9uYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9uYXZiYXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9zdWJuYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9icmVhZGNydW1iLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvcGFnaW5hdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3RhYi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NsaWRlbmF2LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZG90bmF2LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYWNjb3JkaW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvZHJvcC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2Ryb3Bkb3duLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvbW9kYWwuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9saWdodGJveC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3N0aWNreS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL29mZmNhbnZhcy5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2ljb25uYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9ub3RpZmljYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90b29sdGlwLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvcGxhY2Vob2xkZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wcm9ncmVzcy5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3NvcnRhYmxlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY291bnRkb3duLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYW5pbWF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvd2lkdGguc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS90ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvY29sdW1uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvYmFja2dyb3VuZC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL2FsaWduLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdGhlbWUvdXRpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL21hcmdpbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3BhZGRpbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9wb3NpdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3RoZW1lL3RyYW5zaXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy90aGVtZS9pbnZlcnNlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9faW1wb3J0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy92YXJpYWJsZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21peGluLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYXNlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saW5rLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9oZWFkaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kaXZpZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saXN0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kZXNjcmlwdGlvbi1saXN0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90YWJsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZm9ybS1yYW5nZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZm9ybS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb250YWluZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2dyaWQuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RpbGUuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Nsb3NlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zcGlubmVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b3RvcC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFya2VyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGVydC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vdmVybGF5LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWFyY2guc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25hdi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbmF2YmFyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2JyZWFkY3J1bWIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BhZ2luYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2xpZGVuYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2RvdG5hdi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWNjb3JkaW9uLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kcm9wLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kcm9wZG93bi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbW9kYWwuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xpZ2h0Ym94LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL29mZmNhbnZhcy5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3dpdGNoZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ljb25uYXYuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdG9vbHRpcC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Byb2dyZXNzLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zb3J0YWJsZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY291bnRkb3duLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbmltYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3dpZHRoLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsIm5vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdmVyLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWNrZ3JvdW5kLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZmxleC5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFyZ2luLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wb3NpdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdHJhbnNpdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaW52ZXJzZS5zY3NzIiwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJpbnQuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy90aGVtZS9nYWxlcmlhL2Jhc2UvX2Jhc2Uuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy90aGVtZS9nYWxlcmlhL21vZHVsZS9fbmF2LnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvdGhlbWUvZ2FsZXJpYS9tb2R1bGUvX2hlYWRlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLy8gRm9udHNcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UmFsZXdheTozMDAsNDAwLDYwMCcpO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Mb3JhOjQwMCw3MDAnKTtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9SnVzdCtBbm90aGVyK0hhbmQnKTtcblxuLy8gMS4gQ3VzdG9tIHZhcmlhYmxlcyBhbmQgdmFyaWFibGUgb3ZlcndyaXRlc1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuJG5hdmJhci10b2dnbGUtY29sb3I6ICMyNjI2MjY7XG4kdGV4dC1sYXJnZS1mb250LXNpemU6IDE3cHg7XG5cbi8vIDIuIFVJa2l0IGRlZmF1bHQgdmFyaWFibGVzIGFuZCBhdmFpbGFibGUgbWl4aW5zXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3ZhcmlhYmxlcy10aGVtZS5zY3NzXCI7XG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL21peGlucy10aGVtZS5zY3NzXCI7XG5cbi8vIDMuIEN1c3RvbSBtaXhpbiBvdmVyd3JpdGVzXG4vLyBob29rLWNhcmQoKSB7IGNvbG9yOiAjMDAwOyB9XG5cbi8vIDQuIFVJa2l0XG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3Vpa2l0LXRoZW1lLnNjc3NcIjtcblxuLy8gNS4gR2FsZXJpYSBUaGVtZVxuQGltcG9ydCBcInRoZW1lL2dhbGVyaWEvYmFzZS9iYXNlXCI7XG5AaW1wb3J0IFwidGhlbWUvZ2FsZXJpYS9tb2R1bGUvbmF2XCI7XG5AaW1wb3J0IFwidGhlbWUvZ2FsZXJpYS9tb2R1bGUvaGVhZGVyXCI7XG4iLCJcbi8vIEJvZHlcbiRib2R5LWJnOiAjZjVmOGZhO1xuXG4vLyBCb3JkZXJzXG4kbGFyYXZlbC1ib3JkZXItY29sb3I6IGRhcmtlbigkYm9keS1iZywgMTAlKTtcbiRsaXN0LWdyb3VwLWJvcmRlcjogJGxhcmF2ZWwtYm9yZGVyLWNvbG9yO1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogJGxhcmF2ZWwtYm9yZGVyLWNvbG9yO1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAkbGFyYXZlbC1ib3JkZXItY29sb3I7XG4kcGFuZWwtaW5uZXItYm9yZGVyOiAkbGFyYXZlbC1ib3JkZXItY29sb3I7XG5cbi8vIEJyYW5kc1xuJGJyYW5kLXByaW1hcnk6ICMzMDk3RDE7XG4kYnJhbmQtaW5mbzogIzhlYjRjYjtcbiRicmFuZC1zdWNjZXNzOiAjMmFiMjdiO1xuJGJyYW5kLXdhcm5pbmc6ICNjYmI5NTY7XG4kYnJhbmQtZGFuZ2VyOiAjYmY1MzI5O1xuXG4vLyBUeXBvZ3JhcGh5XG4kaWNvbi1mb250LXBhdGg6IFwifmJvb3RzdHJhcC1zYXNzL2Fzc2V0cy9mb250cy9ib290c3RyYXAvXCI7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJSYWxld2F5XCIsIHNhbnMtc2VyaWY7XG4kZm9udC1zaXplLWJhc2U6IDE0cHg7XG4kbGluZS1oZWlnaHQtYmFzZTogMS42O1xuJHRleHQtY29sb3I6ICM2MzZiNmY7XG5cbi8vIE5hdmJhclxuJG5hdmJhci1kZWZhdWx0LWJnOiAjZmZmO1xuXG4vLyBCdXR0b25zXG4kYnRuLWRlZmF1bHQtY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4vLyBJbnB1dHNcbiRpbnB1dC1ib3JkZXI6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDQwJSk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiBsaWdodGVuKCRicmFuZC1wcmltYXJ5LCAyNSUpO1xuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiBsaWdodGVuKCR0ZXh0LWNvbG9yLCAzMCUpO1xuXG4vLyBQYW5lbHNcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICNmZmY7XG4iLCIkZ2xvYmFsLW1hcmdpbjogMjBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZ3V0dGVyOiAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogI2Y4ZjhmOCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXRvcDogJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogIzMyZDI5NiAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCwgNDAlKSwgMjUlKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAjZmFhMDVhICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogI2YwNTA2ZSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ndXR0ZXI6IDQwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246IDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1tYXJnaW46IDcwcHggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteHhsYXJnZS1mb250LXNpemU6IDIuNjI1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZm9udC1zaXplOiAwLjg3NXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICM5OTkgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1pbnZlcnNlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLXNpemU6IDIycHggIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw6IDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFkZ2UtaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICMyMjIgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWNvbG9yOiAjMWU4N2YwICFkZWZhdWx0O1xuJGJhc2UtbGluay1jb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstaG92ZXItY29sb3I6ICMwZjZlY2QgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyOiAjZTVlNWU1ICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1lbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtYm9yZGVyOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6IDcwcHggIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06IDEwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1tYXgtd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAxNjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvdW50ZG93bi1pdGVtLWxpbmUtaGVpZ2h0OiA3MHB4ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06IDNyZW0gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtd2lkdGg6IDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTZweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG4kZm9ybS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICRmb3JtLWhlaWdodCAtICgyKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogNHB4ICFkZWZhdWx0O1xuJGZvcm0tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6IDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0td2lkdGgteHNtYWxsOiA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6IDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAtNHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiA1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWljb24td2lkdGg6ICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlM0UlM0MlMkZjaXJjbGUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlM0UlM0MlMkZyZWN0JTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogMy43NXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbTogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemU6IDRyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1zOiA2cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1zOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206IDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtdG9wOiB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiAwLjllbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw6IDAuNmVtICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaWNvbi1pbWFnZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJGljb24tbGluay1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1zaXplOiAzNnB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJhY2tncm91bmQ6ICMwMDAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLXNpemU6IDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtd2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1oZWlnaHQ6ICRsaXN0LWJ1bGxldC13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtYXJnaW4tbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLW1hcmdpbjogMTQwcHggIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRtYXJrZXItcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1jb250YWluZXItd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUzRSUzQyUyRnBvbHlsaW5lJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlM0UlM0MlMkZwb2x5bGluZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogbm9uZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogMjVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogKCRuYXZiYXItZHJvcGRvd24tcGFkZGluZyAqIDIpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tcG9zaXRpb246IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogMzUwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLWJvdHRvbTogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGg6IDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6IDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2Utd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6IGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6IGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6IDAgIWRlZmF1bHQ7XG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc2l6ZTogMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMC4wMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0b29sdGlwLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDMwICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctdmVydGljYWw6IDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZDogIzY2NiAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kdG90b3AtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNjYWxlOiAxLjEgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogMC43cyAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6IDQ1MHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogMjBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLWNvbnRlbnQ6ICcuJyAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbG9nby1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyYWdvdmVyLWJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsOiA2NDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bTogOTYwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteGxhcmdlOiAxNjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14c21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtc21hbGwgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsLW1heDogKCRicmVha3BvaW50LW1lZGl1bSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtLW1heDogKCRicmVha3BvaW50LWxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZS1tYXg6ICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJHdpZHRoLXNtYWxsLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLXh4bGFyZ2Utd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTogMC44ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbDogMnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRiYXNlLXByZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDIwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAzMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktcGFkZGluZzogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1ib3JkZXI6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWJvcmRlcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiBkYXNoZWQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDEwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmc6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1jb2xvcjogJHRleHQtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDsiLCJAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZSgpe1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgaGVpZ2h0OiAoJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodCAqIDFlbSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgfVxuXG4gICAgLnVrLW9wZW4gPiAmOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpe1xuXG4gICAgLnVrLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZ2xvYmFsLWNvbG9yKTsgfVxuXG4gICAgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWxlcnQoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xufVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbkBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogQ29udGVudFxuICAgICAqL1xuXG4gICAgLnVrLWFsZXJ0IGgxLFxuICAgIC51ay1hbGVydCBoMixcbiAgICAudWstYWxlcnQgaDMsXG4gICAgLnVrLWFsZXJ0IGg0LFxuICAgIC51ay1hbGVydCBoNSxcbiAgICAudWstYWxlcnQgaDYgeyBjb2xvcjogaW5oZXJpdDsgfVxuXG4gICAgLnVrLWFsZXJ0IGE6bm90KFtjbGFzc10pIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWFydGljbGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe1xuXG4gICAgYSB7IGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I7IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKXtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlICB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWFydGljbGUtbWV0YSAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhZGdlKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYWRnZSgpe1xuXG4gICAgLnVrLWJhZGdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhZGdlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFkZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJhZGdlOmhvdmVyLFxuICAgIC51ay1iYWRnZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFzZS1jb2RlKCl7XG4gICAgcGFkZGluZzogJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsICRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWNvZGUtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXtcbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXtcblxuICAgIGNvbG9yOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtcHJlKCl7XG4gICAgcGFkZGluZzogJGJhc2UtcHJlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkYmFzZS1wcmUtYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLXByZS1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtcHJlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXtcbiAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKXsgY29sb3I6ICRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCl7XG5cbiAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2xvcjtcblxuICAgIC8vIEJhc2VcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICBhLFxuICAgIC51ay1saW5rICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1saW5rKCk7fVxuICAgIH1cblxuICAgIGE6aG92ZXIsXG4gICAgLnVrLWxpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIENvZGVcbiAgICAvL1xuXG4gICAgOm5vdChwcmUpID4gY29kZSxcbiAgICA6bm90KHByZSkgPiBrYmQsXG4gICAgOm5vdChwcmUpID4gc2FtcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1jb2RlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRW1waGFzaXplXG4gICAgLy9cblxuICAgIGVtIHsgY29sb3I6ICRpbnZlcnNlLWJhc2UtZW0tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gSGVhZGluZ3NcbiAgICAvL1xuXG4gICAgaDEsIC51ay1oMSxcbiAgICBoMiwgLnVrLWgyLFxuICAgIGgzLCAudWstaDMsXG4gICAgaDQsIC51ay1oNCxcbiAgICBoNSwgLnVrLWg1LFxuICAgIGg2LCAudWstaDYge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpO31cbiAgICB9XG5cbiAgICBoMSwgLnVrLWgxIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMSgpO31cbiAgICB9XG5cbiAgICBoMiwgLnVrLWgyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMigpO31cbiAgICB9XG5cbiAgICBoMywgLnVrLWgzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMygpO31cbiAgICB9XG5cbiAgICBoNCwgLnVrLWg0IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNCgpO31cbiAgICB9XG5cbiAgICBoNSwgLnVrLWg1IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNSgpO31cbiAgICB9XG5cbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJsb2NrcXVvdGVzXG4gICAgLy9cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpO31cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVzXG4gICAgLy9cblxuICAgIGhyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtYmFzZS1oci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaHIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaHIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpe1xuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlcixcbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cblxuICAgIC51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24oKXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkICRidXR0b24tZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpeyBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRidXR0b24tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXRleHQtYm9yZGVyLXdpZHRoIHNvbGlkICRidXR0b24tdGV4dC1ib3JkZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7XG5cbiAgICAmOjpiZWZvcmUgeyByaWdodDogMDsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe1xuXG4gICAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7XG5cbiAgICAvKiBHcm91cFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBDb2xsYXBzZSBib3JkZXJcbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgPiAudWstYnV0dG9uOm50aC1jaGlsZChuKzIpLFxuICAgIC51ay1idXR0b24tZ3JvdXAgPiBkaXY6bnRoLWNoaWxkKG4rMikgLnVrLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAoLSRidXR0b24tYm9yZGVyLXdpZHRoKTsgfVxuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBzdXBlcmltcG9zZSB0aGUgc3VjY2Vzc29yIGVsZW1lbnRzIGJvcmRlclxuICAgICAqIEtub3duIGlzc3VlOiBJZiB5b3UgdXNlIGFuIGBhYCBlbGVtZW50IGFzIGJ1dHRvbiBhbmQgYW4gaWNvbiBpbnNpZGUsXG4gICAgICogdGhlIGFjdGl2ZSBzdGF0ZSB3aWxsIG5vdCB3b3JrIGlmIHlvdSBjbGljayB0aGUgaWNvbiBpbnNpZGUgdGhlIGJ1dHRvblxuICAgICAqIFdvcmthcm91bmQ6IEp1c3QgdXNlIGEgYGJ1dHRvbmAgb3IgYGlucHV0YCBlbGVtZW50IGFzIGJ1dHRvblxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmhvdmVyLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpmb2N1cyxcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246YWN0aXZlLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7XG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpe1xuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDpob3ZlcixcbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuICAgIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBTZWNvbmRhcnlcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUZXh0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tdGV4dDpob3ZlcixcbiAgICAudWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNhcmQoKXtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5AbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXsgYm9yZGVyLWJvdHRvbTogJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpeyBib3JkZXItdG9wOiAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXItd2lkdGggIHNvbGlkICRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBEZWZhdWx0XG4gICAgICovXG5cbiAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbjogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KSAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuICAgIC51ay1jYXJkLXRpdGxlICsgLnVrLW5hdi1kZWZhdWx0IHsgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4gICAgLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW46ICgtJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgKyAxNXB4KSAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWwpOyB9XG4gICAgICAgIC51ay1jYXJkLXRpdGxlICsgLnVrLW5hdi1kZWZhdWx0IHsgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFNtYWxsXG4gICAgICovXG5cbiAgICAudWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW46ICgtJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICsgMTVweCkgKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cbiAgICAudWstY2FyZC1zbWFsbCAudWstY2FyZC10aXRsZSArIC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbi10b3A6IDA7IH1cblxuICAgIC51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAudWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4gICAgLypcbiAgICAgKiBMYXJnZVxuICAgICAqL1xuXG4gICAgLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgLnVrLW5hdi1kZWZhdWx0IHsgbWFyZ2luOiAoLSRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCkgKC0kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sKTsgfVxuICAgICAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC10aXRsZSArIC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbi10b3A6IDA7IH1cblxuICAgIH1cblxufVxuQG1peGluIGhvb2stY2xvc2UoKXtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5O1xufVxuQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpe1xuXG4gICAgLnVrLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNsb3NlOmhvdmVyLFxuICAgIC51ay1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY29sdW1uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKXtcblxuICAgIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgICAgIC1tb3otY29sdW1uLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7XG4gICAgICAgIGNvbHVtbi1ydWxlLWNvbG9yOiAkaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stY29tbWVudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXtcbiAgICBwYWRkaW5nOiAkY29tbWVudC1wcmltYXJ5LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fVxuQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb3VudGRvd24oKXtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyLFxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY292ZXItbWlzYygpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe1xuICAgIGZvbnQtc2l6ZTogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9XG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJGVzY2FwZS1jb2xvci1kZWZhdWx0OiAgZXNjYXBlKCRjb2xvci1kZWZhdWx0KSAhZGVmYXVsdDtcbiAgICAkZXNjYXBlLWNvbG9yLW5ldzogIGVzY2FwZShcIiN7JGNvbG9yLW5ld31cIikgIWRlZmF1bHQ7XG5cbiAgICAkZGF0YS11cmk6ICBkYXRhLXVyaSgnaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04JywgXCIjeyRzcmN9XCIpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogIHJlcGxhY2UoXCIjeyRkYXRhLXVyaX1cIiwgXCIjeyRlc2NhcGUtY29sb3ItZGVmYXVsdH1cIiwgXCIjeyRlc2NhcGUtY29sb3ItbmV3fVwiLCBcImdcIikgIWRlZmF1bHQ7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKCRyZXBsYWNlLXNyYyk7XG59XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCl7XG5cbiAgICAudWstZGl2aWRlci1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbiAgICAudWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCk7fVxuICAgIH1cblxuICAgIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZG90bmF2KCl7fVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0oKXtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKXtcblxuICAgIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24oKXsgYm94LXNoYWRvdzogJGRyb3Bkb3duLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRkcm9wZG93bi1uYXYtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7IGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpeyBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuQG1peGluIGhvb2stZm9ybSgpe1xuICAgIGJvcmRlcjogJGZvcm0tYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLWJvcmRlcjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpeyBib3JkZXItY29sb3I6ICRmb3JtLWRhbmdlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tc3VjY2VzcygpeyBib3JkZXItY29sb3I6ICRmb3JtLXN1Y2Nlc3MtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGU6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXtcbiAgICBib3JkZXI6ICRmb3JtLXJhZGlvLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYWRpby1ib3JkZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xufVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1mb2N1cygpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe1xuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXsgY29sb3I6ICRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0oKXtcblxuICAgIC51ay1pbnB1dCxcbiAgICAudWstc2VsZWN0LFxuICAgIC51ay10ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0oKTt9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKTt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBsYWNlaG9sZGVyXG4gICAgLy9cblxuICAgIC51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cbiAgICAudWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuICAgIC51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstcmFkaW8sXG4gICAgLnVrLWNoZWNrYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC51ay1yYWRpbzpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbiAgICAvLyBMYWJlbFxuICAgIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKXtcblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjsgfVxuXG59XG5AbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKXtcblxuICAgIC51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6YmVmb3JlLFxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3Jcbn1cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCl7XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6aG92ZXIsXG4gICAgLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6YWN0aXZlLFxuICAgIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCdXR0b25cbiAgICAvL1xuXG4gICAgLnVrLWljb24tYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuICAgIC51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCl7XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAqID4gOmhvdmVyLFxuICAgIC51ay1pY29ubmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKXtcblxuICAgIGEudWstbGluay1tdXRlZCxcbiAgICAudWstbGluay1tdXRlZCBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKTt9XG4gICAgfVxuXG4gICAgYS51ay1saW5rLW11dGVkOmhvdmVyLFxuICAgIC51ay1saW5rLW11dGVkIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstdGV4dDpob3ZlcixcbiAgICAudWstbGluay10ZXh0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKXtcblxuICAgIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxuICAgIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKXtcblxuICAgIC51ay10b3RvcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3ApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDpob3ZlcixcbiAgICAudWstdG90b3A6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdG90b3A6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpe1xuXG4gICAgLnVrLWxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxhYmVsLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zZWFyY2goKXtcblxuICAgIC8vXG4gICAgLy8gSW5wdXRcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1pbnB1dCB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtY29sb3I7IH1cblxuICAgIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cbiAgICAudWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbiAgICAvL1xuICAgIC8vIEljb25cbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24geyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFN0eWxlIG1vZGlmaWVyXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCk7fVxuICAgIH1cbiAgICAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFRvZ2dsZVxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKXtcblxuICAgIC8vXG4gICAgLy8gUGFyZW50IGljb24gbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpe1xuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1pdGVtIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbiAgICAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKXtcblxuICAgIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQaWxsXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLFxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIERpc2FibGVkXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCl7XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYigpe1xuXG4gICAgLnVrLXRhYiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAqID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAqID4gYTpob3ZlcixcbiAgICAudWstdGFiID4gKiA+IGE6Zm9jdXN7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zbGlkZW5hdigpe1xuXG4gICAgLnVrLXNsaWRlbmF2IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmhvdmVyLFxuICAgIC51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRleHQoKXtcblxuICAgIC51ay10ZXh0LWxlYWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LWxlYWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tZXRhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCl7XG5cbiAgICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAgIC51ay1kcm9wY2FwIHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZHJvcGNhcCgpO31cbiAgICB9XG5cbiAgICAudWstbGVhZGVyLWZpbGwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvOmhvdmVyLFxuICAgIC51ay1sb2dvOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogaW5saW5lOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UoKXtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWRpdmlkZXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZ3JpZCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRvdG9wKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYWRnZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGFiZWwoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXZiYXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnJlYWRjcnVtYigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtcGFnaW5hdGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zbGlkZW5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb25uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRleHQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdXRpbGl0eSgpO1xufVxuQG1peGluIGhvb2stbGFiZWwoKXtcbiAgICBib3JkZXItcmFkaXVzOiAkbGFiZWwtYm9yZGVyLXJhZGl1cztcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGxhYmVsLXRleHQtdHJhbnNmb3JtO1xufVxuQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sYWJlbCgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7XG5cbiAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBib3JkZXItdG9wOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJGxpc3Qtc3RyaXBlZC1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saXN0LWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWxpc3QtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXtcblxuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCl7fVxuQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1hcmtlcigpe1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbWFya2VyKCl7XG5cbiAgICAudWstbWFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyKCk7fVxuICAgIH1cblxuICAgIC51ay1tYXJrZXI6aG92ZXIsXG4gICAgLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbkBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpeyBmb250LXNpemU6ICRuYXYtZGVmYXVsdC1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXsgYm94LXNoYWRvdzogbm9uZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBOYXZiYXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuXG4gICAgLypcbiAgICAgKiBHcmlkIERpdmlkZXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICgkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgLyAyKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbCAvIDIpO1xuICAgICAgICBsZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuQG1peGluIGhvb2stb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbkBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbkBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpeyBib3JkZXI6ICRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGggZGFzaGVkICRwbGFjZWhvbGRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtZGVmYXVsdC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW92ZXJsYXAoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdigpe1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuQG1peGluIGhvb2stc3Bpbm5lcigpe31cbkBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbkBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fVxuQG1peGluIGhvb2stc3VibmF2KCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXtcbiAgICBmb250LXNpemU6ICRzdWJuYXYtaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRzdWJuYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJHRhYi1pdGVtLWFjdGl2ZS1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXtcbiAgICBib3JkZXItdG9wOiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbGVmdCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQoKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe1xuICAgIGJvcmRlci1yaWdodDogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1peGluIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKXtcbiAgICBib3JkZXItbGVmdDogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1peGluIGhvb2stdGFiLW1pc2MoKXtcblxuICAgIC51ay10YWIgLnVrLWRyb3Bkb3duIHsgbWFyZ2luLWxlZnQ6ICgkdGFiLW1hcmdpbi1ob3Jpem9udGFsICsgJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCkgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe1xuXG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS10YWItYm9yZGVyOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stdGFibGUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1oZWFkZXItY2VsbCgpeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5AbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1zdHJpcGVkLWJvcmRlcjtcbn1cbkBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1taXNjKCl7XG5cbiAgICAudWstdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBsaW5lYXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBsaW5lYXI7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYmxlKCl7XG5cbiAgICAudWstdGFibGUgdGgge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgY2FwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbiAgICAudWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuICAgIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuICAgIC51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJHRleHQtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbkBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2stdGlsZSgpe31cbkBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbkBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b3RvcCgpe1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stdG90b3AtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXBhbmVsLXNjcm9sbGFibGUoKXt9XG5AbWl4aW4gaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpe31cbkBtaXhpbiBob29rLWRyb3BjYXAoKXtcbiAgICAvLyBQcmV2ZW50IGxpbmUgd3JhcFxuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG59XG5AbWl4aW4gaG9vay1sZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1sb2dvKCl7fVxuQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cbkBtaXhpbiBob29rLXV0aWxpdHktbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZHJvcGNhcCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvL1xuLy8gVGhlbWVcbi8vXG5cbkBpbXBvcnQgXCJ0aGVtZS9faW1wb3J0LnNjc3NcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvX2ltcG9ydC5zY3NzXCI7XG5cblxuIiwiLy8gQmFzZVxuQGltcG9ydCBcInZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS5zY3NzXCI7XG5cbi8vIEVsZW1lbnRzXG5AaW1wb3J0IFwibGluay5zY3NzXCI7XG5AaW1wb3J0IFwiaGVhZGluZy5zY3NzXCI7XG5AaW1wb3J0IFwiZGl2aWRlci5zY3NzXCI7XG5AaW1wb3J0IFwibGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwiZGVzY3JpcHRpb24tbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwidGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImljb24uc2Nzc1wiO1xuQGltcG9ydCBcImZvcm0tcmFuZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcImZvcm0uc2Nzc1wiO1xuQGltcG9ydCBcImJ1dHRvbi5zY3NzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcInNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcImNvbnRhaW5lci5zY3NzXCI7XG5AaW1wb3J0IFwiZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwidGlsZS5zY3NzXCI7XG5AaW1wb3J0IFwiY2FyZC5zY3NzXCI7XG5cbi8vIENvbW1vblxuQGltcG9ydCBcImNsb3NlLnNjc3NcIjtcbkBpbXBvcnQgXCJzcGlubmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtYXJrZXIuc2Nzc1wiO1xuQGltcG9ydCBcInRvdG9wLnNjc3NcIjtcbkBpbXBvcnQgXCJhbGVydC5zY3NzXCI7XG5AaW1wb3J0IFwiYmFkZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcImxhYmVsLnNjc3NcIjtcbkBpbXBvcnQgXCJvdmVybGF5LnNjc3NcIjtcbkBpbXBvcnQgXCJhcnRpY2xlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21tZW50LnNjc3NcIjtcbkBpbXBvcnQgXCJzZWFyY2guc2Nzc1wiO1xuXG4vLyBOYXZzXG5AaW1wb3J0IFwibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJuYXZiYXIuc2Nzc1wiO1xuQGltcG9ydCBcInN1Ym5hdi5zY3NzXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYi5zY3NzXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidGFiLnNjc3NcIjtcbkBpbXBvcnQgXCJzbGlkZW5hdi5zY3NzXCI7XG5AaW1wb3J0IFwiZG90bmF2LnNjc3NcIjtcblxuLy8gSmF2YVNjcmlwdFxuQGltcG9ydCBcImFjY29yZGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiZHJvcC5zY3NzXCI7XG5AaW1wb3J0IFwiZHJvcGRvd24uc2Nzc1wiO1xuQGltcG9ydCBcIm1vZGFsLnNjc3NcIjtcbkBpbXBvcnQgXCJsaWdodGJveC5zY3NzXCI7XG5AaW1wb3J0IFwic3RpY2t5LnNjc3NcIjtcbkBpbXBvcnQgXCJvZmZjYW52YXMuc2Nzc1wiO1xuXG4vLyBBZGRpdGlvbmFsXG5AaW1wb3J0IFwiaWNvbm5hdi5zY3NzXCI7XG5AaW1wb3J0IFwibm90aWZpY2F0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0b29sdGlwLnNjc3NcIjtcbkBpbXBvcnQgXCJwbGFjZWhvbGRlci5zY3NzXCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3Muc2Nzc1wiO1xuQGltcG9ydCBcInNvcnRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3VudGRvd24uc2Nzc1wiO1xuXG4vLyBVdGlsaXR5XG5AaW1wb3J0IFwiYW5pbWF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ3aWR0aC5zY3NzXCI7XG5AaW1wb3J0IFwidGV4dC5zY3NzXCI7XG5AaW1wb3J0IFwiY29sdW1uLnNjc3NcIjtcbkBpbXBvcnQgXCJiYWNrZ3JvdW5kLnNjc3NcIjtcbkBpbXBvcnQgXCJhbGlnbi5zY3NzXCI7XG5AaW1wb3J0IFwidXRpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwibWFyZ2luLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWRkaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJwb3NpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiaW52ZXJzZS5zY3NzXCI7XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBWYXJpYWJsZXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBHbG9iYWwgdmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vXG4vLyBDb2xvcnNcbi8vXG5cbi8vXG4vLyBCYWNrZ3JvdW5kc1xuLy9cblxuLy9cbi8vIEJvcmRlcnNcbi8vXG5cbi8vXG4vLyBTcGFjaW5nc1xuLy9cblxuLy9cbi8vIENvbnRyb2xzXG4vL1xuXG4vL1xuLy8gWi1pbmRleFxuLy8iLCIvL1xuLy8gQ29tcG9uZW50OiBCYXNlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGJhc2UtY29kZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLXByZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG5cblxuLy8gQm9keVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cblxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluaygpe31cblxuLy8gQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuXG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSGVhZGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaDIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaDUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG5cblxuLy8gQmxvY2txdW90ZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuLy8gUHJlZm9ybWF0dGVkIHRleHRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTGlua1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTXV0ZWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuXG5cbi8vIFRleHRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cblxuXG4vLyBSZXNldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpbmstbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEhlYWRpbmdcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFByaW1hcnlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG5cblxuLy8gSGVyb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cblxuXG4vLyBEaXZpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuXG5cbi8vIEJ1bGxldFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuXG5cbi8vIExpbmVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogRGl2aWRlclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gSWNvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbigpe31cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCl7fVxuXG5cbi8vIFNtYWxsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1zbWFsbCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBMaXN0XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IERlc2NyaXB0aW9uIGxpc3Rcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGFibGVcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cblxuLy8gQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cblxuXG4vLyBTaXplIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEljb25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBMaW5rXG4vL1xuXG4vLyBAbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cblxuLy9cbi8vIEJ1dHRvblxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWljb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBGb3JtIFJhbmdlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5cblxuLy8gVGh1bWJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBUcmFja1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogRm9ybVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1sYXJnZS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kZm9ybS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZvY3VzLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kZm9ybS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICAgIGRhc2hlZCAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cblxuXG5cblxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIFJhZGlvIGFuZCBjaGVja2JveFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cblxuXG5cblxuLy8gTGVnZW5kXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG5cblxuLy8gTGFiZWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBMYXlvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuXG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuXG4iLCIvL1xuLy8gQ29tcG9uZW50OiBCdXR0b25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG5cbiRidXR0b24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRidXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRidXR0b24tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRidXR0b24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMjAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDMwJSkgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRidXR0b24tdGV4dC1ob3Zlci1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuLy9cbi8vIFByaW1hcnlcbi8vXG5cblxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuXG4vL1xuLy8gU2Vjb25kYXJ5XG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5cbi8vXG4vLyBEYW5nZXJcbi8vXG5cblxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cblxuXG4vLyBEaXNhYmxlZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIFNpemUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG5cblxuLy8gVGV4dCBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuLy8gTGluayBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbi8vXG4vLyBIb29rc1xuLy9cblxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogU2VjdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLWRlZmF1bHQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWVkaWEoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IENvbnRhaW5lclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEdyaWRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGlsZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGlsZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRpbGUtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBDYXJkXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRjYXJkLWhvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuXG5cbi8vIE1lZGlhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cblxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuXG5cbi8vIEJhZGdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cblxuXG4vLyBIb3ZlciBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5cblxuXG5cblxuXG5cbi8vXG4vLyBQcmltYXJ5XG4vL1xuXG5cblxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuXG5cblxuLy9cbi8vIFNlY29uZGFyeVxuLy9cblxuXG5cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuIiwiLy9cbi8vIENvbXBvbmVudDogQ2xvc2Vcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU3Bpbm5lclxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBNYXJrZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogVG90b3Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQWxlcnRcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEJhZGdlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1iYWRnZSgpe31cblxuLy8gQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IExhYmVsXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGxhYmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiRsYWJlbC10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQ29sb3IgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cblxuLy8gQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cblxuLy8gQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE92ZXJsYXlcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5cbi8vIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5cblxuLy8gU3R5bGUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBBcnRpY2xlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRhcnRpY2xlLW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuXG5cbi8vIEFkamFjZW50IHNpYmxpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuXG5cbi8vIFRpdGxlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cblxuXG4vLyBNZXRhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogQ29tbWVudFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRjb21tZW50LXByaW1hcnktcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb21tZW50LXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudCgpe31cblxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuXG5cbi8vIE1ldGFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG5cblxuLy8gQXZhdGFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5cblxuLy8gTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cblxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogU2VhcmNoXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuXG5cbi8vIERlZmF1bHQgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gTmF2YmFyIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuXG5cbi8vIExhcmdlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cblxuXG4vLyBUb2dnbGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE5hdlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRuYXYtZGVmYXVsdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuXG4vLyBTdWJsaXN0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5cblxuLy8gUGFyZW50IGljb24gbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5cblxuLy8gSGVhZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cblxuXG4vLyBEaXZpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5cblxuLy8gRGVmYXVsdCBzdHlsZSBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuXG5cbi8vIFByaW1hcnkgc3R5bGUgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBOYXZiYXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDI1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICgkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgKiAyKSAhZGVmYXVsdDtcblxuLy9cbi8vIE5ld1xuLy9cblxuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyKCl7fVxuXG5cbi8vIENvbnRhaW5lclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG5cblxuLy8gTmF2XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5cblxuLy8gSXRlbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuXG5cbi8vIFRvZ2dsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbigpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuXG5cbi8vIFN1YnRpdGxlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuXG5cbi8vIFN0eWxlIG1vZGlmaWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cblxuXG4vLyBEcm9wZG93blxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBEcm9wZG93biBuYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5cblxuLy8gRHJvcGJhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBTdWJuYXZcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gTmV3XG4vL1xuXG4kc3VibmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5cblxuLy8gRGl2aWRlciBtb2RpZmllclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuXG5cbi8vIFBpbGwgbW9kaWZpZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuXG5cbi8vIERpc2FibGVkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBCcmVhZGNydW1iXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuXG5cbi8vIEl0ZW1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogUGFnaW5hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cblxuXG4vLyBJdGVtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVGFiXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJHRhYi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gSXRlbXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cblxuXG4vLyBQb3NpdGlvbiBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFiLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFNsaWRlbmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cblxuXG4vLyBJY29uIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG5cblxuLy8gQ29udGFpbmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogRG90bmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG5cblxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpe31cblxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEFjY29yZGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRhY2NvcmRpb24taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMlMjAxMyUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlM0UlM0MlMkZyZWN0JTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTNFJTNDJTJGcmVjdCUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG5cblxuLy8gSXRlbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuXG5cbi8vIFRpdGxlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuXG5cbiIsIi8vXG4vLyBDb21wb25lbnQ6IERyb3Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogRHJvcGRvd25cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgNXB4IDEycHggcmdiYSgwLDAsMCwwLjE1KSAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBOYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBNb2RhbFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vL1xuLy8gTmV3XG4vL1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbCgpe31cblxuXG4vLyBEaWFsb2dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5cblxuLy8gRnVsbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG5cblxuLy8gU2VjdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cblxuXG5cblxuLy8gVGl0bGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpe31cblxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cblxuXG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTGlnaHRib3hcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuXG5cbi8vIEl0ZW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuXG5cbi8vIFRvb2xiYXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuXG5cbi8vIFRvb2xiYXIgSWNvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpe31cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuXG5cbi8vIEJ1dHRvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbigpe31cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFN0aWNreVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE9mZi1jYW52YXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEJhclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG5cblxuLy8gQ2xvc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG5cblxuLy8gT3ZlcmxheVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBJY29ubmF2XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuXG5cbi8vIE1lc3NhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cblxuXG4vLyBDbG9zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tcHJpbWFyeSgpe31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLXN1Y2Nlc3MoKXt9XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi13YXJuaW5nKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tZGFuZ2VyKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBUb29sdGlwXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10b29sdGlwKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogUGxhY2Vob2xkZXJcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBOZXdcbi8vXG5cbiRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXItbWlzYygpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IFByb2dyZXNzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBTb3J0YWJsZVxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ29tcG9uZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUoKXt9XG5cblxuLy8gRHJhZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG5cblxuLy8gUGxhY2Vob2xkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cblxuXG4vLyBFbXB0eVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogQ291bnRkb3duXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG5cblxuLy8gSXRlbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuXG5cbi8vIE51bWJlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG5cblxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cblxuXG4vLyBMYWJlbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6IEFuaW1hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IFdpZHRoXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBUZXh0XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5ld1xuLy9cblxuJHRleHQtbWV0YS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR0ZXh0LW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBTdHlsZSBtb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG5cblxuXG5cbi8vIFNpemUgbW9kaWZpZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cblxuLy8gQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cblxuXG4vLyBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiBDb2x1bW5cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBCYWNrZ3JvdW5kXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fSIsIi8vXG4vLyBDb21wb25lbnQ6IEFsaWduXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stYWxpZ24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBVdGlsaXR5XG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBQYW5lbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBhbmVsLXNjcm9sbGFibGUoKXt9XG5cblxuLy8gQm94LXNoYWRvdyBib3R0b21cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpe31cblxuXG4vLyBEcm9wIGNhcFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIExlYWRlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWxlYWRlcigpe31cblxuXG4vLyBMb2dvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbG9nbygpe31cblxuLy8gQG1peGluIGhvb2stbG9nby1ob3Zlcigpe31cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogTWFyZ2luXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBNaXNjZWxsYW5lb3VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogUGFkZGluZ1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBQb3NpdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9IiwiLy9cbi8vIENvbXBvbmVudDogVHJhbnNpdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gTWlzY2VsbGFuZW91c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe30iLCIvL1xuLy8gQ29tcG9uZW50OiBJbnZlcnNlXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDb21wb25lbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlKCl7fSIsIi8vIEJhc2VcbkBpbXBvcnQgXCJ2YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIm1peGluLnNjc3NcIjtcbkBpbXBvcnQgXCJiYXNlLnNjc3NcIjtcblxuLy8gRWxlbWVudHNcbkBpbXBvcnQgXCJsaW5rLnNjc3NcIjtcbkBpbXBvcnQgXCJoZWFkaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJkaXZpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJsaXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJkZXNjcmlwdGlvbi1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCJ0YWJsZS5zY3NzXCI7XG5AaW1wb3J0IFwiaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwiZm9ybS1yYW5nZS5zY3NzXCI7XG5AaW1wb3J0IFwiZm9ybS5zY3NzXCI7IC8vIEFmdGVyOiBJY29uLCBGb3JtIFJhbmdlXG5AaW1wb3J0IFwiYnV0dG9uLnNjc3NcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwic2VjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiY29udGFpbmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCJ0aWxlLnNjc3NcIjtcbkBpbXBvcnQgXCJjYXJkLnNjc3NcIjtcblxuLy8gQ29tbW9uXG5AaW1wb3J0IFwiY2xvc2Uuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcInNwaW5uZXIuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcInRvdG9wLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cbkBpbXBvcnQgXCJtYXJrZXIuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImFsZXJ0LnNjc3NcIjsgLy8gQWZ0ZXI6IENsb3NlXG5AaW1wb3J0IFwiYmFkZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcImxhYmVsLnNjc3NcIjtcbkBpbXBvcnQgXCJvdmVybGF5LnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cbkBpbXBvcnQgXCJhcnRpY2xlLnNjc3NcIjsgLy8gQWZ0ZXI6IFN1Ym5hdlxuQGltcG9ydCBcImNvbW1lbnQuc2Nzc1wiOyAvLyBBZnRlcjogU3VibmF2XG5AaW1wb3J0IFwic2VhcmNoLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cblxuLy8gTmF2c1xuQGltcG9ydCBcIm5hdi5zY3NzXCI7XG5AaW1wb3J0IFwibmF2YmFyLnNjc3NcIjsgLy8gQWZ0ZXI6IENhcmQsIEdyaWQsIE5hdiwgSWNvbiwgU2VhcmNoXG5AaW1wb3J0IFwic3VibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0YWIuc2Nzc1wiO1xuQGltcG9ydCBcInNsaWRlbmF2LnNjc3NcIjsgLy8gQWZ0ZXI6IEljb25cbkBpbXBvcnQgXCJkb3RuYXYuc2Nzc1wiO1xuXG4vLyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwiYWNjb3JkaW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJkcm9wLnNjc3NcIjsgLy8gQWZ0ZXI6IENhcmRcbkBpbXBvcnQgXCJkcm9wZG93bi5zY3NzXCI7IC8vIEFmdGVyOiBDYXJkXG5AaW1wb3J0IFwibW9kYWwuc2Nzc1wiOyAvLyBBZnRlcjogQ2xvc2VcbkBpbXBvcnQgXCJsaWdodGJveC5zY3NzXCI7IC8vIEFmdGVyOiBDbG9zZVxuQGltcG9ydCBcInN0aWNreS5zY3NzXCI7XG5AaW1wb3J0IFwib2ZmY2FudmFzLnNjc3NcIjtcbkBpbXBvcnQgXCJzd2l0Y2hlci5zY3NzXCI7XG4vLyBTY3JvbGxzcHlcbi8vIFRvZ2dsZVxuLy8gU2Nyb2xsXG5cbi8vIEFkZGl0aW9uYWxcbkBpbXBvcnQgXCJpY29ubmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJub3RpZmljYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJwcm9ncmVzcy5zY3NzXCI7XG5AaW1wb3J0IFwic29ydGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvdW50ZG93bi5zY3NzXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcImFuaW1hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwid2lkdGguc2Nzc1wiO1xuQGltcG9ydCBcInRleHQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbHVtbi5zY3NzXCI7XG5AaW1wb3J0IFwiY292ZXIuc2Nzc1wiO1xuQGltcG9ydCBcImJhY2tncm91bmQuc2Nzc1wiO1xuQGltcG9ydCBcImFsaWduLnNjc3NcIjtcbkBpbXBvcnQgXCJ1dGlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJmbGV4LnNjc3NcIjsgLy8gQWZ0ZXI6IFV0aWxpdHlcbkBpbXBvcnQgXCJtYXJnaW4uc2Nzc1wiO1xuQGltcG9ydCBcInBhZGRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcInBvc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJ2aXNpYmlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJpbnZlcnNlLnNjc3NcIjtcblxuLy8gTmVlZCB0byBiZSBsb2FkZWQgbGFzdFxuQGltcG9ydCBcInByaW50LnNjc3NcIjsiLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBWYXJpYWJsZXNcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBjb21tb24gdmFsdWVzIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEJyZWFrcG9pbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUGhvbmUgUG9ydHJhaXQ6ICAgR2FsYXh5ICgzNjB4NjQwKSwgaVBob25lIDYgKDM3NXg2NjcpLCBpUGhvbmUgNisgKDQxNHg3MzYpXG4vLyBQaG9uZSBMYW5kc2NhcGU6ICBHYWxheHkgKDY0MHgzNjApLCBpUGhvbmUgNiAoNjY3eDM3NSksIGlQaG9uZSA2KyAoNzM2eDQxNClcbi8vIFRhYmxldCBQb3J0cmFpdDogIGlQYWQgKDc2OHgxMDI0KSwgR2FsYXh5IFRhYiAoODAweDEyODApLFxuLy8gVGFibGV0IExhbmRzY2FwZTogaVBhZCAoMTAyNHg3NjgpLCBpUGFkIFBybyAoMTAyNHgxMzY2KSxcbi8vIERlc2t0b3A6ICAgICAgICAgIEdhbGF4eSBUYWIgKDEyODB4ODAwKSwgaVBhZCBQcm8gKDEzNjZ4MTAyNClcblxuJGJyZWFrcG9pbnQtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjQwcHggIWRlZmF1bHQ7ICAvLyBQaG9uZSBsYW5kc2NhcGVcbiRicmVha3BvaW50LW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MHB4ICFkZWZhdWx0OyAgLy8gVGFibGV0IExhbmRzY2FwZVxuJGJyZWFrcG9pbnQtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0OyAvLyBEZXNrdG9wXG4kYnJlYWtwb2ludC14bGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjAwcHggIWRlZmF1bHQ7IC8vIExhcmdlIFNjcmVlbnNcblxuJGJyZWFrcG9pbnQteHNtYWxsLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRicmVha3BvaW50LXNtYWxsIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbC1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcblxuXG4vLyBHbG9iYWwgdmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRnbG9iYWwtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0OyAgICAgIC8vIDI0cHhcblxuJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgIDIuNjI1cmVtICFkZWZhdWx0OyAvLyA0MnB4XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgICAgIC8vIDMycHhcbiRnbG9iYWwtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7ICAgLy8gMjRweFxuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7ICAvLyAyMHB4XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgMC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0cHhcblxuLy9cbi8vIENvbG9yc1xuLy9cblxuJGdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2NjYgIWRlZmF1bHQ7XG4kZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4kZ2xvYmFsLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzFlODdmMCAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjMGY2ZWNkICFkZWZhdWx0O1xuXG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuLy9cbi8vIEJhY2tncm91bmRzXG4vL1xuXG4kZ2xvYmFsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzFlODdmMCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuXG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzMyZDI5NiAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjZmFhMDVhICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICNmMDUwNmUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCb3JkZXJzXG4vL1xuXG4kZ2xvYmFsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCb3gtU2hhZG93c1xuLy9cblxuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgIDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDE0cHggMjVweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgIDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBTcGFjaW5nc1xuLy9cblxuLy8gVXNlZCBpbiBtYXJnaW4sIHNlY3Rpb24sIGxpc3RcbiRnbG9iYWwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0MHB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGluIGdyaWQsIGNvbHVtbiwgY29udGFpbmVyLCBhbGlnbiwgY2FyZCwgcGFkZGluZ1xuJGdsb2JhbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcwcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBDb250cm9sc1xuLy9cblxuJGdsb2JhbC1jb250cm9sLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1NXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gWi1pbmRleFxuLy9cblxuJGdsb2JhbC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7IiwiLy9cbi8vIENvbXBvbmVudDogICAgICAgTWl4aW5cbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBtaXhpbnMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gU1ZHXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQG1peGluIHN2Zy1maWxsKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KXtcblxuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpICFkZWZhdWx0O1xuICAgICRyZXBsYWNlLXNyYzogc3RyLXJlcGxhY2UoJHJlcGxhY2Utc3JjLCBcIiNcIiwgXCIlMjNcIik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHF1b3RlKCRyZXBsYWNlLXNyYykpO1xufSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFzZVxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZhdWx0IHZhbHVlcyBmb3IgSFRNTCBlbGVtZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oMWAsIGB1ay1oMmAsIGB1ay1oM2AsIGB1ay1oNGAsIGB1ay1oNWAsIGB1ay1oNmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYXNlLWJvZHktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJhc2UtcHJlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHRtbCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1ib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYm9keS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWJvZHktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJvZHktbGluZS1oZWlnaHQ7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYmFja2dyb3VuZDogJGJhc2UtYm9keS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1ib2R5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJvZHkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmVzIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gICAgLyogMSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG5hLFxuLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmsoKTt9XG59XG5cbmE6aG92ZXIsXG4udWstbGluazpob3ZlciB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuLyogMSAqL1xuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qIDIgKi9cbmIsXG5zdHJvbmcgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb25zb2xhcyBoYXMgYSBiZXR0ZXIgYmFzZWxpbmUgaW4gcnVubmluZyB0ZXh0IGNvbXBhcmVkIHRvIGBDb3VyaWVyYFxuICogMy4gU3R5bGVcbiAqL1xuXG46bm90KHByZSkgPiBjb2RlLFxuOm5vdChwcmUpID4ga2JkLFxuOm5vdChwcmUpID4gc2FtcCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtY29kZS1mb250LXNpemU7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5O1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJGJhc2UtY29kZS1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWNvZGUoKTt9XG59XG5cbi8qXG4gKiBFbXBoYXNpemVcbiAqL1xuXG5lbSB7IGNvbG9yOiAkYmFzZS1lbS1jb2xvcjsgfVxuXG4vKlxuICogSW5zZXJ0XG4gKi9cblxuaW5zIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1pbnMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtaW5zLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIE1hcmtcbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1tYXJrLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLW1hcmstY29sb3I7XG59XG5cbi8qXG4gKiBRdW90ZVxuICovXG5cbnEgeyBmb250LXN0eWxlOiAkYmFzZS1xdW90ZS1mb250LXN0eWxlOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7IGZvbnQtc2l6ZTogJGJhc2Utc21hbGwtZm9udC1zaXplOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHsgdG9wOiAtMC41ZW07IH1cbnN1YiB7IGJvdHRvbTogLTAuMjVlbTsgfVxuXG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBlbWJlZGRlZCBjb250ZW50IGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAyLiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmltZyxcbnZpZGVvIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcgeyBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNiB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRiYXNlLWhlYWRpbmctY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWJhc2UtaGVhZGluZygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgYW5kIGhlaWdodCBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBBZGQgdGhlIGNvcnJlY3QgdGV4dC1hbGlnbiBpbiBFZGdlIGFuZCBJRS5cbiAqIDQuIFN0eWxlXG4gKi9cblxuaHIsIC51ay1ociB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMyAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1oci1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtaHItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ocigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHsgbWFyZ2luLXRvcDogJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIH1cblxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHsgbWFyZ2luLXRvcDogJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbn1cblxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIE92ZXJyaWRlIFVBXG4gKi9cblxucHJlIHtcbiAgICBmb250OiAkYmFzZS1wcmUtZm9udC1zaXplIHVucXVvdGUoXCIvXCIpICRiYXNlLXByZS1saW5lLWhlaWdodCAkYmFzZS1wcmUtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRiYXNlLXByZS1jb2xvcjtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1wcmUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLXByZSgpO31cbn1cblxucHJlIGNvZGUgeyBmb250LWZhbWlseTogJGJhc2UtcHJlLWZvbnQtZmFtaWx5OyB9XG5cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLCAvKiAxICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbiwgLyogMiAqL1xubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkgeyAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSwgLyogMSAqL1xuW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaWZyYW1lIHsgYm9yZGVyOiAwOyB9XG5cblxuLyogUHJldmVudCB0aGUgMzAwbXMgZGVsYXkgZm9yIHRvdWNoc2NyZWVuIGludGVyYWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNb3N0IGJyb3dzZXJzIHByZXZlbnQgdGhlIDMwMG1zIGRlbGF5IGF1dG9tYXRpY2FsbHkgZm9yIHNpdGVzIHRoYXQgdXNlIHRoZSBgd2lkdGg9ZGV2aWNlLXdpZHRoYCBwcm9wZXJ0eS5cbiAqIEZvciBTYWZhcmkgb24gaU9TIDkuMyssIElFIDExIGFuZCBFZGdlIG9uIGRlc2t0b3BzIGFuZCBJRSAxMSBvbiBXaW5kb3dzIFBob25lIDguMSBpdCBtdXN0IGJlIGFwcGxpZWQgbWFudWFsbHkuXG4gKi9cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHsgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLnZhci1tZWRpYS1zOmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1zbWFsbH0nOyB9XG4udmFyLW1lZGlhLW06YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LW1lZGl1bX0nOyB9XG4udmFyLW1lZGlhLWw6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LWxhcmdlfSc7IH1cbi52YXItbWVkaWEteGw6YmVmb3JlIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQteGxhcmdlfSc7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYXNlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1wcmUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaW5rXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlua3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1yZXNldGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlua1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogTXV0ZWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay1tdXRlZCBhIHtcbiAgICBjb2xvcjogJGxpbmstbXV0ZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1saW5rLW11dGVkKCk7fVxufVxuXG5hLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4udWstbGluay1tdXRlZCBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLW11dGVkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBpbnZlcnNlIGNvbXBvbmVudFxuICovXG5cbmEudWstbGluay10ZXh0Om5vdCg6aG92ZXIpLFxuLnVrLWxpbmstdGV4dCBhOm5vdCg6aG92ZXIpIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQoKTt9XG59XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay10ZXh0LWhvdmVyKCk7fVxufVxuXG5cbi8qIFJlc2V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuXG5hLnVrLWxpbmstcmVzZXQsXG5hLnVrLWxpbmstcmVzZXQ6aG92ZXIsXG4udWstbGluay1yZXNldCBhLFxuLnVrLWxpbmstcmVzZXQgYTpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1yZXNldCkpIHtAaW5jbHVkZSBob29rLWxpbmstcmVzZXQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1taXNjKSkge0BpbmNsdWRlIGhvb2stbGluay1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWFkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgaGVhZGluZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWFkaW5nLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWhlcm9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctbGluZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAzLjc1cmVtICFkZWZhdWx0OyAvLyA1NHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LW06ICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgLy8gNjRweFxuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtczogICAgICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7IC8vIDk2cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtczogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgLy8gMTI4cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlYWRpbmctYnVsbGV0LXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAwLjllbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgIDAuNmVtICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQcmltYXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1wcmltYXJ5KCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LW07XG4gICAgfVxuXG59XG5cblxuLyogSGVyb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWhlcm8ge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctaGVybygpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtcztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tO1xuICAgIH1cblxufVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIEJ1bGxldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gVXNpbmcgYGlubGluZS1ibG9ja2AgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnbm1lbnRcbiAqIDIuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRoZWFkaW5nLWJ1bGxldC10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgaGVpZ2h0OiAkaGVhZGluZy1idWxsZXQtaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDtcbiAgICBib3JkZXItbGVmdDogJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctYnVsbGV0KCk7fVxufVxuXG5cbi8qIExpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeHRyYSBtYXJrdXAgaXMgbmVlZGVkIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25cbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+IDpiZWZvcmUsXG4udWstaGVhZGluZy1saW5lID4gOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB1bnF1b3RlKCdjYWxjKDUwJSAtICgjeyRoZWFkaW5nLWxpbmUtaGVpZ2h0fSAvIDIpKScpO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMjAwMHB4O1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1saW5lKCk7fVxufVxuXG4udWstaGVhZGluZy1saW5lID4gOmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuLnVrLWhlYWRpbmctbGluZSA+IDphZnRlciB7XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERpdmlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBkaXZpZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRpdmlkZXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItc21hbGxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGl2aWRlci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTNFJTNDJTJGY2lyY2xlJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBkZWZhdWx0IGBocmBcbiAqIDIuIFNldCBtYXJnaW4gaWYgYSBgZGl2YCBpcyB1c2VkIGZvciBzZW1hbnRpY2FsIHJlYXNvblxuICovXG5cbltjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWJvdHRvbTogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsO1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBbY2xhc3MqPSd1ay1kaXZpZGVyJ10geyBtYXJnaW4tdG9wOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGRpdmlkZXItaWNvbi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRkaXZpZGVyLWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkZGl2aWRlci1pY29uLWxpbmUtdG9wO1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgLSAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIGJvcmRlci1ib3R0b206ICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZSgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlIHtcbiAgICByaWdodDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgbGVmdDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKTt9XG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgY2hpbGQgaGVpZ2h0LCBjYXVzZWQgYnkgYGlubGluZS1ibG9ja2BcbiAqL1xuXG4udWstZGl2aWRlci1zbWFsbCB7IGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRkaXZpZGVyLXNtYWxsLXdpZHRoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAkZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLXNtYWxsKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIExpc3Rcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpc3RgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGlzdC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zdHJpcGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1idWxsZXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRsaXN0LWJ1bGxldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpc3QtYnVsbGV0LXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWxpc3QgPiBsaTo6YmVmb3JlLFxuLnVrLWxpc3QgPiBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1saXN0ID4gbGk6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1saXN0ID4gbGkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIE5lc3RlZCBsaXN0c1xuICovXG5cbi51ay1saXN0IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbi51ay1saXN0ID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdCA+IGxpID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1tYXJnaW4tdG9wOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1saXN0LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kOiAkbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogQnVsbGV0XG4gKi9cblxuLnVrLWxpc3QtYnVsbGV0ID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IHVucXVvdGUoJ2NhbGMoI3skbGlzdC1idWxsZXQtd2lkdGh9ICsgI3skbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0fSknKTtcbn1cblxuLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRsaXN0LWJ1bGxldC13aWR0aDtcbiAgICBoZWlnaHQ6ICRsaXN0LWJ1bGxldC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlLCBcIiMwMDBcIiwgJGxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1saXN0LWJ1bGxldCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3QtbGFyZ2UgPiBsaTpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWxhcmdlID4gbGkgPiB1bCB7IG1hcmdpbi10b3A6ICRsaXN0LWxhcmdlLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gbGkge1xuICAgIHBhZGRpbmc6ICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbCAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stbGlzdC1zdHJpcGVkKCk7fVxufVxuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGVzY3JpcHRpb24gbGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXJtXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gICAgY29sb3I6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpO31cbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGRkIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbikpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGluZVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGggc29saWQgJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGFibGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFibGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFibGUtbWlkZGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtanVzdGlmeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNocmlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1yZXNwb25zaXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuXG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUpKSB7QGluY2x1ZGUgaG9vay10YWJsZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXRhYmxlIHsgbWFyZ2luLXRvcDogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKTt9XG59XG5cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNlbGwoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGZvb3Qge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3Rlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWZvb3RlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2FwdGlvbigpO31cbn1cblxuXG4vKiBSb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXN0cmlwZWQoKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaG92ZXIoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc21hbGwoKTt9XG59XG5cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cblxuLyogQ2VsbCBzaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNocmluayB7IHdpZHRoOiAxcHg7IH1cbi51ay10YWJsZS1leHBhbmQgeyBtaW4td2lkdGg6ICR0YWJsZS1leHBhbmQtbWluLXdpZHRoOyB9XG5cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG5cbi51ay10YWJsZS1saW5rIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51ay10YWJsZS1saW5rID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEgeyBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLXRvcDogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLWJvdHRvbTogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb24taW1hZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRpY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogNy4gUmVxdWlyZWQgZm9yIGBidXR0b25gLlxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA2LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogNyAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLnVrLWljb24gW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1pY29uIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWljb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm0gUmFuZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0aGUgcmFuZ2UgaW5wdXQgdHlwZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXJhbmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG5cbi51ay1yYW5nZSB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLyogNiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAoZmxvb3IoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMikgKiAtMSk7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogVHJhY2tcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLyogMSAqL1xuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm1cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBmb3Jtc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VsZWN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGV4dGFyZWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yYWRpb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNoZWNrYm94YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVnZW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmllbGRzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstZm9ybS1jdXN0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN0YWNrZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWhvcml6b250YWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhYmVsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9sc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbi1mbGlwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWZvcm0tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWJsYW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9scy10ZXh0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXdpZHRoLXhzbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUzRSUzQyUyRmNpcmNsZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUzRSUzQyUyRnJlY3QlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbi51ay10ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHsgcGFkZGluZzogMDsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwICRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybSkpIHtAaW5jbHVkZSBob29rLWZvcm0oKTt9XG59XG5cbi8qXG4gKiBTaW5nbGUtbGluZVxuICogMS4gQWxsb3cgYW55IGVsZW1lbnQgdG8gbG9vayBsaWtlIGFuIGBpbnB1dGAgb3IgYHNlbGVjdGAgZWxlbWVudFxuICogMi4gTWFrZSBzdXJlIGxpbmUtaGVpZ2h0IGlzIG5vdCBsYXJnZXIgdGhhbiBoZWlnaHRcbiAqICAgIEFsc28gbmVlZGVkIHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0taGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zaW5nbGUtbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tc2luZ2xlLWxpbmUoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1tdWx0aS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1tdWx0aS1saW5lKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1mb2N1cy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tZm9jdXMoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbi51ay1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG4udWstaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuLnVrLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cbi51ay10ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstZm9ybS1zbWFsbCB7IGZvbnQtc2l6ZTogJGZvcm0tc21hbGwtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstZm9ybS1sYXJnZSB7IGZvbnQtc2l6ZTogJGZvcm0tbGFyZ2UtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1saW5lLWhlaWdodDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXJyb3JcbiAqL1xuXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkZm9ybS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kYW5nZXIoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMgIHtcbiAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogQmxhbmtcbiAqL1xuXG4udWstZm9ybS1ibGFuayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuaykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmsoKTt9XG59XG5cbi51ay1mb3JtLWJsYW5rOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmstZm9jdXMoKTt9XG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRml4ZWQgd2lkdGhzXG4gKiBEaWZmZXJlbnQgd2lkdGhzIGZvciBtaW5pIHNpemVkIGBpbnB1dGAgYW5kIGBzZWxlY3RgIGVsZW1lbnRzXG4gKi9cblxuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgteHNtYWxsOyB9XG5cbnNlbGVjdC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAoJGZvcm0td2lkdGgteHNtYWxsICsgMjVweCk7IH1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgtc21hbGw7IH1cblxuLnVrLWZvcm0td2lkdGgtbWVkaXVtIHsgd2lkdGg6ICRmb3JtLXdpZHRoLW1lZGl1bTsgfVxuXG4udWstZm9ybS13aWR0aC1sYXJnZSB7IHdpZHRoOiAkZm9ybS13aWR0aC1sYXJnZTsgfVxuXG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IE9ubHkgd29ya3MgaW4gQ2hyb21lLCBTYWZhcmksIE9wZXJhIGFuZCBFZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZm9ybS1yYWRpby1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1yYWRpby1tYXJnaW4tdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpbygpO31cbn1cblxuLnVrLXJhZGlvIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWZvY3VzKCk7fVxufVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG5cbi51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvbnNcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpO31cbn1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogTGVnZW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExlZ2VuZFxuICogMS4gQmVoYXZlIGxpa2UgYmxvY2sgZWxlbWVudFxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstbGVnZW5kIHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250LXNpemU6ICRmb3JtLWxlZ2VuZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sZWdlbmQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxlZ2VuZCgpO31cbn1cblxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIDEuIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIGZvcm0gY29udHJvbCB0byBhbHdheXMgY292ZXIgaXRzIGNvbnRhaW5lclxuICogMi4gUmVxdWlyZWQgZm9yIEZpcmVmb3ggZm9yIHBvc2l0aW9uaW5nIHRvIHRoZSBsZWZ0XG4gKiAzLiBSZXF1aXJlZCBmb3IgV2Via2l0IHRvIG1ha2UgYGhlaWdodGAgd29ya1xuICogNC4gSGlkZSBjb250cm9sZSBhbmQgc2hvdyBjdXJzb3JcbiAqIDUuIE5lZWRlZCBmb3IgdGhlIGN1cnNvclxuICogNi4gQ2xpcCBoZWlnaHQgY2F1c2VkIGJ5IDUuIE5lZWRlZCBmb3IgV2Via2l0IG9ubHlcbiAqL1xuXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgbGVmdDogMDtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDQgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAvKiA1ICovXG4gICAgZm9udC1zaXplOiA1MDBweDtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1mb3JtLWxhYmVsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGFiZWwoKTt9XG59XG5cblxuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN0YWNrZWRcbiAqL1xuXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbn1cblxuLypcbiAqIEhvcml6b250YWxcbiAqL1xuXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC8qIEJlaGF2ZSBsaWtlIGB1ay1mb3JtLXN0YWNrZWRgICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b207XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCk7fVxuICAgIH1cblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMgeyBtYXJnaW4tbGVmdDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDsgfVxuXG4gICAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzLXRleHQgeyBwYWRkaW5nLXRvcDogJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOyB9XG5cbn1cblxuXG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNldCB3aWR0aFxuICogMy4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1mb3JtLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogJGZvcm0taWNvbi13aWR0aDtcbiAgICAvKiAzICovXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiA0ICovXG4gICAgY29sb3I6ICRmb3JtLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1mb3JtLWljb246aG92ZXIgeyBjb2xvcjogJGZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBJbnB1dCBwYWRkaW5nXG4gKi9cblxuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSArIC51ay1pbnB1dCB7IHBhZGRpbmctbGVmdDogJGZvcm0taWNvbi13aWR0aDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstZm9ybS1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51ay1mb3JtLWljb24tZmxpcCArIC51ay1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICRmb3JtLWljb24td2lkdGg7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnV0dG9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgYnV0dG9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJ1dHRvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1idXR0b24tZ3JvdXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYnV0dG9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1sYXJnZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJ1dHRvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA0LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA2LiBTdHlsZVxuICogNy4gYGxpbmUtaGVpZ2h0YCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGhlaWdodCBiZWNhdXNlIGl0IGFsc28gY2VudGVycyB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGZvciBgYWAgZWxlbWVudHMuXG4gKiAgICBCZXR0ZXIgd291bGQgYmUgdG8gdXNlIGhlaWdodCBhbmQgZmxleGJveCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseSBidXQgZmxleGJveCBkb2Vzbid0IHdvcmsgaW4gRmlyZWZveCBvbiBgYnV0dG9uYCBlbGVtZW50cy5cbiAqIDguIEFsaWduIHRleHQgaWYgYnV0dG9uIGhhcyBhIHdpZHRoXG4gKiA5LiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1idXR0b24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDYgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA3ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOCAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiA5ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1idXR0b24oKTt9XG59XG5cbi51ay1idXR0b246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgICAvKiA4ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZm9jdXMoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4udWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWJ1dHRvbi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1idXR0b24tc21hbGwge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNtYWxsKCk7fVxufVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1sYXJnZSgpO31cbn1cblxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXh0XG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLXRleHQge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogTGlua1xuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1saW5rKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxpbmsoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFVzaW5nIGBmbGV4YCBpbnN0ZWFkIG9mIGBpbmxpbmUtYmxvY2tgIHRvIHByZXZlbnQgd2hpdGVzcGFjZSBiZXR3ZWVudCBjaGlsZCBlbGVtZW50c1xuICogMi4gQmVoYXZlIGxpa2UgYnV0dG9uXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG5cbi51ay1idXR0b24tZ3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VjdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbGF5b3V0IHNlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWN0aW9uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNlY3Rpb24teHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbWVkaWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW92ZXJsYXBgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIGAxMDB2aGAgYW5kIGhlaWdodCBpbiBnZW5lcmFsXG4gKi9cblxuLnVrLXNlY3Rpb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbikpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24oKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstc2VjdGlvbjo6YmVmb3JlLFxuLnVrLXNlY3Rpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstc2VjdGlvbjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXByaW1hcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKlxuICogSW5kaWNhdGUgdGhhdCBhbiBpbWFnZSBvciB2aWRlbyBpcyB1c2VkIGFzIGJhY2tncm91bmRcbiAqL1xuXG4udWstc2VjdGlvbi1tZWRpYSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWVkaWEpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW1lZGlhKCk7fVxufVxuXG4vKiBPdmVybGFwIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG4udWstc2VjdGlvbi1vdmVybGFwIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1vdmVybGFwKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1vdmVybGFwKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWVkaWEoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW92ZXJsYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBDb250YWluZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGFsaWduIGFuZCBjZW50ZXIgeW91ciBzaXRlIGFuZCBncmlkIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb250YWluZXJgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstY29udGFpbmVyLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29udGFpbmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG5cbi51ay1jb250YWluZXIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstY29udGFpbmVyOjpiZWZvcmUsXG4udWstY29udGFpbmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNvbnRhaW5lcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG5cbi51ay1jb250YWluZXIgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItbGFyZ2UgeyBtYXgtd2lkdGg6ICRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29udGFpbmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb250YWluZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBHcmlkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcmVzcG9uc2l2ZSwgZmx1aWQgYW5kIG5lc3RhYmxlIGdyaWRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZ3JpZGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ncmlkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1jb2xsYXBzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWF0Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tY29sbGFwc2VgXG4vL1xuLy8gU3ViLW1vZGlmaWVyOiAgICBgdWstZ3JpZC1pdGVtLW1hdGNoYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWZpcnN0LWNvbHVtbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgY2VsbHMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RzXG4gKi9cblxuLnVrLWdyaWQge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEdyaWQgY2VsbFxuICogTm90ZTogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogUmVzZXQgbWFyZ2luIGZvciBlLmcuIHBhcmFncmFwaHNcbiAqL1xuXG4udWstZ3JpZCA+ICogeyBtYXJnaW46IDA7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1ncmlkID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEd1dHRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQsXG4udWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQsXG4gICAgLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIENvbGxhcHNlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2UgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWdyaWQtY29sbGFwc2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLWxlZnQ6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogTWF0Y2ggY2hpbGQgb2YgYSBncmlkIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cblxuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICAtbXMtZmxleDogYXV0bztcbiAgICAtd2Via2l0LWZsZXg6IGF1dG87XG4gICAgZmxleDogYXV0bztcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ncmlkLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1ncmlkLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRpbGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aWxlZCBib3hlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRpbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGlsZS14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUteGxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1tdXRlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc2Vjb25kYXJ5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLXByZXNlcnZlLWNvbG9yYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAgKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcblxuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGlsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10aWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUpKSB7QGluY2x1ZGUgaG9vay10aWxlKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay10aWxlOjpiZWZvcmUsXG4udWstdGlsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay10aWxlOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGlsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay10aWxlLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXRpbGUtc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstdGlsZS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUtbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUteGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXRpbGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay10aWxlLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay10aWxlLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW11dGVkKSkge0BpbmNsdWRlIGhvb2stdGlsZS1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtcHJpbWFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1zZWNvbmRhcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aWxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRpbGUoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENhcmRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBib3hlZCBjb250ZW50IGNvbnRhaW5lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jYXJkYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNhcmQtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLW1lZGlhLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1iYWRnZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jYXJkLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1sYXJnZWBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kY2FyZC1iYWRnZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXJkLWJhZGdlLXRvcCAhZGVmYXVsdDtcblxuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcblxuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2FyZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZCkpIHtAaW5jbHVkZSBob29rLWNhcmQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAkY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYm9keSgpO31cbn1cblxuLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1mb290ZXIoKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWNhcmQtYm9keTo6YmVmb3JlLFxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmJlZm9yZSxcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jYXJkLWJvZHk6OmFmdGVyLFxuLnVrLWNhcmQtaGVhZGVyOjphZnRlcixcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWNhcmQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBNZWRpYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNlcnZlZCBhbGlnbm1lbnQgbW9kaWZpZXIgdG8gc3R5bGUgdGhlIG1lZGlhIGVsZW1lbnQsIGUuZy4gd2l0aCBgYm9yZGVyLXJhZGl1c2BcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG5cbltjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS10b3AsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLWxlZnQsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0ICB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtdG9wKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS10b3AoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtYm90dG9tKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtbGVmdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtbGVmdCgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1yaWdodCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNhcmQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY2FyZC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtdGl0bGUoKTt9XG59XG5cblxuLyogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGNhcmQtYmFkZ2UtdG9wO1xuICAgIHJpZ2h0OiAkY2FyZC1iYWRnZS1yaWdodDtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIEhvdmVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtaG92ZXI6bm90KC51ay1jYXJkLWRlZmF1bHQpOm5vdCgudWstY2FyZC1wcmltYXJ5KTpub3QoLnVrLWNhcmQtc2Vjb25kYXJ5KTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqIE5vdGU6IEhlYWRlciBhbmQgRm9vdGVyIGFyZSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgZGVmYXVsdCBzdHlsZVxuICovXG5cbi51ay1jYXJkLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0KCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWhlYWRlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWZvb3RlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1jYXJkLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5KCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5KCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1jYXJkLXNtYWxsLnVrLWNhcmQtYm9keSxcbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtbGFyZ2UudWstY2FyZC1ib2R5LFxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNhcmQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENsb3NlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBjbG9zZSBidXR0b25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jbG9zZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDbG9zZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLWNsb3NlIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWNsb3NlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstY2xvc2U6aG92ZXIsXG4udWstY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1taXNjKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNwaW5uZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGxvYWRpbmcgc3Bpbm5lclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNwaW5uZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNwaW5uZXItc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcigoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgLyAyKSAhZGVmYXVsdDsgLy8gTWludXMgc3Ryb2tlIHdpZHRoIHRvIHByZXZlbnQgb3ZlcmZsb3cgY2xpcHBpbmdcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNHMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNwaW5uZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1zcGlubmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lcikpIHtAaW5jbHVkZSBob29rLXNwaW5uZXIoKTt9XG59XG5cblxuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNwaW5uZXIgPiAqIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgJHNwaW5uZXItZHVyYXRpb24gbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgJHNwaW5uZXItZHVyYXRpb24gbGluZWFyIGluZmluaXRlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG59XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoICRzcGlubmVyLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoICRzcGlubmVyLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIHN0cm9rZS13aWR0aDogJHNwaW5uZXItc3Ryb2tlLXdpZHRoO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLXNwaW5uZXItZGFzaCB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTsgfVxuICAgIDUwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlLzQ7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZS80O1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpO1xuICAgIH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvdG9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gaWNvbiB0byBzY3JvbGwgYmFjayB0byB0b3Bcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b3RvcGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG90b3AtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG90b3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstdG90b3Age1xuICAgIHBhZGRpbmc6ICR0b3RvcC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkdG90b3AtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wKSkge0BpbmNsdWRlIGhvb2stdG90b3AoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10b3RvcDpob3Zlcixcbi51ay10b3RvcDpmb2N1cyB7XG4gICAgY29sb3I6ICR0b3RvcC1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRvdG9wLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstdG90b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogJHRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdG90b3AtYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFya2VyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBtYXJrZXIgaWNvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmtlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbWFya2VyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFya2VyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLW1hcmtlciB7XG4gICAgcGFkZGluZzogJG1hcmtlci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtYXJrZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1hcmtlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbWFya2VyOmhvdmVyLFxuLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRtYXJrZXItaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsZXJ0XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWxlcnQgbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbGVydGBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1hbGVydC1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbGVydC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFsZXJ0LWNsb3NlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuXG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxlcnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nLXJpZ2h0ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0KSkge0BpbmNsdWRlIGhvb2stYWxlcnQoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1hbGVydCB7IG1hcmdpbi10b3A6ICRhbGVydC1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1hbGVydCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgICByaWdodDogJGFsZXJ0LWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXIgKyBGb2N1c1xuICovXG5cbi51ay1hbGVydC1jbG9zZTpob3Zlcixcbi51ay1hbGVydC1jbG9zZTpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1hbGVydC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFkZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gYmFkZ2VzXG5cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhZGdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWRnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstYmFkZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkYmFkZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRiYWRnZS1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFkZ2Utc2l6ZTtcbiAgICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbCAkYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYWRnZS1ib3JkZXItcmFkaXVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWJhZGdlKCk7fVxufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1iYWRnZTpob3Zlcixcbi51ay1iYWRnZTpmb2N1cyB7XG4gICAgY29sb3I6ICRiYWRnZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBMYWJlbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gaW5kaWNhdGUgaW1wb3J0YW50IG5vdGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGFiZWxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGFiZWwtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsICRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsYWJlbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stbGFiZWwoKTt9XG59XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbGFiZWwtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1sYWJlbC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbGFiZWwtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWxhYmVsLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBPdmVybGF5XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgY29udGVudCBhcmVhcyBvdmVybGF5aW5nIGFuIGltYWdlXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstb3ZlcmxheWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vdmVybGF5LWljb25gXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstb3ZlcmxheS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmxheS1wcmltYXJ5YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXkge1xuICAgIHBhZGRpbmc6ICRvdmVybGF5LXBhZGRpbmctdmVydGljYWwgJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1vdmVybGF5ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5LWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWljb24pKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWljb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstb3ZlcmxheS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstb3ZlcmxheS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktcHJpbWFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFydGljbGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhcnRpY2xlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFydGljbGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYXJ0aWNsZS10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFydGljbGUtbWV0YWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBcnRpY2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZSgpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWFydGljbGU6OmJlZm9yZSxcbi51ay1hcnRpY2xlOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFydGljbGU6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1hcnRpY2xlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogQWRqYWNlbnQgc2libGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlICsgLnVrLWFydGljbGUge1xuICAgIG1hcmdpbi10b3A6ICRhcnRpY2xlLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtdGl0bGUoKTt9XG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWV0YSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBDb21tZW50XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbmVzdGVkIGNvbW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29tbWVudGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb21tZW50LWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LW1ldGFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWF2YXRhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbGlzdGBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb21tZW50LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kY29tbWVudC1saXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06ICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29tbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1ib2R5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1ib2R5KCk7fVxufVxuXG4udWstY29tbWVudC1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstY29tbWVudC1ib2R5OjpiZWZvcmUsXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNvbW1lbnQtYm9keTo6YWZ0ZXIsXG4udWstY29tbWVudC1oZWFkZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb21tZW50LWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jb21tZW50LWhlYWRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtdGl0bGUoKTt9XG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjb21tZW50LW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWV0YSgpO31cbn1cblxuXG4vKiBBdmF0YXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1hdmF0YXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWF2YXRhcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYXZhdGFyKCk7fVxufVxuXG5cbi8qIExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0ID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG5cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7XG4gICAgbWFyZ2luOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3AgMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1YigpO31cbn1cblxuLyogVGFibGV0IGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7IHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTsgfVxuXG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1wcmltYXJ5KCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29tbWVudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTZWFyY2hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aGUgc2VhcmNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VhcmNoYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNlYXJjaC1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC10b2dnbGVgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstc2VhcmNoLWljb25gXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstc2VhcmNoLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbmF2YmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzZWFyY2gtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VhcmNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBSZXNldCBgZm9ybWBcbiAqL1xuXG4udWstc2VhcmNoIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8qIElucHV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDUuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKiA3LiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDguIFRha2UgdGhlIGZ1bGwgY29udGFpbmVyIHdpZHRoXG4gKiA5LiBTdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDYgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNyAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogOCAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDkgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICRzZWFyY2gtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1pbnB1dCgpO31cbn1cblxuLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLyogUGxhY2Vob2xkZXIgKi9cbi51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqIFJlcXVpcmVkIGZvciBgYnV0dG9uYFxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDQuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA1LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IGBidXR0b25gIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgY29sb3JcbiAqIDcuIFJlcXVpcmVkIGZvciBgYnV0dG9uYC5cbiAqL1xuXG4udWstc2VhcmNoLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDYuICovXG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiA3ICovXG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC4gUmVxdWlyZWQgZm9yIGBidXR0b25gLlxuICovXG5cbi51ay1zZWFyY2gtaWNvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaWNvbjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgeyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uLWZsaXAgKyAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1uYXZiYXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLW5hdmJhci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24tZmxpcCArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aCk7IH1cblxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgeyB3aWR0aDogJHNlYXJjaC1sYXJnZS13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1sYXJnZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWxhcmdlLWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSArIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwICsgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC10b2dnbGUge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBzdHlsZXMgZm9yIGxpc3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXN1YmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1uYXYtcGFyZW50LWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWNlbnRlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG91Y2hgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG5cbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlM0UlM0MlMkZwb2x5bGluZSUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtb3Blbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTNFJTNDJTJGcG9seWxpbmUlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi8qIDEgKi9cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRuYXYtcGFyZW50LWljb24taGVpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2LXBhcmVudC1pY29uKCk7fVxufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAkbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsICRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZiYXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIG5hdmlnYXRpb24gYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmJhcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXZiYXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItaXRlbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3VidGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGJhcmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd25gICsgTW9kaWZpZXJzXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLWdyaWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2YmFyLXRyYW5zcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN0aWNreWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1zdGFja2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2YmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIGNlbnRlciBuYXZiYXIgZ3JvdXBcbiAqL1xuXG4udWstbmF2YmFyIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItY29udGFpbmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb24gKGlmIENvbnRhaW5lciBjb21wb25lbnQgaXMgdXNlZClcbiAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YmVmb3JlLFxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmFmdGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblxuLyogR3JvdXBzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIG5hdnMgYW5kIGl0ZW1zIHZlcnRpY2FsbHkgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IGhlaWdodFxuICogMi4gTm90ZTogSUUgMTEgcmVxdWlyZXMgYW4gZXh0cmEgYGRpdmAgd2hpY2ggYWZmZWN0cyB0aGUgY2VudGVyIHNlbGVjdG9yXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi8vIDIuIFtjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXInXSxcbi51ay1uYXZiYXItY2VudGVyLFxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCA+ICosXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCA+ICosIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIEhvcml6b250YWwgYWxpZ25tZW50XG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgY2VudGVyZWQgbmF2YmFyIHdpdGggc3ViIGdyb3VwcyAobGVmdC9yaWdodClcbiAqIDIuIE5lZWRlZCBmb3IgZHJvcGRvd25zIGJlY2F1c2UgYSBuZXcgcG9zaXRpb24gY29udGV4dCBpcyBjcmVhdGVkXG4gKiAgICBgei1pbmRleGAgbXVzdCBiZSBzbWFsbGVyIHRoYW4gb2ZmLWNhbnZhc1xuICogMy4gRml4IHRleHQgd3JhcHBpbmcgaWYgdGhlIGNlbnRlcmVkIHNlY3Rpb24gaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBuYXZiYXJcbiAqIDQuIEFsaWduIHN1YiBncm91cHMgZm9yIGNlbnRlcmVkIG5hdmJhclxuICovXG5cbi51ay1uYXZiYXItcmlnaHQgeyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvKiAyICovXG4gICAgei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMTA7XG59XG5cbi8qIDMgKi9cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItaXRlbSxcbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkgLnVrLW5hdmJhci10b2dnbGUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIDQgKi9cbi51ay1uYXZiYXItY2VudGVyLWxlZnQsXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG59XG5cbi51ay1uYXZiYXItY2VudGVyLWxlZnQgeyByaWdodDogMTAwJTsgfVxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgeyBsZWZ0OiAxMDAlOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10gLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItaXRlbSxcbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10gLnVrLW5hdmJhci10b2dnbGUgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cblxuLyogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1uYXYge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIE9ubHkgbm90IGBhYnNvbHV0ZWAgcG9zaXRpb25lZCBncm91cHNcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qXG4gKiBJdGVtc1xuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAgICAvLyBOYXYgaXRlbVxuLnVrLW5hdmJhci1pdGVtLCAgICAgICAgICAgIC8vIENvbnRlbnQgaXRlbVxuLnVrLW5hdmJhci10b2dnbGUgeyAgICAgICAgIC8vIENsaWNrYWJsZSBpdGVtXG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5O1xuICAgIC8qIDQgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWl0ZW0oKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci10b2dnbGUge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUoKTt9XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbjpob3ZlciA+IC51ay1uYXZiYXItdG9nZ2xlLWljb24sXG46Zm9jdXMgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN1YnRpdGxlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdHJhbnNwYXJlbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdHJhbnNwYXJlbnQpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKTt9XG59XG5cbi51ay1uYXZiYXItc3RpY2t5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN0aWNreSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdGlja3koKTt9XG59XG5cblxuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wZG93bmBcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbmF2YmFyLWRyb3Bkb3duLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRuYXZiYXItZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cblxuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogU3RhY2sgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tc3RhY2sgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDIpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogMyk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA0KTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDUpOyB9XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpO31cbn1cblxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3BiYXIoKTt9XG59XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGJhci1zbGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGJhci16LWluZGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbmF2YmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdHNcbiAqL1xuXG4udWstc3VibmF2IHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogVXNpbmcgYDpmaXJzdC1jaGlsZGAgaW5zdGVhZCBvZiBgYWAgdG8gc3VwcG9ydCBgc3BhbmAgZWxlbWVudHMgZm9yIHRleHRcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAtICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1sZWZ0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRzdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWwgJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJyZWFkY3J1bWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGJyZWFkY3J1bWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJyZWFkY3J1bWJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdHNcbiAqL1xuXG4udWstYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iKCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqIHtcbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3Zlcixcbi51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJyZWFkY3J1bWIgPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogJGJyZWFkY3J1bWItZGl2aWRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwICRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RzXG4gKi9cblxuLnVrLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleDogbm9uZTtcbiAgICAtd2Via2l0LWZsZXg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1wYWdpbmF0aW9uID4gKiA+IDpob3Zlcixcbi51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUYWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHRhYmJlZCBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFiYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRhYi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1yaWdodGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0c1xuICovXG5cbi51ay10YWIge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRhYi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiKSkge0BpbmNsdWRlIGhvb2stdGFiKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstdGFiID4gKiB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCb3R0b21cbiAqL1xuXG4udWstdGFiLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tKCk7fVxufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbS1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbS1pdGVtKCk7fVxufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdCkpIHtAaW5jbHVkZSBob29rLXRhYi1sZWZ0KCk7fVxufVxuXG4udWstdGFiLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0KCk7fVxufVxuXG4udWstdGFiLWxlZnQgPiAqID4gYSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdC1pdGVtKCk7fVxufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZW5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByZXZpb3VzL25leHQgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlbmF2LWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zbGlkZW5hdi1wcmV2aW91c2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LW5leHRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlbmF2LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjQpICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc2xpZGVuYXYge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zbGlkZW5hdjpob3Zlcixcbi51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtYWN0aXZlKCk7fVxufVxuXG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmlvdXNcbiAqL1xuXG4udWstc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1wcmV2aW91cykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LXByZXZpb3VzKCk7fVxufVxuXG4vKlxuICogTmV4dFxuICovXG5cbi51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbmV4dCkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW5leHQoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC40KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERvdG5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRvdG5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1kb3RuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcblxuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBmYWRlLW91dCgkZ2xvYmFsLWNvbG9yLCAwLjQpICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRG90bmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0c1xuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2KSkge0BpbmNsdWRlIGhvb2stZG90bmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4OiBub25lO1xuICAgIC13ZWJraXQtZmxleDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB3aWR0aDogJGRvdG5hdi1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJGRvdG5hdi1pdGVtLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZG90bmF2LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAvKiAxICovXG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstZG90bmF2ID4gKiA+IDpob3Zlcixcbi51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1kb3RuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1kb3RuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRvdG5hdigpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBBY2NvcmRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhY2NvcmRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWNjb3JkaW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFjY29yZGlvbi10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFjY29yZGlvbi1jb250ZW50YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWl0ZW0oKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZSgpO31cbn1cblxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWNvbnRlbnQpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tY29udGVudCgpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWFjY29yZGlvbi1jb250ZW50OmJlZm9yZSxcbi51ay1hY2NvcmRpb24tY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFjY29yZGlvbi1jb250ZW50OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbiAudWstYWNjb3JkaW9uLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1jb250ZW50KCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBwb3NpdGlvbiBhbnkgZWxlbWVudCBuZXh0IHRvIGFueSBvdGhlciBlbGVtZW50LlxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRyb3BgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcC10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Atc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICovXG5cbi51ay1kcm9wIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRkcm9wLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkcm9wLXdpZHRoO1xufVxuXG4vKiBTaG93ICovXG4udWstZHJvcC51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3AtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcC1tYXJnaW47IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wLXN0YWNrIC51ay1kcm9wLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3AtbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRyb3Bkb3duIG1lbnVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGRvd25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstZHJvcGRvd24tbmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3Bkb3duLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ncmlkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Bkb3duLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tbmF2IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wZG93bi10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLXN0YWNrIC51ay1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNb2RhbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG1vZGFsIGRpYWxvZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tb2RhbGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1tb2RhbC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZGlhbG9nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbW9kYWwtY2xvc2UtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLW91dHNpZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1mdWxsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW1vZGFsLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZ1bGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbW9kYWwtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuXG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6ICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbW9kYWwgeyBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1vZGFsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstbW9kYWwudWstb3BlbiB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1tb2RhbC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIERpYWxvZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3Igc3Bpbm5lciBhbmQgY2xvc2UgYnV0dG9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gU2xpZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbC1kaWFsb2cge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6ICRtb2RhbC1kaWFsb2ctd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZGlhbG9nKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZGlhbG9nKCk7fVxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cblxuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHsgd2lkdGg6ICRtb2RhbC1jb250YWluZXItd2lkdGg7IH1cblxuLypcbiAqIEZ1bGwgc2l6ZVxuICogMS4gUmVtb3ZlIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgZnJvbSBtb2RhbFxuICogMi4gUmVzZXQgYWxsIGRlZmF1bHQgZGVjbGFyYXRpb25zIGZyb20gbW9kYWwgZGlhbG9nXG4gKi9cblxuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mdWxsKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1ib2R5KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtYm9keSgpO31cbn1cblxuLnVrLW1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtaGVhZGVyKCk7fVxufVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1tb2RhbC1ib2R5OjpiZWZvcmUsXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjpiZWZvcmUsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1tb2RhbC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC10aXRsZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLXRpdGxlKCk7fVxufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQ6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLypcbiAqIE91dHNpZGVcbiAqL1xuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUsIC0oJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlKSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaWdodGJveFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGxpZ2h0Ym94IGltYWdlIGdhbGxlcnlcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGJveGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saWdodGJveC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaXRlbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1idXR0b25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1jYXB0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaWZyYW1lYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpZ2h0Ym94LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpZ2h0Ym94XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbGlnaHRib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRsaWdodGJveC16LWluZGV4O1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveCkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94KCk7fVxufVxuXG4vKlxuICogT3BlblxuICogMS4gQ2VudGVyIGNoaWxkXG4gKiAyLiBGYWRlLWluXG4gKi9cblxuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgY2hpbGQgd2l0aGluIHRoZSB2aWV3cG9ydFxuICogMi4gTm90IHZpc2libGUgYnkgZGVmYXVsdFxuICogMy4gQ29sb3IgbmVlZGVkIGZvciBzcGlubmVyIGljb25cbiAqIDQuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBVc2luZyBgdmhgIGFuZCBgdndgIHRvIG1ha2UgcmVzcG9uc2l2ZSBpbWFnZSB3b3JrIGluIElFMTFcbiAqL1xuXG4udWstbGlnaHRib3gtaXRlbSB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtaXRlbSgpO31cbn1cblxuLyogNCAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW0gPiAqIHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udWstbGlnaHRib3gtaXRlbSA+IDpub3QoaWZyYW1lKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4udWstbGlnaHRib3gtaXRlbS51ay1hY3RpdmUge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBUb29sYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIge1xuICAgIHBhZGRpbmc6ICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWwgJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhcigpO31cbn1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIgKiB7IGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjsgfVxuXG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbiB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKTt9XG59XG5cblxuXG4vKiBCdXR0b24gKFNsaWRlbmF2KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKTt9XG59XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1jYXB0aW9uIHt9XG5cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWlmcmFtZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3goKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN0aWNreVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbWFrZSBlbGVtZW50cyBzdGlja3kgaW4gdGhlIHZpZXdwb3J0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3RpY2t5YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXN0aWNreS1maXhlZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN0aWNreS16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuXG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdGlja3lcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzb2x2ZSBmcmFtZSByYXRlIGlzc3VlcyBvbiBkZXZpY2VzIHdpdGggbG93ZXIgZnJhbWUgcmF0ZXMgYnkgZm9yY2luZyBoYXJkd2FyZSBhY2NlbGVyYXRpb25cbiAqL1xuXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgICB6LWluZGV4OiAkc3RpY2t5LXotaW5kZXg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRmFzdGVyIGFuaW1hdGlvbnNcbiAqL1xuXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjtcbn1cblxuLnVrLXN0aWNreS51ay1hbmltYXRpb24tcmV2ZXJzZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN0aWNreS1taXNjKSkge0BpbmNsdWRlIGhvb2stc3RpY2t5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBPZmYtY2FudmFzXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gb2ZmLWNhbnZhcyBzaWRlYmFyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstb2ZmY2FudmFzYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW9mZmNhbnZhcy1iYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcGFnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vZmZjYW52YXMtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstb2ZmY2FudmFzLWZsaXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1yZXZlYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtb3ZlcmxheWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250ZW50LWFuaW1hdGlvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRvZmZjYW52YXMtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aC1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPZmYtY2FudmFzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcyB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy16LWluZGV4O1xufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIEJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNpemUgYW5kIHN0eWxlXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmdcbiAqIDQuIFRyYW5zZm9ybVxuICovXG5cbi51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbCAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtYmFyKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWJhcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgICAgIHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tO1xuICAgICAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW0gJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKiBGbGlwIG1vZGlmaWVyICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLypcbiAqIFNsaWRlIEFuaW1hdGlvbiAoVXNlZCBpbiBzbGlkZSBhbmQgcHVzaCBtb2RlKVxuICovXG5cbi51ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbiB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xufVxuXG4vKlxuICogUmV2ZWFsIEFuaW1hdGlvblxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDbGlwIHRoZSBiYXJcbiAqIDMuIEFuaW1hdGlvblxuICogNC4gUmVzZXQgdHJhbnNmb3JtXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLW91dDtcbn1cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07IH1cblxufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb2ZmY2FudmFzLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy16LWluZGV4O1xuICAgIHRvcDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjtcbiAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1jbG9zZSgpO31cbn1cblxuXG4vKiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE92ZXJsYXkgdGhlIHdob2xlIHBhZ2UuIE5lZWRlZCBmb3IgdGhlIGA6OmJlZm9yZWBcbiAqIDEuIFVzaW5nIGAxMDB2d2Agc28gbm8gbW9kaWZpY2F0aW9uIGlzIG5lZWRlZCB3aGVuIG9mZi1jYW52YXMgaXMgZmxpcHBlZFxuICogMi4gQWxsb3cgZm9yIGNsb3Npbmcgd2l0aCBzd2lwZSBnZXN0dXJlIG9uIGRldmljZXMgd2l0aCBwb2ludGVyIGV2ZW50cy5cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwdnc7XG4gICAgLyogMiAqL1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIDEuIE1hc2sgdGhlIHdob2xlIHBhZ2VcbiAqIDIuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheTo6YmVmb3JlIHtcbiAgICAvKiAxICovXG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKTt9XG59XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2hlbiB0aGUgY29udGVudCBpcyBzbGlkZS1vdXRcbiAqIEhhcyB0byBiZSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQgdG9vIHRvIG1ha2UgaXQgd29yayBvbiB0aGUgYGJvZHlgXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1wYWdlLFxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIgeyBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLypcbiAqIFByZXZlbnQgYWxsIHNjcm9sbGJhcnMgaWYgb3ZlcmxheSBpcyB1c2VkXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXItb3ZlcmxheSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBDb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiBOb3RlOiBKUyBzZXRzIGEgZml4ZWQgd2lkdGggYW5kIGhlaWdodCBzbyB0aGUgcGFnZSBjYW4gc2xpZGUtb3V0IHdpdGhvdXQgc2hyaW5raW5nXG4gKiAxLiBTbW9vdGggc2Nyb2xsaW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIgLnVrLW9mZmNhbnZhcy1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLyogRGlzYWJsZSBzY3JvbGxpbmcgaWYgb3ZlcmxheSBtb2RlICovXG4udWstb2ZmY2FudmFzLW92ZXJsYXkgLnVrLW9mZmNhbnZhcy1jb250ZW50IHsgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cblxuOm5vdCgudWstb2ZmY2FudmFzLWZsaXApID4gLnVrLW9mZmNhbnZhcy1jb250ZW50LWFuaW1hdGlvbiB7IGxlZnQ6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi51ay1vZmZjYW52YXMtZmxpcCA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKSA+IC51ay1vZmZjYW52YXMtY29udGVudC1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbiAgICAudWstb2ZmY2FudmFzLWZsaXAgPiAudWstb2ZmY2FudmFzLWNvbnRlbnQtYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1tKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN3aXRjaGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBuYXZpZ2F0ZSB0aHJvdWdoIGRpZmZlcmVudCBjb250ZW50IHBhbmVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3dpdGNoZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTd2l0Y2hlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBsaXN0c1xuICovXG5cbi51ay1zd2l0Y2hlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN3aXRjaGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zd2l0Y2hlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvbm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29ubmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWljb25uYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29ubmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0c1xuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2KSkge0BpbmNsdWRlIGhvb2staWNvbm5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgLW1zLWZsZXg6IG5vbmU7XG4gICAgLXdlYmtpdC1mbGV4OiBub25lO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstaWNvbm5hdiA+ICogPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29ubmF2ID4gKiA+IDpob3Zlcixcbi51ay1pY29ubmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkaWNvbm5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE5vdGlmaWNhdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5vdGlmaWNhdGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRub3RpZmljYXRpb24tcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOb3RpZmljYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgbGVmdDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICB6LWluZGV4OiAkbm90aWZpY2F0aW9uLXotaW5kZXg7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRub3RpZmljYXRpb24td2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbigpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cbi51ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcixcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAoJG5vdGlmaWNhdGlvbi13aWR0aCAvIC0yKTtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG5cbi8qIFJlc3BvbnNpdmVuZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstbm90aWZpY2F0aW9uIHtcbiAgICAgICAgbGVmdDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgcmlnaHQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG59XG5cblxuLyogTWVzc2FnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKTt9XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLWNsb3NlLXRvcDtcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCk7fVxufVxuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2U6aG92ZXIgLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVG9vbHRpcFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRvb2x0aXBzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdG9vbHRpcGBcbi8vXG4vLyBNb2RpZmllcnMgICAgICAgIGB1ay10b29sdGlwLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1yaWdodGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRvb2x0aXAtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDMwICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY2NiAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb29sdGlwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gUG9zaXRpb25cbiAqIDMuIERpbWVuc2lvbnNcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLXRvb2x0aXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJHRvb2x0aXAtei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsICR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZDogJHRvb2x0aXAtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG9vbHRpcCkpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAoKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay10b29sdGlwLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstdG9vbHRpcC10b3AnXSB7IG1hcmdpbi10b3A6ICgtJHRvb2x0aXAtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICR0b29sdGlwLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJHRvb2x0aXAtbWFyZ2luOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdG9vbHRpcC1taXNjKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b29sdGlwKCl7fVxuLy8gQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQbGFjZWhvbGRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHBsYWNlaG9sZGVyIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGxhY2Vob2xkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGxhY2Vob2xkZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw7XG4gICAgcGFkZGluZzogJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWwgJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkcGxhY2Vob2xkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1wbGFjZWhvbGRlcigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXBsYWNlaG9sZGVyIHsgbWFyZ2luLXRvcDogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXBsYWNlaG9sZGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGxhY2Vob2xkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFByb2dyZXNzXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXByb2dyZXNzYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcm9ncmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94IGFuZCBFZGdlXG4gKiA0LiBTZXQgYmFja2dyb3VuZCBjb2xvciBmb3IgcHJvZ3Jlc3MgY29udGFpbmVyIGluIEZpcmVmb3gsIElFMTEgYW5kIEVkZ2VcbiAqIDUuIFN0eWxlXG4gKi9cblxuLnVrLXByb2dyZXNzIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gICAgLyogNSAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7XG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcHJvZ3Jlc3MgeyBtYXJnaW4tdG9wOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgYW5pbWF0ZWQgY2lyY2xlcyBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGUgeyBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFByb2dyZXNzIGNvbnRhaW5lclxuICogMi4gUmVtb3ZlIHByb2dyZXNzIGJhciBmb3IgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBpbiBGaXJlZm94XG4gKi9cblxuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcygpO31cbn1cblxuLyogMiAqL1xuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGU6Oi1tb3otcHJvZ3Jlc3MtYmFyIHsgd2lkdGg6IDA7IH1cblxuLypcbiAqIFByb2dyZXNzIGJhclxuICogMS4gUmVtb3ZlIHJpZ2h0IGJvcmRlciBpbiBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tcy1maWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1taXNjKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTb3J0YWJsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHNvcnRhYmxlIGdyaWRzIGFuZCBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNvcnRhYmxlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNvcnRhYmxlLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1wbGFjZWhvbGRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLWhhbmRsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zb3J0YWJsZS1lbXB0eWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kcmFnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyA1MCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTb3J0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZSkpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlKCk7fVxufVxuXG4vKlxuICogRGVhY3RpdmF0ZSBicm93c2VyIHRvdWNoIGFjdGlvbnMgaW4gSUUxMVxuICovXG5cbi51ay1zb3J0YWJsZSA+ICogeyB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLypcbiAqIERlYWN0aXZhdGUgcG9pbnRlci1ldmVudHMgb24gU1ZHcyBpbiBTYWZhcmlcbiAqL1xuXG4udWstc29ydGFibGUgc3ZnIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zb3J0YWJsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIERyYWdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZHJhZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleCAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1kcmFnKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZHJhZygpO31cbn1cblxuXG4vKiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKTt9XG59XG5cblxuLyogRW1wdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZW1wdHkge1xuICAgIG1pbi1oZWlnaHQ6ICRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWVtcHR5KSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZW1wdHkoKTt9XG59XG5cblxuLyogSGFuZGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSG92ZXIgKi9cbi51ay1zb3J0YWJsZS1oYW5kbGU6aG92ZXIgeyBjdXJzb3I6IG1vdmU7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ291bnRkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgY291bnRkb3duIHRpbWVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdW50ZG93bmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb3VudGRvd24tbnVtYmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLXNlcGFyYXRvcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvdW50ZG93bi1sYWJlbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY291bnRkb3duLWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgNzBweCAhZGVmYXVsdDtcblxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgLy8gOTZweFxuXG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0OyAvLyA0OHB4XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdW50ZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24oKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgbnVtYmVycyBhbmQgc2VwYXJhdG9ycyB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIsXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLWl0ZW0oKTt9XG59XG5cblxuLyogTnVtYmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbnVtYmVyKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLW51bWJlcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIgeyBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIFNlcGFyYXRvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHsgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbGFiZWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbmltYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBrZXlmcmFtZSBhbmltYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYW5pbWF0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYW5pbWF0aW9uLXJldmVyc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tZmFzdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24ta2VuYnVybnNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2hha2VgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYW5pbWF0aW9uLXRvZ2dsZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1ob3ZlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgIDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xuXG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbmltYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG5cbi8qIERpcmVjdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbmltYXRpb24tcmV2ZXJzZSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogQW5pbWF0aW9ucyBmb3Igc2Nyb2xsc3B5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbi8qXG4gKiBTY2FsZVxuICovXG5cbi51ay1hbmltYXRpb24tc2NhbGUtdXAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7XG59XG5cbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Age1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbTtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDtcbn1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Atc21hbGwge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1zbWFsbDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1zbWFsbDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDtcbn1cblxuLypcbiAqIFNsaWRlIE1lZGl1bVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1tZWRpdW07XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1tZWRpdW0ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1tZWRpdW07XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbi51ay1hbmltYXRpb24ta2VuYnVybnMge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb247XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbi51ay1hbmltYXRpb24tc2hha2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTtcbn1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbmltYXRpb24tZmFzdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjtcbn1cblxuXG4vKiBFbmFibGUgYW5pbWF0aW9uIG9ubHkgb24gaG92ZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBOb3RlOiBGaXJlZm94IGFuZCBJRSBuZWVkcyB0aGlzIGJlY2F1c2UgYW5pbWF0aW9ucyBhcmUgbm90IHRyaWdnZXJlZCB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGRpc3BsYXkgYG5vbmVgIGFuZCBgYmxvY2tgXG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGU6bm90KDpob3Zlcik6bm90KC51ay1ob3ZlcikgW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBub25lO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBub25lO1xufVxuXG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgICAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbVxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0XG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIFNtYWxsXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IFNtYWxsXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgTWVkaXVtXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBNZWRpdW1cbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgTWVkaXVtXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgVXBcbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIERvd25cbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB1ay1zaGFrZSB7XG4gICAgMCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gICAgMjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAgIDMwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgNjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICAgIDcwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gICAgODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgIDkwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2hha2Uge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgMTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gICAgMjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgICAzMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgICA0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gICAgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gICAgODAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgICA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbmltYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFuaW1hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgV2lkdGhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB3aWR0aHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jaGlsZC13aWR0aC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstd2lkdGgtKmBcbi8vXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHdpZHRoLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLXh4bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBXaWR0aFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRXF1YWwgY2hpbGQgd2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY2hpbGQtd2lkdGgnXSA+ICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTIgPiAqIHsgd2lkdGg6IDUwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtMyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstY2hpbGQtd2lkdGgtMS00ID4gKiB7IHdpZHRoOiAyNSU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHsgd2lkdGg6IDIwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNiA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbi51ay1jaGlsZC13aWR0aC1hdXRvID4gKiB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiAgICBJbnN0ZWFkIG9mIDAsIDFweCBpcyBuZWVkZWQgdG8gbWFrZSBjZWxsIHdyYXAgaW50byBuZXh0IHJvdyBpZiBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGVcbiAqICAgIGFuZCB0aGUgZ3JpZCBndXR0ZXIgaXMgMCBwaXhlbHMgd2lkZVxuICovXG5cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4vKlxuICogMS4gTWFrZSBgd2lkdGg6IDFweGAgd29yaywgYmVjYXVzZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWMgZmxleCBpdGVtcyB3b27igJl0IHNocmlua1xuICogICAgYmVsb3cgdGhlaXIgbWluaW11bSBjb250ZW50IHNpemUuIFRvIGNoYW5nZSB0aGlzLCBzZXQgdGhlIG1pbi13aWR0aC5cbiAqICAgIE9ubHkgbmVlZGVkIGZvciBGaXJlZm94LiBBbGwgb3RoZXIgYnJvd3NlcnMgaWdub3JlIHRoaXMuXG4gKlxuICogMi4gYHdpZHRoYCBpcyBpZ25vcmVkIHdoZW4gd3JhcHBpbmcgZmxleCBpdGVtcyBpbiBTYWZhcmlcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjMTEtbWluLWFuZC1tYXgtc2l6ZS1kZWNsYXJhdGlvbnMtYXJlLWlnbm9yZWQtd2hlbi13cmFwcGluZy1mbGV4LWl0ZW1zXG4gKi9cblxuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDA7XG4gICAgLyogMiAqL1xuICAgIGZsZXgtYmFzaXM6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBzID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAcyA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQG0gPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbSA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBtID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+ICogeyB3aWR0aDogMXB4OyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4bCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4bCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEB4bCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiAqIHsgd2lkdGg6IDFweDsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG5cbi8qIFNpbmdsZSBXaWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gYG1heC13aWR0aGAgaXMgbmVlZGVkIGZvciB0aGUgcGl4ZWwtYmFzZWQgY2xhc3Nlc1xuICovXG5cbltjbGFzcyo9J3VrLXdpZHRoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBIYWx2ZXMgKi9cbi51ay13aWR0aC0xLTIgeyB3aWR0aDogNTAlOyB9XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay13aWR0aC0yLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHsgd2lkdGg6IDI1JTsgfVxuLnVrLXdpZHRoLTMtNCB7IHdpZHRoOiA3NSU7IH1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHsgd2lkdGg6IDIwJTsgfVxuLnVrLXdpZHRoLTItNSB7IHdpZHRoOiA0MCU7IH1cbi51ay13aWR0aC0zLTUgeyB3aWR0aDogNjAlOyB9XG4udWstd2lkdGgtNC01IHsgd2lkdGg6IDgwJTsgfVxuXG4vKiBTaXh0aHMgKi9cbi51ay13aWR0aC0xLTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4udWstd2lkdGgtNS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuLnVrLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4udWstd2lkdGgtbGFyZ2UgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC14eGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIC1tcy1mbGV4OiAxO1xuICAgIC13ZWJraXQtZmxleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4LWJhc2lzOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHMgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHMgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHMgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHMgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAcyB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAcyB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAcyB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAcyB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBzIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBzIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHMgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHMge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBtIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBtIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBtIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBtIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQG0geyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQG0geyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQG0geyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQG0geyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbSB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbSB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBsIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBsIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbCB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleC1iYXNpczogMXB4O1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAeGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQHhsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHhsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEB4bCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEB4bCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAeGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHhsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEB4bCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHhsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEB4bCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEB4bCB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAeGwge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay13aWR0aC1taXNjKSkge0BpbmNsdWRlIGhvb2std2lkdGgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2std2lkdGgtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC11cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1sb3dlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc3VjY2VzcyB7IGNvbG9yOiAkdGV4dC1zdWNjZXNzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXdhcm5pbmcgeyBjb2xvcjogJHRleHQtd2FybmluZy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1kYW5nZXIgeyBjb2xvcjogJHRleHQtZGFuZ2VyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFRoZSBiYWNrZ3JvdW5kIGNsaXBzIHRvIHRoZSBmb3JlZ3JvdW5kIHRleHQuIFdvcmtzIGluIENocm9tZSwgRmlyZWZveCwgU2FmYXJpLCBFZGdlIGFuZCBPcGVyYVxuICogICAgRGVmYXVsdCBjb2xvciBpcyBzZXQgdG8gdHJhbnNwYXJlbnRcbiAqIDIuIENvbnRhaW5lciBmaXRzIHRoZSB0ZXh0XG4gKiAzLiBGYWxsYmFjayBjb2xvciBmb3IgSUUxMVxuICovXG5cbi51ay10ZXh0LWJhY2tncm91bmQge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3IgIWltcG9ydGFudDtcbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuXG4gICAgLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LWJhY2tncm91bmQpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWJhY2tncm91bmQoKTt9XG4gICAgfVxuXG59XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHMgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHMgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAcyB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbSB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbSB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBtIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQGwgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEB4bCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAeGwgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAeGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWZXJ0aWNhbFxuICovXG5cbi51ay10ZXh0LXRvcCB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbWlkZGxlIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJhc2VsaW5lIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBXcmFwIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzXG4gKi9cblxuLnVrLXRleHQtbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogMS4gTWFrZSBzdXJlIGEgbWF4LXdpZHRoIGlzIHNldCBhZnRlciB3aGljaCB0cnVuY2F0aW9uIGNhbiBvY2N1clxuICogMi4gUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXNcbiAqIDMuIEZpeCBmb3IgdGFibGUgY2VsbHNcbiAqL1xuXG4udWstdGV4dC10cnVuY2F0ZSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiAyICovXG50aC51ay10ZXh0LXRydW5jYXRlLFxudGQudWstdGV4dC10cnVuY2F0ZSB7IG1heC13aWR0aDogMDsgfVxuXG5cbi8qXG4gKiAxLiBXcmFwIGxvbmcgd29yZHMgb250byB0aGUgbmV4dCBsaW5lIGFuZCBicmVhayB0aGVtIGlmIHRoZXkgYXJlIHRvbyBsb25nIHRvIGZpdFxuICogMi4gTGVnYWN5IGB3b3JkLXdyYXBgIGFzIGZhbGxiYWNrIGZvciBgb3ZlcmZsb3ctd3JhcGBcbiAqIDMuIEFkZCBhIGh5cGhlbiB3aGVyZSB0aGUgd29yZCBicmVha3NcbiAqIDQuIEZpeCBgb3ZlcmZsb3ctd3JhcGAgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGggdGFibGUgY2VsbHMgaW4gQ2hyb21lLCBPcGVyYSwgSUUxMSBhbmQgRWRnZVxuICogICAgTXVzdCB1c2UgYGJyZWFrLWFsbGAgdG8gc3VwcG9ydCBJRTExIGFuZCBFZGdlXG4gKi9cblxuLnVrLXRleHQtYnJlYWsge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDIgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgLyogMyAqL1xuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuLyogNCAqL1xudGgudWstdGV4dC1icmVhayxcbnRkLnVrLXRleHQtYnJlYWsgeyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbWlzYykpIHtAaW5jbHVkZSBob29rLXRleHQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1tZXRhKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWJhY2tncm91bmQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbHVtblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHQgY29sdW1uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbHVtbi0qYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvbHVtbi1zcGFuYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNvbHVtbi1kaXZpZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2x1bW4tZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjtcbiAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyO1xuICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgW2NsYXNzKj0ndWstY29sdW1uLSddIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sO1xuICAgICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyLWw7XG4gICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ3V0dGVyLWw7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIGltZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuXG4udWstY29sdW1uLWRpdmlkZXIge1xuICAgIC13ZWJraXQtY29sdW1uLXJ1bGU6ICRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoIHNvbGlkICRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIC1tb3otY29sdW1uLXJ1bGU6ICRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoIHNvbGlkICRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yO1xuICAgIGNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXIgKiAyKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlciAqIDIpO1xuICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlciAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgICAgICAtbW96LWNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlci1sICogMik7XG4gICAgICAgIGNvbHVtbi1nYXA6ICgkY29sdW1uLWd1dHRlci1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbHVtbi0xLTIge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1jb3VudDogMjtcbn1cblxuLnVrLWNvbHVtbi0xLTMge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1jb3VudDogMztcbn1cblxuLnVrLWNvbHVtbi0xLTQge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgIGNvbHVtbi1jb3VudDogNDtcbn1cblxuLnVrLWNvbHVtbi0xLTUge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA1O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgIGNvbHVtbi1jb3VudDogNTtcbn1cblxuLnVrLWNvbHVtbi0xLTYge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA2O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgIGNvbHVtbi1jb3VudDogNjtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTNcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTRcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTVcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTZcXEBzIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDY7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTNcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTRcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTVcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTZcXEBtIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDY7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtM1xcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNFxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNVxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNTtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNlxcQGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNjtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNjtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAeGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtM1xcQHhsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgLnVrLWNvbHVtbi0xLTRcXEB4bCB7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgIH1cblxuICAgIC51ay1jb2x1bW4tMS01XFxAeGwge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNTtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNTtcbiAgICB9XG5cbiAgICAudWstY29sdW1uLTEtNlxcQHhsIHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDY7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA2O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDY7XG4gICAgfVxufVxuXG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tc3BhbiB7XG4gICAgLXdlYmtpdC1jb2x1bW4tc3BhbjogYWxsO1xuICAgIC1tb3otY29sdW1uLXNwYW46IGFsbDtcbiAgICBjb2x1bW4tc3BhbjogYWxsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbHVtbi1taXNjKSkge0BpbmNsdWRlIGhvb2stY29sdW1uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ292ZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGxldCBlbWJlZGRlZCBjb250ZW50IGNvdmVyIHRoZWlyIGNvbnRhaW5lciBpbiBhIGNlbnRlcmVkIHBvc2l0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY292ZXJgXG4vL1xuLy8gU3ViLW9iamVjdDogICAgICBgdWstY292ZXItY29udGFpbmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBXb3JrcyB3aXRoIGlmcmFtZXMgYW5kIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDEuIFJlc2V0IHJlc3BvbnNpdmVuZXNzIGZvciBlbWJlZGRlZCBjb250ZW50XG4gKiAyLiBDZW50ZXIgb2JqZWN0XG4gKiBOb3RlOiBQZXJjZW50IHZhbHVlcyBvbiB0aGUgYHRvcGAgcHJvcGVydHkgb25seSB3b3JrcyBpZiB0aGlzIGVsZW1lbnRcbiAqICAgICAgIGlzIGFic29sdXRlIHBvc2l0aW9uZWQgb3IgaWYgdGhlIGNvbnRhaW5lciBoYXMgYSBoZWlnaHRcbiAqL1xuXG4udWstY292ZXIge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBhcmVudCBjb250YWluZXIgd2hpY2ggY2xpcHMgcmVzaXplZCBvYmplY3RcbiAqIDIuIE5lZWRlZCBpZiB0aGUgY2hpbGQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZS4gU2VlIG5vdGUgYWJvdmVcbiAqL1xuXG4udWstY292ZXItY29udGFpbmVyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3Zlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFja2dyb3VuZFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFja2dyb3VuZC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVrLWJhY2tncm91bmQtY292ZXIgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4udWstYmFja2dyb3VuZC1jb250YWluIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9XG5cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWZpeGVkIHsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsgfVxuXG4vKlxuICogRXhjbHVkZSB0b3VjaCBkZXZpY2VzIGJlY2F1c2UgYGZpeGVkYCBkb2Vzbid0IHdvcmsgb24gaU9TIGFuZCBBbmRyb2lkXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstYmFja2dyb3VuZC1maXhlZCB7IGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG59XG5cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBtIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbCB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ibGVuZC1tdWx0aXBseSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNjcmVlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kYXJrZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbGlnaHRlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1idXJuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1oYXJkLWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kaWZmZXJlbmNlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1leGNsdXNpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNhdHVyYXRpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhY2tncm91bmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhY2tncm91bmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGlnblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gYWxpZ24gZW1iZWRkZWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsaWduLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1jZW50ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10geyBtYXJnaW4tdG9wOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuXG4udWstYWxpZ24tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cblxuLnVrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1sZWZ0LFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgICAudWstYWxpZ24tbGVmdFxcQG0sXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0LFxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHsgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsaWduLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGlnbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVXRpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgY29sbGVjdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhbmVsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jbGVhcmZpeGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZsb2F0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVyZmxvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzaXplLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNwbGF5LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbmxpbmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmVzcG9uc2l2ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmUtd2lkdGhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3JkZXItKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJveC1zaGFkb3ctYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGNhcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxvZ29gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zdmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ibGVuZC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tb3JpZ2luLSpgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ292ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGhlaWdodC1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuXG4kbGVhZGVyLWZpbGwtY29udGVudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4nICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbG9nby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRkcmFnb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgMjBweCByZ2JhKDEwMCwxMDAsMTAwLDAuMykgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXBhbmVsOjpiZWZvcmUsXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstcGFuZWw6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wYW5lbCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cblxuLnVrLXBhbmVsLXNjcm9sbGFibGUge1xuICAgIGhlaWdodDogJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGggc29saWQgJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICByZXNpemU6IGJvdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhbmVsLXNjcm9sbGFibGUpKSB7QGluY2x1ZGUgaG9vay1wYW5lbC1zY3JvbGxhYmxlKCk7fVxufVxuXG5cbi8qIENsZWFyZml4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG5cbi8qIDEgKi9cbi51ay1jbGVhcmZpeDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cblxuLyogRmxvYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKi9cblxuLnVrLWZsb2F0LWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLnVrLWZsb2F0LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIDEgKi9cbltjbGFzcyo9J3VrLWZsb2F0LSddIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFbmFibGUgc2Nyb2xsYmFycyBpZiBjb250ZW50IGlzIGNsaXBwZWRcbiAqL1xuXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFJlc2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1yZXNpemUgeyByZXNpemU6IGJvdGg7IH1cbi51ay1yZXNpemUtdmVydGljYWwgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNwbGF5LWJsb2NrIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNSAqL1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWstaW5saW5lLWNsaXAge1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWhlaWdodCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cblxuLnVrLWhlaWdodC0xLTEgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG5cbi51ay1oZWlnaHQtdmlld3BvcnQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG5cbi51ay1oZWlnaHQtc21hbGwgeyBoZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1lZGl1bSB7IGhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LWxhcmdlIHsgaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1tZWRpdW0geyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHsgbWF4LWhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuXG4vKiBSZXNwb25zaXZlIG9iamVjdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggYXVkaW8sXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8geyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoLFxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aC4gYGltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGB1ay1wcmVzZXJ2ZS13aWR0aCBpbWdgXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgICAvKiAxICovXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm9yZGVyLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLnVrLWJvcmRlci1yb3VuZGVkIHsgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM7IH1cblxuLypcbiAqIEZpeCBgb3ZlcmZsb3c6IGhpZGRlbmAgdG8gYmUgaWdub3JlZCB3aXRoIGJvcmRlci1yYWRpdXMgYW5kIENTUyB0cmFuc2Zvcm1zIGluIFdlYmtpdFxuICovXG5cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9J3VrLWJvcmRlci0nXSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cblxuLyogQm94LXNoYWRvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3gtc2hhZG93LXNtYWxsIHsgYm94LXNoYWRvdzogJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1tZWRpdW0geyBib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy1sYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3cteGxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC14bGFyZ2UtYm94LXNoYWRvdzsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1ib3gtc2hhZG93LWhvdmVyJ10ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYm94LXNoYWRvdy1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRib3gtc2hhZG93LWR1cmF0aW9uIGVhc2UtaW4tb3V0O1xufVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEJsdXIgZG9lc24ndCB3b3JrIG9uIHBzZXVkbyBlbGVtZW50cyB3aXRoIG5lZ2F0aXZlIGB6LWluZGV4YCBpbiBFZGdlLlxuICogICAgU29sdmVkIGJ5IHVzaW5nIGBiZWZvcmVgIGFuZCBhZGQgcG9zaXRpb24gY29udGV4dCB0byBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkgb3IgKC13ZWJraXQtZmlsdGVyOiBibHVyKDApKSB7XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIC8qIDEgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206ICgtJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAvKiAyICovXG4gICAgICAgIGhlaWdodDogJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kO1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1cigkYm94LXNoYWRvdy1ib3R0b20tYmx1cik7XG4gICAgICAgIGZpbHRlcjogYmx1cigkYm94LXNoYWRvdy1ib3R0b20tYmx1cik7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ib3gtc2hhZG93LWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWJveC1zaGFkb3ctYm90dG9tKCk7fVxuICAgIH1cblxuICAgIC8qIDMgKi9cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b20gPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbn1cblxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wY2FwLW1hcmdpbi1yaWdodDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRkcm9wY2FwLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWRyb3BjYXAoKTt9XG59XG5cblxuLyogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxlYWRlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIFBsYWNlIGVsZW1lbnQgaW4gdGV4dCBmbG93XG4gKiAyLiBOZXZlciBicmVhayBpbnRvIGEgbmV3IGxpbmVcbiAqIDMuIEdldCBhIHN0cmluZyBiYWNrIHdpdGggYXMgbWFueSByZXBlYXRpbmcgY2hhcmFjdGVycyB0byBmaWxsIHRoZSBjb250YWluZXJcbiAqIDQuIFByZXZlbnQgd3JhcHBpbmcuIE92ZXJmbG93aW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAqL1xuXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIC8qIDMgKi9cbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmlsbCk7XG4gICAgLyogNCAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWxlYWRlcigpO31cbn1cblxuLypcbiAqIEhpZGUgaWYgbWVkaWEgZG9lcyBub3QgbWF0Y2hcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBQYXNzIGZpbGwgY2hhcmFjdGVyIHRvIEpTICovXG4udmFyLWxlYWRlci1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRsZWFkZXItZmlsbC1jb250ZW50OyB9XG5cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWxvZ28ge1xuICAgIGZvbnQtc2l6ZTogJGxvZ28tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbG9nby1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGxvZ28tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nbykpIHtAaW5jbHVkZSBob29rLWxvZ28oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1sb2dvLWhvdmVyKCk7fVxufVxuXG4udWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAyLiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqL1xuXG4vKiAxICovXG4udWstc3ZnLFxuLyogMiAqL1xuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IGZpbGw6IGN1cnJlbnRjb2xvcjsgfVxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLXN2ZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7IH1cblxuXG4vKiBEaXNhYmxlZCBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNhYmxlZCB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZyBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBOZWVkZWQgaWYgbW92aW5nIG92ZXIgZWxlbWVudHMgd2l0aCBoYXZlIHRoZWlyIG93biBjdXJzb3Igb24gaG92ZXIsIGUuZy4gbGlua3Mgb3IgYnV0dG9uc1xuICogMi4gRml4IGRyYWdnaW5nIG92ZXIgaWZyYW1lc1xuICovXG5cbi51ay1kcmFnLFxuLyogMSAqL1xuLnVrLWRyYWcgKiB7IGN1cnNvcjogbW92ZTsgfVxuXG4vKiAyICovXG4udWstZHJhZyBpZnJhbWUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5cbi8qIERyYWdvdmVyIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENyZWF0ZSBhIGJveC1zaGFkb3cgd2hlbiBkcmFnZ2luZyBhIGZpbGUgb3ZlciB0aGUgdXBsb2FkIGFyZWFcbiAqL1xuXG4udWstZHJhZ292ZXIgeyBib3gtc2hhZG93OiAkZHJhZ292ZXItYm94LXNoYWRvdzsgfVxuXG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJsZW5kLW11bHRpcGx5IHsgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4udWstYmxlbmQtc2NyZWVuIHsgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuLnVrLWJsZW5kLW92ZXJsYXkgeyBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuLnVrLWJsZW5kLWRhcmtlbiB7IG1peC1ibGVuZC1tb2RlOiBkYXJrZW47IH1cbi51ay1ibGVuZC1saWdodGVuIHsgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW47IH1cbi51ay1ibGVuZC1jb2xvci1kb2RnZSB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTsgfVxuLnVrLWJsZW5kLWNvbG9yLWJ1cm4geyBtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybjsgfVxuLnVrLWJsZW5kLWhhcmQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogaGFyZC1saWdodDsgfVxuLnVrLWJsZW5kLXNvZnQtbGlnaHQgeyBtaXgtYmxlbmQtbW9kZTogc29mdC1saWdodDsgfVxuLnVrLWJsZW5kLWRpZmZlcmVuY2UgeyBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTsgfVxuLnVrLWJsZW5kLWV4Y2x1c2lvbiB7IG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cbi51ay1ibGVuZC1odWUgeyBtaXgtYmxlbmQtbW9kZTogaHVlOyB9XG4udWstYmxlbmQtc2F0dXJhdGlvbiB7IG1peC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uOyB9XG4udWstYmxlbmQtY29sb3IgeyBtaXgtYmxlbmQtbW9kZTogY29sb3I7IH1cbi51ay1ibGVuZC1sdW1pbm9zaXR5IHsgbWl4LWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7IH1cblxuXG4vKiBUcmFuc2Zvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tY2VudGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWNlbnRlciB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtcmlnaHQge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItbGVmdCB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItcmlnaHQge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWxlZnQge1xuICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHtcbiAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7XG4gICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdXRpbGl0eS1taXNjKSkge0BpbmNsdWRlIGhvb2stdXRpbGl0eS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wY2FwKCl7fVxuLy8gQG1peGluIGhvb2stbGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbG9nbygpe31cbi8vIEBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxvZ28tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGbGV4XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbGF5b3V0cyBiYXNlZCBvbiBmbGV4Ym94XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZmxleC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZsZXgge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udWstZmxleC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb25cbiAqL1xuXG4udWstZmxleDo6YmVmb3JlLFxuLnVrLWZsZXg6OmFmdGVyLFxuLnVrLWZsZXgtaW5saW5lOjpiZWZvcmUsXG4udWstZmxleC1pbmxpbmU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIEFsaWdubWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IEhvcml6b250YWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1sZWZ0IHtcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi51ay1mbGV4LWNlbnRlciB7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51ay1mbGV4LXJpZ2h0IHtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi51ay1mbGV4LWJldHdlZW4ge1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udWstZmxleC1hcm91bmQge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAcyB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC51ay1mbGV4LWNlbnRlclxcQHMge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC51ay1mbGV4LXJpZ2h0XFxAcyB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBzIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAudWstZmxleC1hcm91bmRcXEBzIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQG0ge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAudWstZmxleC1jZW50ZXJcXEBtIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudWstZmxleC1yaWdodFxcQG0ge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbSB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAudWstZmxleC1jZW50ZXJcXEBsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudWstZmxleC1yaWdodFxcQGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHhsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtY2VudGVyXFxAeGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC51ay1mbGV4LXJpZ2h0XFxAeGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAeGwge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHhsIHtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBpbiB0aGUgY3Jvc3MgYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBWZXJ0aWNhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXN0cmV0Y2gge1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi51ay1mbGV4LXRvcCB7XG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi51ay1mbGV4LW1pZGRsZSB7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtYm90dG9tIHtcbiAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1yb3cge1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4udWstZmxleC1yb3ctcmV2ZXJzZSB7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi51ay1mbGV4LWNvbHVtbiB7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbm93cmFwIHtcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnVrLWZsZXgtd3JhcCB7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG59XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2g7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG59XG5cbi51ay1mbGV4LXdyYXAtdG9wIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udWstZmxleC13cmFwLW1pZGRsZSB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4udWstZmxleC13cmFwLWJvdHRvbSB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdCBpcyAwXG4gKi9cblxuLnVrLWZsZXgtZmlyc3Qge1xuICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAtd2Via2l0LW9yZGVyOiAtMTtcbiAgICBvcmRlcjogLTE7XG59XG5cbi51ay1mbGV4LWxhc3Qge1xuICAgIC1tcy1mbGV4LW9yZGVyOiA5OTtcbiAgICAtd2Via2l0LW9yZGVyOiA5OTtcbiAgICBvcmRlcjogOTk7XG59XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBzIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgICAgICAtd2Via2l0LW9yZGVyOiAtMTtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgIH1cblxuICAgIC51ay1mbGV4LWxhc3RcXEBzIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgICAgICAtd2Via2l0LW9yZGVyOiA5OTtcbiAgICAgICAgb3JkZXI6IDk5O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbSB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cbiAgICAudWstZmxleC1sYXN0XFxAbSB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5OTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgICAgIG9yZGVyOiA5OTtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAbCB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogLTE7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cbiAgICAudWstZmxleC1sYXN0XFxAbCB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5OTtcbiAgICAgICAgLXdlYmtpdC1vcmRlcjogOTk7XG4gICAgICAgIG9yZGVyOiA5OTtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAeGwge1xuICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7XG4gICAgICAgIC13ZWJraXQtb3JkZXI6IC0xO1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgfVxuXG4gICAgLnVrLWZsZXgtbGFzdFxcQHhsIHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk5O1xuICAgICAgICAtd2Via2l0LW9yZGVyOiA5OTtcbiAgICAgICAgb3JkZXI6IDk5O1xuICAgIH1cblxufVxuXG5cbi8qIEl0ZW0gZGltZW5zaW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJbml0aWFsOiAwIDEgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rc1xuICovXG5cbi8qXG4gKiBObyBGbGV4OiAwIDAgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWZsZXgtbm9uZSB7XG4gICAgLW1zLWZsZXg6IG5vbmU7XG4gICAgLXdlYmtpdC1mbGV4OiBub25lO1xuICAgIGZsZXg6IG5vbmU7XG59XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuXG4udWstZmxleC1hdXRvIHtcbiAgICAtbXMtZmxleDogYXV0bztcbiAgICAtd2Via2l0LWZsZXg6IGF1dG87XG4gICAgZmxleDogYXV0bztcbn1cblxuLypcbiAqIEFic29sdXRlIEZsZXg6IDEgMSAwJVxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBmbGV4XG4gKi9cblxuLnVrLWZsZXgtMSB7XG4gICAgLW1zLWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4OiAxO1xuICAgIGZsZXg6IDE7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZmxleC1taXNjKSkge0BpbmNsdWRlIGhvb2stZmxleC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBNYXJnaW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBtYXJnaW5zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbWFyZ2luLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tc21hbGwtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1tZWRpdW0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1sYXJnZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXhsYXJnZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXJlbW92ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWF1dG8tKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbWFyZ2luLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLXhsYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmdpblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW1hcmdpbiB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1zbWFsbC1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBNZWRpdW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWVkaXVtLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFhMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tcmVtb3ZlIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7IG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWxlZnQgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFyZ2luLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJnaW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZGRpbmdcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBwYWRkaW5nXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFkZGluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLXJlbW92ZS0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWRkaW5nLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctc21hbGwgeyBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC1wYWRkaW5nOyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1yZW1vdmUgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS10b3AgeyBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtYm90dG9tIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZGRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZGRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQb3NpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gcG9zaXRpb24gY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBvc2l0aW9uLWFic29sdXRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmVsYXRpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi16LWluZGV4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jb3ZlcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1wb3NpdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLW1lZGl1bWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIERpcmVjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBFZGdlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERvbid0IHVzZSBgd2lkdGg6IDEwMCVgIGJlY2F1c2UgaXQgaXMgd3JvbmcgaWYgdGhlIHBhcmVudCBoYXMgcGFkZGluZy4gKi9cbi51ay1wb3NpdGlvbi10b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIENvcm5lcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tdG9wLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tbGVmdCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuLypcbiAqIENlbnRlclxuICogMS4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lciAoTm90IHdvcmtpbmcgaW4gRmlyZWZveClcbiAqIDIuIEZpeCB0ZXh0IHdyYXBwaW5nIGZvciBGaXJlZm94XG4gKi9cblxuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlXG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQsXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCB7IGxlZnQ6IDA7IH1cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQgeyByaWdodDogMDsgfVxuXG4vKiBIb3Jpem9udGFsICovXG4udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIgeyB0b3A6IDA7IH1cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XG5cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7IHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxuXG5cblxuLyogTWFyZ2luIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXBvc2l0aW9uLXNtYWxsIHsgbWFyZ2luOiAkcG9zaXRpb24tc21hbGwtbWFyZ2luOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luLCAoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4sICgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbikpO1xufVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyLWxlZnQsXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7XG59XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTtcbn1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi51ay1wb3NpdGlvbi1tZWRpdW0geyBtYXJnaW46ICRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4sICgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luLCAoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKSk7XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyLWxlZnQsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7XG59XG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBvc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wb3NpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUcmFuc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdHJhbnNpdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10cmFuc2l0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdHJhbnNpdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLW9wYXF1ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zcyAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2NhbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgIDAuN3MgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRyYW5zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVXNpbmcgbXVsdGlwbGUgc2VsZWN0b3JzIHRvIGV4Y2x1ZGUgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYFxuICogTm90ZTogVHJhbnNpdGlvbnMgZG9uJ3Qgd29yayB3aXRoIGB1ay1wb3N0aW9uLWNlbnRlci0qYCBjbGFzc2VzIGJlY2F1c2UgdGhleSBhbHNvIHVzZSBgdHJhbnNmb3JtYFxuICogICAgICAgSnVzdCBwdXQgdGhlIHRyYW5zaXRpb24gaW4gYW4gZXh0cmEgYGRpdmBcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG59XG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tZmFkZSB7IG9wYWNpdHk6IDA7IH1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tZmFkZSddIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqIE5vdGU6IFVzaW5nIGBzY2FsZTNkYCBmb3IgYmV0dGVyIGltYWdlIHJlbmRlcmluZ1xuICovXG5cbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSB7IG9wYWNpdHk6IDA7IH1cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGUudWstaG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUsMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlLDEpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSwxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUsMSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlLnVrLWhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7IG9wYWNpdHk6IDA7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZS51ay1ob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbn1cblxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1vcGFxdWUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1zbG93IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRyYW5zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXRyYW5zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBWaXNpYmlsaXR5XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBzaG93IG9yIGhpZGUgY29udGVudCBvbiBicmVha3BvaW50cywgaG92ZXIgb3IgdG91Y2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oaWRkZW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXZpc2libGUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXZpc2libGUtdG9nZ2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGlkZGVuLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlLXRvdWNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW52aXNpYmxlLW5vdG91Y2hgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZGVuXG4gKiBgaGlkZGVuYCBhdHRyaWJ1dGUgYWxzbyBzZXQgaGVyZSB0byBtYWtlIGl0IHN0cm9uZ2VyXG4gKi9cblxuW2hpZGRlbl0sXG4udWstaGlkZGVuIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1oaWRkZW5cXEBzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGlkZGVuXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstaGlkZGVuXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstaGlkZGVuXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmlzaWJsZVxuICovXG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogVmlzaWJpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIEhvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSGlkZGVuICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KC51ay1ob3ZlcikgLnVrLWhpZGRlbi1ob3ZlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBJbnZpc2libGUgKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoLnVrLWhvdmVyKSAudWstaW52aXNpYmxlLWhvdmVyIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBUb3VjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGhhcyBsaW1pdGVkIGFjY3VyYWN5LCBlLmcuIGEgdG91Y2ggc2NyZWVuLlxuICogV29ya3Mgb24gbW9iaWxlIGJyb3dzZXJzOiBTYWZhcmksIENocm9tZSBhbmQgQW5kcm9pZCBicm93c2VyXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGlzIGFjY3VyYXRlLCBlLmcuIG1vdXNlLlxuICogMS4gRmFsbGJhY2sgZm9yIElFMTEgYW5kIEZpcmVmb3gsIGJlY2F1c2UgYHBvaW50ZXJgIGlzIG5vdCBzdXBwb3J0ZWRcbiAqIDIuIFJlc2V0IGlmIHN1cHBvcnRlZFxuICovXG5cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay12aXNpYmlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay12aXNpYmlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSW52ZXJzZVxuLy8gRGVzY3JpcHRpb246ICAgICBJbnZlcnNlIGNvbXBvbmVudCBzdHlsZSBmb3IgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGFya2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBsaWdodCkgeyAudWstbGlnaHQgeyBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBkYXJrKSB7IC51ay1kYXJrIHsgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJpbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgT3B0aW1pemUgcGFnZSBmb3IgcHJpbnRpbmdcbi8vXG4vLyBBZGFwdGVkIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZVxuLy9cbi8vIE1vZGlmaWNhdGlvbnM6ICAgUmVtb3ZlZCBsaW5rIGBocmVmYCBhbmQgYHRpdGxlYCByZWxhdGVkIHJ1bGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByaW50KSkge0BpbmNsdWRlIGhvb2stcHJpbnQoKTt9XG5cbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wcmludCgpe31cbiIsIi51ay1oZWFkaW5nLXByaW1hcnl7XHJcbiAgZm9udC1mYW1pbHk6IExvcmE7XHJcbn1cclxuIiwiLnRtLWhlYWRlcmJhci10b3B7XHJcbiAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgYmFja2dyb3VuZDogI0ZGRjtcclxufVxyXG4iLCIuaGVhZGVyLWNvdmVyIGgxe1xyXG4gIGZvbnQtZmFtaWx5OiAnSnVzdCBBbm90aGVyIEhhbmQnLCBjdXJzaXZlO1xyXG4gIGZvbnQtc2l6ZTogNWVtO1xyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxDQUFDLGtFQUFJO0FBQ1osT0FBTyxDQUFDLDJEQUFJO0FBQ1osT0FBTyxDQUFDLGdFQUFJO0F1RTJFWjs7OEVBRThFO0FBRTlFOzs7OztHQUtHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDRCxPQUFPO0VBQ1AsV0FBVyxFckVwQk0sYUFBYSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXFFcUIzRyxTQUFTLEVyRWxCTSxJQUFJO0VxRW1CbkIsV0FBVyxFckVwQlMsTUFBTTtFcUVxQjFCLFdBQVcsRXJFbEJNLEdBQUc7RXFFbUJwQixPQUFPO0VBQ1Asd0JBQXdCLEVBQUUsSUFBSTtFQUM5QixvQkFBb0IsRUFBRSxJQUFJO0VBQzFCLE9BQU87RUFDUCxVQUFVLEVyRW5DTSxJQUFJO0VxRW9DcEIsS0FBSyxFckV6Rk0sSUFBSTtDcUUyRmxCOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFBRSxNQUFNLEVBQUUsQ0FBQztDQUFLOztBQUdyQjs4RUFDOEU7QUFFOUU7OztHQUdHO0FBRUgsQUFBQSxDQUFDLENBQUM7RUFDRSxPQUFPO0VBQ1AsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixPQUFPO0VBQ1AsNEJBQTRCLEVBQUUsT0FBTztDQUN4Qzs7QUFFRDs7R0FFRztBQUVILEFBQUEsQ0FBQyxBQUFBLE9BQU87QUFDUixBQUFBLENBQUMsQUFBQSxNQUFNLENBQUM7RUFBRSxPQUFPLEVBQUUsSUFBSTtDQUFLOztBQUU1Qjs7R0FFRztBQUVILEFBQUEsQ0FBQztBQUNELEFBQUEsUUFBUSxDQUFDO0VB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LEduRmlnQnJFLFNBQVMsRTJGdHVCa0MsQTNGc3VCM0MsbUIyRnR1QjhELEMzRnN1QjlELFNBQVMsRTZHMXJCZ0MsQTdHMHJCekMsaUI2RzFyQjBELEM3RzByQjFELFNBQVM7QW9JeHdCK0IsQXBJeXdCeEMsU29JendCaUQsQ3BJeXdCakQsVUFBVSxFK0V2bkJpQyxBL0V1bkIzQyxtQitFdm5COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRS9FdW5CckYsVUFBVSxFK0UxbUJtQyxBL0UwbUI3QyxxQitFMW1Ca0UsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRS9FMG1CekYsVUFBVSxFa0YxbUI4QixBbEYwbUJ4QyxnQmtGMW1Cd0QsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWxGMG1CL0UsVUFBVSxFa0Y3bEJnQyxBbEY2bEIxQyxrQmtGN2xCNEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRWxGNmxCbkYsVUFBVSxFbUY3aEI4QixBbkY2aEJ4QyxnQm1GN2hCd0QsQUFBQSxhQUFhLENuRjZoQnJFLFVBQVUsRW1GNWhCOEIsQW5GNGhCeEMsZ0JtRjVoQndELEdBQUcsSUFBSyxFQUFBLEFBQUEsQUFBQSxLQUFDLEVBQU8sZUFBZSxBQUF0QixHbkY0aEJqRSxVQUFVLEVtRm5nQmdDLEFuRm1nQjFDLGtCbUZuZ0I0RCxBQUFBLGFBQWEsQ25GbWdCekUsVUFBVSxFbUZsZ0JnQyxBbkZrZ0IxQyxrQm1GbGdCNEQsR0FBRyxJQUFLLEVBQUEsQUFBQSxBQUFBLEtBQUMsRUFBTyxlQUFlLEFBQXRCLEduRmtnQnJFLFVBQVUsRTJGdnVCaUMsQTNGdXVCM0MsbUIyRnZ1QjhELEMzRnV1QjlELFVBQVUsRTZHM3JCK0IsQTdHMnJCekMsaUI2RzNyQjBELEM3RzJyQjFELFVBQVU7QW9JendCOEIsQXBJMHdCeEMsU29JMXdCaUQsQ3BJMHdCakQsWUFBWSxFK0V4bkIrQixBL0V3bkIzQyxtQitFeG5COEQsQUFBQSxJQUFLLENBQUEsQUFBQSxrQkFBa0IsRS9Fd25CckYsWUFBWSxFK0UzbUJpQyxB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 */